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)
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)
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)