|
@@ -1,5 +1,8 @@
|
|
|
+from datetime import timedelta
|
|
|
+
|
|
|
import pytest
|
|
|
from django.http import QueryDict
|
|
|
+from django.utils import timezone
|
|
|
from snuba_sdk.column import Column
|
|
|
from snuba_sdk.conditions import Condition, Op
|
|
|
from snuba_sdk.function import Function
|
|
@@ -8,6 +11,7 @@ from sentry.constants import DataCategory
|
|
|
from sentry.search.utils import InvalidQuery
|
|
|
from sentry.snuba.outcomes import InvalidField, QueryDefinition
|
|
|
from sentry.testutils import TestCase
|
|
|
+from sentry.testutils.helpers.datetime import iso_format
|
|
|
from sentry.utils.outcomes import Outcome
|
|
|
|
|
|
|
|
@@ -132,3 +136,14 @@ class OutcomesQueryDefinitionTests(TestCase):
|
|
|
"statsPeriod=4d&interval=1d&groupBy=category&key_id=INVALID&field=sum(quantity)",
|
|
|
{"organization_id": 1},
|
|
|
)
|
|
|
+
|
|
|
+ def test_start_and_end_no_interval(self):
|
|
|
+ start = timezone.now()
|
|
|
+ end = start + timedelta(days=1)
|
|
|
+ query = _make_query(
|
|
|
+ f"groupBy=category&field=sum(quantity)&start={iso_format(start)}&end={iso_format(end)}",
|
|
|
+ {"organization_id": 1},
|
|
|
+ )
|
|
|
+ assert query.start
|
|
|
+ assert query.end
|
|
|
+ assert query.rollup == 3600
|