Exemple #1
0
def init_db(ec):
    print("initializing db")
    if "sqlite://" in ec.db_uri:
        directory = os.path.dirname(ec.db_path)
        if not os.path.exists(directory):
            os.makedirs(directory)

    smart = smartdb.SmartDatabaseClient(ec.db_uri)
    tries = 60
    for i in range(tries):
        try:
            smart.create_base()

            @smartdb.cockroach_transaction
            def op(caller=init_db.__name__):
                with smart.new_session() as session:
                    ops.health_check_purge(session)

            op(caller=init_db.__name__)
            return
        except ConnectionError as e:
            print("%d/%d %s" % (i + 1, tries, e))
            time.sleep(1)

    raise ConnectionError(ec.db_uri)
Exemple #2
0
 def test_03(self):
     ss = smartdb.SmartDatabaseClient("sqlite:///%s/dbs/smart.sqlite" %
                                      (self.unit_path))
     self.assertEqual(smartdb._SingleEndpoint, type(ss))
     self.assertEqual(1, len(ss.engines))
     ss.create_base()
     ss.connected_cockroach_session()
Exemple #3
0
 def test_05(self):
     ss = smartdb.SmartDatabaseClient(
         "cockroachdb://[email protected]:16257,cockroachdb://[email protected]:16257"
     )
     self.assertEqual(smartdb._MultipleEndpoints, type(ss))
     self.assertEqual(2, len(ss.engines))
     with self.assertRaises(ConnectionError):
         with ss.new_session() as session:
             pass
Exemple #4
0
 def test_04(self):
     ss = smartdb.SmartDatabaseClient("cockroachdb://[email protected]:16257")
     self.assertEqual(smartdb._SingleEndpoint, type(ss))
     self.assertEqual(1, len(ss.engines))
     with self.assertRaises(ConnectionError):
         with ss.connected_cockroach_session() as session:
             pass
     with ss.new_session() as session:
         pass
Exemple #5
0
 def setUpClass(cls):
     uris = [
         "cockroachdb://root@localhost:26257",
         "cockroachdb://root@localhost:26258",
         "cockroachdb://root@localhost:26259"
     ]
     db_uri = ",".join(uris)
     cls.smart = smartdb.SmartDatabaseClient(db_uri)
     cls.repositories = RepositoriesRegister(cls.smart)
     cls.set_up_class_checks(cls.smart)
Exemple #6
0
    def setUpClass(cls):
        db = "%s/%s.sqlite" % (cls.dbs_path, TestModelSQLiteMemory.__name__.lower())
        try:
            os.remove(db)
        except OSError:
            pass
        assert os.path.isfile(db) is False
        db_uri = 'sqlite:///%s' % db

        cls.smart = smartdb.SmartDatabaseClient(db_uri)
        cls.repositories = RepositoriesRegister(cls.smart)
        cls.set_up_class_checks(cls.smart)
Exemple #7
0
    def setUpClass(cls):
        cls.smart = smartdb.SmartDatabaseClient(EC.db_uri)
        cls.p_matchbox = Process(
            target=TestEnjoliverCockroach.process_target_matchbox)
        cls.p_api = Process(target=TestEnjoliverCockroach.process_target_api)

        print("PPID -> %s\n" % os.getpid())
        cls.p_matchbox.start()
        assert cls.p_matchbox.is_alive() is True
        cls.p_api.start()
        assert cls.p_api.is_alive() is True

        cls.api_running(EC.api_uri, cls.p_api)
        cls.smart.create_base()
Exemple #8
0
 def test_02(self):
     ss = smartdb.SmartDatabaseClient(
         "cockroachdb://[email protected]:26257,cockroachdb://[email protected]:26257,cockroachdb://[email protected]:26257"
     )
     self.assertEqual(smartdb._MultipleEndpoints, type(ss))
     self.assertEqual(3, len(ss.engines))
Exemple #9
0
 def test_01(self):
     ss = smartdb.SmartDatabaseClient("cockroachdb://root@localhost:26257")
     self.assertEqual(smartdb._SingleEndpoint, type(ss))
     self.assertEqual(1, len(ss.engines))
Exemple #10
0
 def test_00(self):
     ss = smartdb.SmartDatabaseClient(
         "sqlite:////var/lib/enjoliver/enjoliver.sqlite")
     self.assertEqual(smartdb._SingleEndpoint, type(ss))
     self.assertEqual(1, len(ss.engines))
Exemple #11
0
    def setUpClass(cls):
        db_uri = 'sqlite:///:memory:'

        cls.smart = smartdb.SmartDatabaseClient(db_uri)
Exemple #12
0
 def setUpClass(cls):
     db_uri = "postgresql://postgres@localhost:5432"
     cls.smart = smartdb.SmartDatabaseClient(db_uri)
     cls.repositories = RepositoriesRegister(cls.smart)
     cls.set_up_class_checks(cls.smart)
Exemple #13
0
    def setUpClass(cls):
        db_uri = 'sqlite:///:memory:'

        cls.smart = smartdb.SmartDatabaseClient(db_uri)
        cls.repositories = RepositoriesRegister(cls.smart)
        cls.set_up_class_checks(cls.smart)