SF.net SVN: fclient: [494] trunk/fcp2/src/fcp2/test_fcp/test_key.py
Status: Pre-Alpha
Brought to you by:
jurner
|
From: <jU...@us...> - 2008-07-05 10:45:20
|
Revision: 494
http://fclient.svn.sourceforge.net/fclient/?rev=494&view=rev
Author: jUrner
Date: 2008-07-05 03:45:22 -0700 (Sat, 05 Jul 2008)
Log Message:
-----------
added many unittests
Modified Paths:
--------------
trunk/fcp2/src/fcp2/test_fcp/test_key.py
Modified: trunk/fcp2/src/fcp2/test_fcp/test_key.py
===================================================================
--- trunk/fcp2/src/fcp2/test_fcp/test_key.py 2008-07-05 10:44:51 UTC (rev 493)
+++ trunk/fcp2/src/fcp2/test_fcp/test_key.py 2008-07-05 10:45:22 UTC (rev 494)
@@ -22,97 +22,256 @@
#
#****************************************************************************************
# for testing some valid key data
-DummyKeyData = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,AAAAAAA'
+DummyKeyData = 'abc,abc,AAA'
#****************************************************************************************
#
#****************************************************************************************
+class Test_normkey(unittest.TestCase):
+
+ def test_01_addSlash(self):
+ p = 'CHK@foo'
+ self.assertEqual(fcp2.keyNormkey(p), 'CHK@foo/')
+
+ def test_02_stripHost(self):
+ p = 'freenet:CHK@foo'
+ self.assertEqual(fcp2.keyNormkey(p), 'CHK@foo/')
+
+ p = 'http:///CHK@foo'
+ self.assertEqual(fcp2.keyNormkey(p), 'CHK@foo/')
+
+ def test_stripSlashes(self):
+ p = 'http://////CHK@foo///////'
+ self.assertEqual(fcp2.keyNormkey(p), 'CHK@foo/')
+
+
+
class Test_CHK(unittest.TestCase):
def test_fromString(self):
- p = 'CHK@' + DummyKeyData + '/'
+ p = 'CHK@'
myKey = fcp2.KeyCHK.fromString(p)
+ self.failUnless(myKey is None)
+
+ p = 'CHK@' + DummyKeyData
+ myKey = fcp2.KeyCHK.fromString(p)
self.assertEqual(myKey.keyData, DummyKeyData)
- self.failUnless(myKey.docName is None)
+ self.assertEqual(myKey.docName, None)
+ self.assertEqual(myKey.tail, None)
self.assertEqual(myKey.toString(), p)
- p = 'CHK@' + DummyKeyData + '/foo/'
+ p = 'CHK@' + DummyKeyData + '/foo'
myKey = fcp2.KeyCHK.fromString(p)
self.assertEqual(myKey.keyData, DummyKeyData)
self.assertEqual(myKey.docName, 'foo')
+ self.assertEqual(myKey.tail, None)
self.assertEqual(myKey.toString(), p)
-
- p = 'CHK@'
+
+ p = 'CHK@' + DummyKeyData + '/foo/bar/baz'
myKey = fcp2.KeyCHK.fromString(p)
- self.failUnless(myKey is None)
+ self.assertEqual(myKey.keyData, DummyKeyData)
+ self.assertEqual(myKey.docName, 'foo')
+ self.assertEqual(myKey.tail, 'bar/baz')
+ self.assertEqual(myKey.toString(), p)
+
+ def test_quote(self):
+ p = 'CHK@' + DummyKeyData + '/foo '
+ myKey = fcp2.KeyCHK.fromString(p)
+ myKey = myKey.toString()
+ self.assertEqual(myKey, 'CHK@' + DummyKeyData + '/foo%20')
+
+
- def test_toString(self):
- pass
-
class Test_SSK(unittest.TestCase):
def test_fromString(self):
- p = 'SSK@' + DummyKeyData + '/foo-1/'
+ p = 'SSK@'
myKey = fcp2.KeySSK.fromString(p)
+ self.failUnless(myKey is None)
+
+ p = 'SSK@' + DummyKeyData
+ myKey = fcp2.KeySSK.fromString(p)
self.assertEqual(myKey.keyData, DummyKeyData)
+ self.assertEqual(myKey.docName, None)
+ self.assertEqual(myKey.edition, None)
+ self.assertEqual(myKey.tail, None)
+ self.assertEqual(myKey.toString(), p)
+
+ p = 'SSK@' + DummyKeyData + '/foo-1'
+ myKey = fcp2.KeySSK.fromString(p)
+ self.assertEqual(myKey.keyData, DummyKeyData)
self.assertEqual(myKey.docName, 'foo')
self.assertEqual(myKey.edition, 1)
+ self.assertEqual(myKey.tail, None)
self.assertEqual(myKey.toString(), p)
-
- p = 'SSK@' + DummyKeyData + '/'
+ p = 'SSK@' + DummyKeyData + '/foo-1/bar/baz'
myKey = fcp2.KeySSK.fromString(p)
self.assertEqual(myKey.keyData, DummyKeyData)
- self.assertEqual(myKey.docName, None)
- self.assertEqual(myKey.edition, None)
+ self.assertEqual(myKey.docName, 'foo')
+ self.assertEqual(myKey.edition, 1)
+ self.assertEqual(myKey.tail, 'bar/baz')
self.assertEqual(myKey.toString(), p)
+
+ def test_quote(self):
+ p = 'SSK@' + DummyKeyData + '/foo -1'
+ myKey = fcp2.KeySSK.fromString(p)
+ myKey = myKey.toString()
+ self.assertEqual(myKey, 'SSK@' + DummyKeyData + '/foo%20-1')
- def test_toString(self):
- pass
+class Test_KSK(unittest.TestCase):
+
+ def test_fromString(self):
+
+ p = 'KSK@'
+ myKey = fcp2.KeyKSK.fromString(p)
+ self.failUnless(myKey is None)
+
+ p = 'KSK@' + 'anydatahere'
+ myKey = fcp2.KeyKSK.fromString(p)
+ self.assertEqual(myKey.docName, 'anydatahere')
+ self.assertEqual(myKey.toString(), p)
+
+ # KSKs may not contain slashes
+ p = 'KSK@' + 'any/data/here'
+ myKey = fcp2.KeyKSK.fromString(p)
+ self.failUnless(myKey is None)
+
+ def test_quote(self):
+ p = 'KSK@' + 'foo '
+ myKey = fcp2.KeyKSK.fromString(p)
+ myKey = myKey.toString()
+ self.assertEqual(myKey, 'KSK@' + 'foo%20')
+
+
class Test_USK(unittest.TestCase):
def test_fromString(self):
- p = 'USK@' + DummyKeyData + '/foo/0/'
+ p = 'USK@'
myKey = fcp2.KeyUSK.fromString(p)
+ self.failUnless(myKey is None)
+
+ p = 'USK@' + DummyKeyData
+ myKey = fcp2.KeyUSK.fromString(p)
self.assertEqual(myKey.keyData, DummyKeyData)
+ self.assertEqual(myKey.docName, None)
+ self.assertEqual(myKey.edition, None)
+ self.assertEqual(myKey.tail, None)
+ self.assertEqual(myKey.toString(), p)
+
+ p = 'USK@' + DummyKeyData + '/foo/1'
+ myKey = fcp2.KeyUSK.fromString(p)
+ self.assertEqual(myKey.keyData, DummyKeyData)
self.assertEqual(myKey.docName, 'foo')
- self.assertEqual(myKey.edition, 0)
+ self.assertEqual(myKey.edition, 1)
+ self.assertEqual(myKey.tail, None)
self.assertEqual(myKey.toString(), p)
-
- p = 'USK@' + DummyKeyData + '/foo/-2/'
+ p = 'USK@' + DummyKeyData + '/foo/1/bar/baz'
myKey = fcp2.KeyUSK.fromString(p)
self.assertEqual(myKey.keyData, DummyKeyData)
self.assertEqual(myKey.docName, 'foo')
- self.assertEqual(myKey.edition, -2)
+ self.assertEqual(myKey.edition, 1)
+ self.assertEqual(myKey.tail, 'bar/baz')
self.assertEqual(myKey.toString(), p)
+
+ def test_edition(self):
- p = 'USK@'
+ p = 'USK@' + DummyKeyData + '/foo/1'
myKey = fcp2.KeyUSK.fromString(p)
- self.failUnless(myKey is None)
+ self.assertEqual(myKey.keyData, DummyKeyData)
+ self.assertEqual(myKey.docName, 'foo')
+ self.assertEqual(myKey.edition, 1)
+ self.assertEqual(myKey.tail, None)
+ self.assertEqual(myKey.toString(), p)
+ p = 'USK@' + DummyKeyData + '/foo/-1'
+ myKey = fcp2.KeyUSK.fromString(p)
+ self.assertEqual(myKey.keyData, DummyKeyData)
+ self.assertEqual(myKey.docName, 'foo')
+ self.assertEqual(myKey.edition, -1)
+ self.assertEqual(myKey.tail, None)
+ self.assertEqual(myKey.toString(), p)
+
+ p = 'USK@' + DummyKeyData + '/foo/-100'
+ myKey = fcp2.KeyUSK.fromString(p)
+ self.assertEqual(myKey.keyData, DummyKeyData)
+ self.assertEqual(myKey.docName, 'foo')
+ self.assertEqual(myKey.edition, -100)
+ self.assertEqual(myKey.tail, None)
+ self.assertEqual(myKey.toString(), p)
- def test_toString(self):
- pass
+ def test_quote(self):
+ p = 'USK@' + DummyKeyData + '/foo /1'
+ myKey = fcp2.KeyUSK.fromString(p)
+ myKey = myKey.toString()
+ self.assertEqual(myKey, 'USK@' + DummyKeyData + '/foo%20/1')
+
+
+
+
+class Test_TypeKey(unittest.TestCase):
+
+ def test_fcpToPython(self):
+
+ p = 'invalidkey'
+ self.assertRaises(ValueError, fcp2.TypeKey.fcpToPython, p)
+
+ p = 'CHK@' + DummyKeyData
+ myKey = fcp2.TypeKey.fcpToPython(p)
+ self.assertEqual(myKey.KeyType, fcp2.ConstKeyType.CHK)
+
+ p = 'SSK@' + DummyKeyData
+ myKey = fcp2.TypeKey.fcpToPython(p)
+ self.assertEqual(myKey.KeyType, fcp2.ConstKeyType.SSK)
+
+ p = 'USK@' + DummyKeyData
+ myKey = fcp2.TypeKey.fcpToPython(p)
+ self.assertEqual(myKey.KeyType, fcp2.ConstKeyType.USK)
+
+ p = 'KSK@' + DummyKeyData
+ myKey = fcp2.TypeKey.fcpToPython(p)
+ self.assertEqual(myKey.KeyType, fcp2.ConstKeyType.KSK)
+
+ # only a shallow test here to see if the call succeeds
+ def test_pythonToFcp(self):
+
+ myKey = fcp2.KeyCHK()
+ self.assertEqual(fcp2.TypeKey.pythonToFcp(myKey), 'CHK@')
+
+
+
+class Test_Key(unittest.TestCase):
+
+ # only a shallow test here to see if the call succeeds
+ def test(self):
+ myKey = fcp2.Key('KSK@foo')
+ self.assertEqual(myKey.KeyType, fcp2.ConstKeyType.KSK)
+
+
#*********************************************************************************
#
#*********************************************************************************
def suite():
tests = (
+ Test_normkey,
Test_CHK,
Test_SSK,
+ Test_KSK,
Test_USK,
+ Test_TypeKey,
+ Test_Key,
)
suite = unittest.TestSuite()
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|