def runtest(dbhandle):
            for i in range(100):
                db.add_row(i, usage_from_timestamp(i), dbhandle)
            q1 = db.query_by_timestamp(10, dbhandle)
            self.assertEqual(q1, [(10, usage_from_timestamp(10))])

            q2 = db.query_by_timestamp((5, 15), dbhandle)
            expected_usages = []
            for i in range(5, 16):
                expected_usages.append((i, usage_from_timestamp(i)))
            for pair in zip(q2, expected_usages):
                self.assertEqual(pair[0], pair[1])
Пример #2
0
        def runtest(dbhandle):
            for i in range(100):
                db.add_row(i, usage_from_timestamp(i), dbhandle)
            q1 = db.query_by_timestamp(10, dbhandle)
            self.assertEqual(q1, [(10, usage_from_timestamp(10))])

            q2 = db.query_by_timestamp((5, 15), dbhandle)
            expected_usages = []
            for i in range(5, 16):
                expected_usages.append((i, usage_from_timestamp(i)))
            for pair in zip(q2, expected_usages):
                self.assertEqual(pair[0], pair[1])
def handle_get_request(env):
    queries = parse_qs(env['QUERY_STRING'])
    if dict_contains(queries, 'insert', 'timestamp', 'usage'):
        ts = queries['timestamp'][0]
        usage = queries['usage'][0]
        db.add_row(ts, usage)
        ret = '<p>Inserted row: timestamp = {}, usage = {}</p>'.format(ts, usage)
        return (True, ret)
    elif dict_contains(queries, 'query', 'timestamp'):
        query = db.query_by_timestamp(int(queries['timestamp'][0]))
        timestamps = []
        usage = []
        for val in query:
            timestamps.append(int(val[0]))
            usage.append(int(val[1]))
        plot.make_plot(timestamps, usage)
        ret = "<img src='{}' alt='plot' />".format(TMP_PLOT_NAME)
        return (True, ret)
    return (False, None)
def handle_get_request(env):
    queries = parse_qs(env['QUERY_STRING'])
    if dict_contains(queries, 'insert', 'timestamp', 'usage'):
        ts = queries['timestamp'][0]
        usage = queries['usage'][0]
        db.add_row(ts, usage)
        ret = '<p>Inserted row: timestamp = {}, usage = {}</p>'.format(
            ts, usage)
        return (True, ret)
    elif dict_contains(queries, 'query', 'timestamp'):
        query = db.query_by_timestamp(int(queries['timestamp'][0]))
        timestamps = []
        usage = []
        for val in query:
            timestamps.append(int(val[0]))
            usage.append(int(val[1]))
        plot.make_plot(timestamps, usage)
        ret = "<img src='{}' alt='plot' />".format(TMP_PLOT_NAME)
        return (True, ret)
    return (False, None)
Пример #5
0
 def test_post_insert_invalid_timestamp(self):
     q1 = db.query_by_timestamp(0)
     mock_sensor.post('{"function": "insert", "usage": 1, "timestamp": "asdf"}')
     q2 = db.query_by_timestamp(0)
     self.assertEqual(q1, q2)
Пример #6
0
 def test_post_insert(self):
     q1 = db.query_by_timestamp(0)
     mock_sensor.post('{"function": "insert", "usage": 1, "timestamp": 0}')
     q2 = db.query_by_timestamp(0)
     q1.append((0, 1))
     self.assertEqual(q1, q2)