|
|
78ed677 |
From 6c127384b76f7534592dcb0d791f9580981f1afd Mon Sep 17 00:00:00 2001
|
|
|
78ed677 |
From: Lukas Holecek <hluk@email.cz>
|
|
|
78ed677 |
Date: Wed, 31 Jul 2019 10:25:43 +0200
|
|
|
78ed677 |
Subject: [PATCH] Fix start with delta parameter
|
|
|
78ed677 |
|
|
|
78ed677 |
Fixes #218
|
|
|
78ed677 |
|
|
|
78ed677 |
Signed-off-by: Lukas Holecek <hluk@email.cz>
|
|
|
78ed677 |
---
|
|
|
78ed677 |
datagrepper/util.py | 3 ++-
|
|
|
78ed677 |
tests/test_api.py | 14 ++++++++++++++
|
|
|
78ed677 |
2 files changed, 16 insertions(+), 1 deletion(-)
|
|
|
78ed677 |
|
|
|
78ed677 |
diff --git a/datagrepper/util.py b/datagrepper/util.py
|
|
|
78ed677 |
index 9696fef..330b12a 100644
|
|
|
78ed677 |
--- a/datagrepper/util.py
|
|
|
78ed677 |
+++ b/datagrepper/util.py
|
|
|
78ed677 |
@@ -54,7 +54,8 @@ def assemble_timerange(start, end, delta):
|
|
|
78ed677 |
if start is None:
|
|
|
78ed677 |
end = float(now)
|
|
|
78ed677 |
else:
|
|
|
78ed677 |
- end = float(start) + float(delta)
|
|
|
78ed677 |
+ start = float(start)
|
|
|
78ed677 |
+ end = start + float(delta)
|
|
|
78ed677 |
|
|
|
78ed677 |
end = datetime.fromtimestamp(float(end))
|
|
|
78ed677 |
|
|
|
78ed677 |
diff --git a/tests/test_api.py b/tests/test_api.py
|
|
|
78ed677 |
index fa731ea..5f49f44 100644
|
|
|
78ed677 |
--- a/tests/test_api.py
|
|
|
78ed677 |
+++ b/tests/test_api.py
|
|
|
78ed677 |
@@ -1,6 +1,7 @@
|
|
|
78ed677 |
# SPDX-License-Identifier: GPL-2.0+
|
|
|
78ed677 |
# Copyright 2018 Mike Bonnet <mikeb@redhat.com>
|
|
|
78ed677 |
|
|
|
78ed677 |
+from datetime import datetime, timedelta
|
|
|
78ed677 |
import json
|
|
|
78ed677 |
import os
|
|
|
78ed677 |
import unittest
|
|
|
78ed677 |
@@ -47,6 +48,19 @@ def test_raw_contains_delta(self, grep):
|
|
|
78ed677 |
resp = self.client.get('/raw?delta=14400&category=wat&contains=foo')
|
|
|
78ed677 |
self.assertEqual(resp.status_code, 200)
|
|
|
78ed677 |
|
|
|
78ed677 |
+ @patch('datagrepper.app.dm.Message.grep', return_value=(0, 0, []))
|
|
|
78ed677 |
+ def test_raw_contains_delta_and_start(self, grep):
|
|
|
78ed677 |
+ resp = self.client.get('/raw?start=1564503781&delta=600')
|
|
|
78ed677 |
+ self.assertEqual(resp.status_code, 200)
|
|
|
78ed677 |
+ self.assertEqual(grep.call_args[0], ())
|
|
|
78ed677 |
+ kws = grep.call_args[1]
|
|
|
78ed677 |
+
|
|
|
78ed677 |
+ expected_start = datetime.fromtimestamp(1564503781)
|
|
|
78ed677 |
+ self.assertEqual(kws['start'], expected_start)
|
|
|
78ed677 |
+
|
|
|
78ed677 |
+ expected_end = expected_start + timedelta(seconds=600)
|
|
|
78ed677 |
+ self.assertEqual(kws['end'], expected_end)
|
|
|
78ed677 |
+
|
|
|
78ed677 |
@patch('datagrepper.app.dm.Message.grep', return_value=(0, 0, []))
|
|
|
78ed677 |
def test_raw_contains_without_delta(self, grep):
|
|
|
78ed677 |
""" https://github.com/fedora-infra/datagrepper/issues/206 """
|