コード例 #1
0
 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
コード例 #2
0
 def __init__(self):
     engine = create_test_engine()
     self.model_manager = ModelManager(engine)
コード例 #3
0
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')
コード例 #4
0
 def setUp(self):
     self.engine, self.dbfile = create_test_engine()
     self.model_manager = ModelManager(self.engine)
コード例 #5
0
ファイル: server.py プロジェクト: gbrindisi/forseti-security
    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