Blob Blame History Raw
From 6c127384b76f7534592dcb0d791f9580981f1afd Mon Sep 17 00:00:00 2001
From: Lukas Holecek <hluk@email.cz>
Date: Wed, 31 Jul 2019 10:25:43 +0200
Subject: [PATCH] Fix start with delta parameter

Fixes #218

Signed-off-by: Lukas Holecek <hluk@email.cz>
---
 datagrepper/util.py |  3 ++-
 tests/test_api.py   | 14 ++++++++++++++
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/datagrepper/util.py b/datagrepper/util.py
index 9696fef..330b12a 100644
--- a/datagrepper/util.py
+++ b/datagrepper/util.py
@@ -54,7 +54,8 @@ def assemble_timerange(start, end, delta):
             if start is None:
                 end = float(now)
             else:
-                end = float(start) + float(delta)
+                start = float(start)
+                end = start + float(delta)
 
         end = datetime.fromtimestamp(float(end))
 
diff --git a/tests/test_api.py b/tests/test_api.py
index fa731ea..5f49f44 100644
--- a/tests/test_api.py
+++ b/tests/test_api.py
@@ -1,6 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0+
 # Copyright 2018 Mike Bonnet <mikeb@redhat.com>
 
+from datetime import datetime, timedelta
 import json
 import os
 import unittest
@@ -47,6 +48,19 @@ def test_raw_contains_delta(self, grep):
         resp = self.client.get('/raw?delta=14400&category=wat&contains=foo')
         self.assertEqual(resp.status_code, 200)
 
+    @patch('datagrepper.app.dm.Message.grep', return_value=(0, 0, []))
+    def test_raw_contains_delta_and_start(self, grep):
+        resp = self.client.get('/raw?start=1564503781&delta=600')
+        self.assertEqual(resp.status_code, 200)
+        self.assertEqual(grep.call_args[0], ())
+        kws = grep.call_args[1]
+
+        expected_start = datetime.fromtimestamp(1564503781)
+        self.assertEqual(kws['start'], expected_start)
+
+        expected_end = expected_start + timedelta(seconds=600)
+        self.assertEqual(kws['end'], expected_end)
+
     @patch('datagrepper.app.dm.Message.grep', return_value=(0, 0, []))
     def test_raw_contains_without_delta(self, grep):
         """ https://github.com/fedora-infra/datagrepper/issues/206 """