def __init__(self, explain_connect_string, forseti_connect_string): engine = create_engine(explain_connect_string, echo=False) self.model_manager = ModelManager(engine) self.forseti_connect_string = forseti_connect_string
def __init__(self): engine = create_test_engine() self.model_manager = ModelManager(engine)
class ModelManagerTest(ForsetiTestCase): """Test for dao.ModelManager create/delete/list.""" def setUp(self): self.engine, self.dbfile = create_test_engine() self.model_manager = ModelManager(self.engine) def tearDown(self): os.unlink(self.dbfile) def test_create_get_delete_one_model(self): """Start with no models, create one, delete it again.""" self.assertEquals(0, len(self.model_manager.models()), 'Expecting no models to exist') handle = self.model_manager.create(name='test_model') self.assertEqual([handle], [m.handle for m in self.model_manager.models()], 'Expecting the created model to be listed') self.model_manager.delete(handle) self.assertEqual(0, len(self.model_manager.models()), 'Expecting no models to exist after deletion') def test_create_get_delete_multiple_models(self): """Start with no models, create multiple, delete them again.""" self.assertEqual(0, len(self.model_manager.models()), 'Expecting no models to exist') handles = [] num_models = 32 for i in range(num_models): handles.append(self.model_manager.create(name=str(i))) self.assertEqual(set(handles), set([m.handle for m in self.model_manager.models()]), 'Expecting the created models to be listed') self.assertEqual(len(handles), num_models) for i in range(num_models): self.model_manager.delete(handles[i]) self.assertEqual(0, len(self.model_manager.models()), 'Expecting no models to exist after deletion') def test_concurrent_access(self): """ Start with no models, create multiple, delete them again, concurrent. """ return num_threads = 16 thread_pool = ThreadPool(num_threads) def test_func(): """Create, get, delete models.""" for _ in range(32): model = self.model_manager.create() self.assertTrue(model in self.model_manager.models()) self.model_manager.delete(model) self.assertTrue(model not in self.model_manager.models()) return True for _ in range(num_threads): thread_pool.add_func(test_func) thread_pool.join() self.assertTrue( len(self.model_manager.models()) == 0, 'Expecting no models to stick around')
def setUp(self): self.engine, self.dbfile = create_test_engine() self.model_manager = ModelManager(self.engine)
def __init__(self, explain_connect_string, forseti_connect_string): self.thread_pool = ThreadPool() engine = create_engine(explain_connect_string) self.model_manager = ModelManager(engine) self.forseti_connect_string = forseti_connect_string