Ejemplo n.º 1
0
 def test_schema_change_good(self):
     self.db.close()
     self.db = PersistentDB(self.schema,
                            pk_field='pk',
                            db_name='testing',
                            ts_length=self.tsLength,
                            testing=True)
Ejemplo n.º 2
0
 def test_meta_save_ts(self):
     self.db.close()
     self.db = PersistentDB(pk_field='pk',
                            db_name='testing',
                            ts_length=self.tsLength,
                            testing=True)
     self.assertEqual(len(self.db), 100)
Ejemplo n.º 3
0
 def test_schema_change_bad(self):
     badschema = dict(self.schema)
     badschema['blarg'] = {'type': 'int', 'index': 2, 'values': [1, 2, 3]}
     self.db.close()
     with self.assertRaises(ValueError):
         self.db = PersistentDB(badschema,
                                pk_field='pk',
                                db_name='testing',
                                ts_length=self.tsLength,
                                testing=True)
Ejemplo n.º 4
0
    def tearDown(self):
        self.server_proc.terminate()
        self.server_log_file.close()
        time.sleep(1)

        # this stuff is just to get rid of the files
        schema = {
            'pk': {
                'type': 'string',
                'index': None
            },
            'ts': {
                'type': None,
                'index': None
            },
            'order': {
                'type': 'int',
                'index': 2,
                'values': [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]
            },
            'blarg': {
                'type': 'int',
                'index': 2,
                'values': [1, 2]
            },
            'mean': {
                'type': 'float',
                'index': 1
            },
            'std': {
                'type': 'float',
                'index': 1
            },
            'vp': {
                'type': 'bool',
                'index': 2,
                'values': [0, 1]
            },
            'vp_num': {
                'type': 'int',
                'index': 1
            }
        }

        for i in range(NUMVPS):
            schema["d_vp-{}".format(i)] = {'type': 'float', 'index': 1}

        db = PersistentDB(schema,
                          pk_field='pk',
                          db_name='testing',
                          ts_length=TS_LENGTH,
                          testing=True)
        db.delete_database()
Ejemplo n.º 5
0
def main():
    for i in range(NUMVPS):
        schema["d_vp-{}".format(i)] = {'type': 'float', 'index': 1}

    db = PersistentDB(schema,
                      pk_field='pk',
                      db_name='testing',
                      ts_length=TS_LENGTH,
                      testing=True)
    server = TSDBServer(db)
    server.run()
    db.delete_database()
Ejemplo n.º 6
0
    def test_vps(self):
        self.db.add_vp('vp-0', 'ts-88')
        self.db.add_vp('vp-1', 'ts-87')
        with self.assertRaises(IndexError):
            self.db.add_vp('vp-2', 'ts-1000')  # doesn't exist in db
        self.assertTrue('vp-0' in self.db.vps)
        self.db.delete_vp('vp-0')
        self.assertTrue('vp-0' not in self.db.vps)
        with self.assertRaises(IndexError):
            self.db.delete_vp('vp-3')  # doesn't exist in db

        self.db.close()
        self.db = PersistentDB(pk_field='pk',
                               db_name='testing',
                               ts_length=self.tsLength,
                               testing=True)
        self.assertTrue('vp-1' in self.db.vps)
Ejemplo n.º 7
0
def main():
    db = PersistentDB(schema, 'pk', load=False, overwrite=True)
    server = TSDBServer(db)
    server.run()
Ejemplo n.º 8
0
 def test_bad_testing_dbname(self):
     with self.assertRaises(ValueError):
         otherdb = PersistentDB(self.schema,
                                pk_field='pk',
                                db_name='testing',
                                ts_length=self.tsLength)
Ejemplo n.º 9
0
    def setUp(self):
        self.dirPath = "files/testing"
        if not os.path.isdir(self.dirPath):
            os.makedirs(self.dirPath)
            self._createdDirs = True
        else:
            self._createdDirs = False

        schema = {
            'pk': {
                'type': 'string',
                'index': None
            },
            'ts': {
                'type': None,
                'index': None
            },
            'order': {
                'type': 'int',
                'index': 2,
                'values': [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]
            },
            'blarg': {
                'type': 'int',
                'index': 2,
                'values': [1, 2]
            },
            'mean': {
                'type': 'float',
                'index': 1
            },
            'std': {
                'type': 'float',
                'index': 1
            },
            'vp': {
                'type': 'bool',
                'index': 2,
                'values': [0, 1]
            },
            'd-vp1': {
                'type': 'float',
                'index': 1
            }
        }

        self.schema = schema

        self.tsLength = 1024

        self.db = PersistentDB(schema,
                               pk_field='pk',
                               db_name='testing',
                               ts_length=self.tsLength,
                               testing=True)

        for i in range(100):
            pk = 'ts-' + str(i)
            values = np.array(range(self.tsLength)) + i
            series = ts.TimeSeries(values, values)
            meta = {}
            n_order = len(schema['order']['values'])  # 11
            meta['order'] = schema['order']['values'][i % n_order]
            n_blarg = 2
            meta['blarg'] = schema['blarg']['values'][i % n_blarg]
            meta['mean'] = float(series.mean(
            ))  # make sure they are python floats, not numpy floats
            meta['std'] = float(series.std())
            meta['vp'] = False
            self.db.insert_ts(pk, series)
            self.db.upsert_meta(pk, meta)