X-Git-Url: https://git.decadent.org.uk/gitweb/?p=dak.git;a=blobdiff_plain;f=tests%2Fdbtest_validation.py;h=8592124e7cc2a454d7182aa0419907b3c3a1bd4d;hp=597097c959a45db00b187772def698b52e87737a;hb=7c5adcf962fe99d6a42307595f263f47d0112fbc;hpb=4d6475bf1f97a1934b20157465932404f118d47e diff --git a/tests/dbtest_validation.py b/tests/dbtest_validation.py index 597097c9..8592124e 100755 --- a/tests/dbtest_validation.py +++ b/tests/dbtest_validation.py @@ -12,26 +12,22 @@ class ValidatorTestCase(DBDakTestCase): The ValidatorTestCase tests the validation mechanism. """ - def must_fail(self): - '''' - This function must fail with DBUpdateError because arch_string is not - set. It rolls back the transaction before re-raising the exception. - ''' - try: - architecture = Architecture() - self.session.add(architecture) - self.session.flush() - except: - self.session.rollback() - raise - def test_validation(self): 'tests validate()' - self.assertRaises(DBUpdateError, self.must_fail) + + # before_insert validation should fail + architecture = Architecture() + self.session.add(architecture) + self.assertRaises(DBUpdateError, self.session.flush) + self.session.rollback() # should not fail architecture = Architecture('i386') self.session.add(architecture) self.session.flush() + # before_update validation should fail + architecture.arch_string = None + self.assertRaises(DBUpdateError, self.session.flush) + self.session.rollback() if __name__ == '__main__': unittest.main()