def test_spam_fields(self): class FieldTestModel(Model): test_charfield = CharField() test_datefield = DateTimeField() test_integerfield = IntegerField() sdb = Spamdb(FieldTestModel) @sdb.strict_handler(FieldTestModel.test_charfield) def spam_testcharfield(model, field_type, field_name): return "test" @sdb.strict_handler(FieldTestModel.test_datefield) def spam_testdatefield(model, field_type, field_name): return datetime.date.today() @sdb.strict_handler(FieldTestModel.test_integerfield) def spam_testintegerfield(model, field_type, field_name): return 1 spammed_attr = sdb.spam_fields(FieldTestModel) self.assertEquals(spammed_attr['test_charfield'], "test") self.assertEquals(spammed_attr['test_datefield'], datetime.date.today()) self.assertEquals(spammed_attr['test_integerfield'], 1)
def test_one_model_iterations(self): """ Expect the models to be spammed as many times as is set in the iterations parameter of run method """ sdb = Spamdb(User, User, Blog) sdb.run(iterations=3) self.assertEquals(User.select().count(), 6) self.assertEquals(Blog.select().count(), 3)
def test_save_spammed_model(self): """ Expect an instance id if the save param is set to True when spamming a model """ sdb = Spamdb() user1 = sdb.spam_model(User, save=True) self.assertEquals(user1.id, 1) user2 = sdb.spam_model(User, save=False) self.assertEquals(user2.id, None)
def test_add_model(self): """ A Spamdb instance should contain the models passed as params, and in the order they where added TestCase = DateTimeField() """ sdb = Spamdb(User, Blog) sdb.append(Comment) self.assertEquals(sdb[0], User) self.assertEquals(sdb[1], Blog) self.assertEquals(sdb[2], Comment)
def test_get_global_handler(self): """ The Spamdb.get_handler method should return a globally registered spam function """ sdb = Spamdb() @sdb.global_handler(CharField) def empty_function(): pass handler = sdb.get_handler(User, User.username.__class__, 'username') self.assertEquals(handler, empty_function)
def test_get_strict_handler(self): """ The Spamdb.get_handler method should return a strictly registered spam function """ sdb = Spamdb() @sdb.global_handler(CharField) def empty_global_function(): pass @sdb.strict_handler(User.username) def empty_strict_function(): pass sdb2 = Spamdb() @sdb2.strict_handler(User.username) def empty_strict_function2(): pass sdb3 = Spamdb() handler = sdb.get_handler(User, User.username.__class__, 'username') handler2 = sdb2.get_handler(User, User.username.__class__, 'username') handler3 = sdb3.get_handler(User, User.username.__class__, 'username') self.assertEquals(handler, empty_strict_function) self.assertTrue(handler is not empty_global_function) self.assertEquals(handler2, empty_strict_function2) self.assertEquals(handler3, spam_charfield)