Mercurial > p > roundup > code
comparison test/test_hyperdbvals.py @ 3668:a15c15510e99
hyperdb handling of empty raw values for Multilink and Password [SF#1507814]
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Fri, 11 Aug 2006 04:50:24 +0000 |
| parents | dc43e339e607 |
| children | 11e31e50c826 |
comparison
equal
deleted
inserted
replaced
| 3667:35811df7c783 | 3668:a15c15510e99 |
|---|---|
| 6 # | 6 # |
| 7 # This module is distributed in the hope that it will be useful, | 7 # This module is distributed in the hope that it will be useful, |
| 8 # but WITHOUT ANY WARRANTY; without even the implied warranty of | 8 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 9 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 9 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
| 10 # | 10 # |
| 11 # $Id: test_hyperdbvals.py,v 1.1 2003-11-11 00:35:14 richard Exp $ | 11 # $Id: test_hyperdbvals.py,v 1.2 2006-08-11 04:50:24 richard Exp $ |
| 12 | 12 |
| 13 import unittest, os, shutil, errno, sys, difflib, cgi, re, sha | 13 import unittest, os, shutil, errno, sys, difflib, cgi, re, sha |
| 14 | 14 |
| 15 from roundup import init, instance, password, hyperdb, date | 15 from roundup import init, instance, password, hyperdb, date |
| 16 | 16 |
| 57 class RawToHyperdbTest(unittest.TestCase): | 57 class RawToHyperdbTest(unittest.TestCase): |
| 58 def _test(self, propname, value, itemid=None): | 58 def _test(self, propname, value, itemid=None): |
| 59 return hyperdb.rawToHyperdb(TestDatabase(), TestClass(), itemid, | 59 return hyperdb.rawToHyperdb(TestDatabase(), TestClass(), itemid, |
| 60 propname, value) | 60 propname, value) |
| 61 def testString(self): | 61 def testString(self): |
| 62 self.assertEqual(self._test('password', ''), None) | |
| 62 self.assertEqual(self._test('string', ' a string '), 'a string') | 63 self.assertEqual(self._test('string', ' a string '), 'a string') |
| 63 def testNumber(self): | 64 def testNumber(self): |
| 65 self.assertEqual(self._test('password', ''), None) | |
| 64 self.assertEqual(self._test('number', ' 10 '), 10) | 66 self.assertEqual(self._test('number', ' 10 '), 10) |
| 65 self.assertEqual(self._test('number', ' 1.5 '), 1.5) | 67 self.assertEqual(self._test('number', ' 1.5 '), 1.5) |
| 66 def testBoolean(self): | 68 def testBoolean(self): |
| 69 self.assertEqual(self._test('password', ''), None) | |
| 67 for true in 'yes true on 1'.split(): | 70 for true in 'yes true on 1'.split(): |
| 68 self.assertEqual(self._test('boolean', ' %s '%true), 1) | 71 self.assertEqual(self._test('boolean', ' %s '%true), 1) |
| 69 for false in 'no false off 0'.split(): | 72 for false in 'no false off 0'.split(): |
| 70 self.assertEqual(self._test('boolean', ' %s '%false), 0) | 73 self.assertEqual(self._test('boolean', ' %s '%false), 0) |
| 71 def testPassword(self): | 74 def testPassword(self): |
| 75 self.assertEqual(self._test('password', ''), None) | |
| 72 self.assertEqual(self._test('password', ' a string '), 'a string') | 76 self.assertEqual(self._test('password', ' a string '), 'a string') |
| 73 val = self._test('password', ' a string ') | 77 val = self._test('password', ' a string ') |
| 74 self.assert_(isinstance(val, password.Password)) | 78 self.assert_(isinstance(val, password.Password)) |
| 75 val = self._test('password', '{plaintext}a string') | 79 val = self._test('password', '{plaintext}a string') |
| 76 self.assert_(isinstance(val, password.Password)) | 80 self.assert_(isinstance(val, password.Password)) |
| 81 self.assert_(isinstance(val, password.Password)) | 85 self.assert_(isinstance(val, password.Password)) |
| 82 self.assertEqual(val, 'a string') | 86 self.assertEqual(val, 'a string') |
| 83 self.assertRaises(hyperdb.HyperdbValueError, self._test, | 87 self.assertRaises(hyperdb.HyperdbValueError, self._test, |
| 84 'password', '{fubar}a string') | 88 'password', '{fubar}a string') |
| 85 def testDate(self): | 89 def testDate(self): |
| 90 self.assertEqual(self._test('password', ''), None) | |
| 86 val = self._test('date', ' 2003-01-01 ') | 91 val = self._test('date', ' 2003-01-01 ') |
| 87 self.assert_(isinstance(val, date.Date)) | 92 self.assert_(isinstance(val, date.Date)) |
| 88 val = self._test('date', ' 2003/01/01 ') | 93 val = self._test('date', ' 2003/01/01 ') |
| 89 self.assert_(isinstance(val, date.Date)) | 94 self.assert_(isinstance(val, date.Date)) |
| 90 val = self._test('date', ' 2003/1/1 ') | 95 val = self._test('date', ' 2003/1/1 ') |
| 92 val = self._test('date', ' 2003-1-1 ') | 97 val = self._test('date', ' 2003-1-1 ') |
| 93 self.assert_(isinstance(val, date.Date)) | 98 self.assert_(isinstance(val, date.Date)) |
| 94 self.assertRaises(hyperdb.HyperdbValueError, self._test, 'date', | 99 self.assertRaises(hyperdb.HyperdbValueError, self._test, 'date', |
| 95 'fubar') | 100 'fubar') |
| 96 def testInterval(self): | 101 def testInterval(self): |
| 102 self.assertEqual(self._test('password', ''), None) | |
| 97 val = self._test('interval', ' +1d ') | 103 val = self._test('interval', ' +1d ') |
| 98 self.assert_(isinstance(val, date.Interval)) | 104 self.assert_(isinstance(val, date.Interval)) |
| 99 self.assertRaises(hyperdb.HyperdbValueError, self._test, 'interval', | 105 self.assertRaises(hyperdb.HyperdbValueError, self._test, 'interval', |
| 100 'fubar') | 106 'fubar') |
| 101 def testLink(self): | 107 def testLink(self): |
| 108 self.assertEqual(self._test('password', ''), None) | |
| 102 self.assertEqual(self._test('link', '1'), '1') | 109 self.assertEqual(self._test('link', '1'), '1') |
| 103 self.assertEqual(self._test('link', 'valid'), '1') | 110 self.assertEqual(self._test('link', 'valid'), '1') |
| 104 self.assertRaises(hyperdb.HyperdbValueError, self._test, 'link', | 111 self.assertRaises(hyperdb.HyperdbValueError, self._test, 'link', |
| 105 'invalid') | 112 'invalid') |
| 106 def testMultilink(self): | 113 def testMultilink(self): |
| 114 self.assertEqual(self._test('password', ''), []) | |
| 107 self.assertEqual(self._test('multilink', '', '1'), []) | 115 self.assertEqual(self._test('multilink', '', '1'), []) |
| 108 self.assertEqual(self._test('multilink', '1', '1'), ['1']) | 116 self.assertEqual(self._test('multilink', '1', '1'), ['1']) |
| 109 self.assertEqual(self._test('multilink', 'valid', '1'), ['1']) | 117 self.assertEqual(self._test('multilink', 'valid', '1'), ['1']) |
| 110 self.assertRaises(hyperdb.HyperdbValueError, self._test, 'multilink', | 118 self.assertRaises(hyperdb.HyperdbValueError, self._test, 'multilink', |
| 111 'invalid', '1') | 119 'invalid', '1') |
