def test_two_models(self): class MyModel2(Model): class Meta: storage = FooStorage pk1 = fields.IntField(primary_key=True) # MyModel.Meta.storage = JSONStorage # MyModel2.Meta.storage = FooStorage db = Database(models=[MyModel, MyModel2]) self.assertEqual( JSONStorage, db.get_storage(MyModel).__class__ ) self.assertEqual( FooStorage, db.get_storage(MyModel2).__class__ )
def test_5(self): "test overriding storage" class MyModel( Model ): class Meta: storage = FooStorage int_type = fields.IntField(primary_key=True) str_type = fields.StringField() date_type = fields.DateTimeField() model = MyModel db = Database( models=[model], storage=JSONStorage, root_dir=curr_dir) self.assertEqual( db.get_storage(model), db.get_storage('MyModel') ) self.assertEqual( FooStorage, db.get_storage(model).__class__ ) self.assertTrue( inspect.isclass(FooStorage) ) self.assertTrue( db.get_storage(model) ) db.set_storage(MyModel, FooStorage) self.assertEqual( FooStorage, db.get_storage(model).__class__ ) db.set_storage('MyModel', FooStorage) self.assertEqual( FooStorage, db.get_storage(model).__class__ )
def test_bad_load(self): db = Database(models=[MyModel]) self.assertIsNone( db.get_storage(self.__class__) )