Skip to content

Commit 9bfa96c

Browse files
author
Eugen Cusmaunsa
authored
Merge pull request #5462 from blackstrip/fix_timediff_typo
fix: timediff typo
2 parents 1faf978 + 3de6fd6 commit 9bfa96c

3 files changed

Lines changed: 37 additions & 1 deletion

File tree

CHANGELOG.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,14 @@ Changelog
44
in development
55
--------------
66

7+
Fixed
8+
~~~~~
9+
10+
* Fix Type error for ``time_diff`` critera comparison. convert the timediff value as float to match
11+
``timedelta.total_seconds()`` return. #5462
12+
13+
Contributed by @blackstrip
14+
715
Added
816
~~~~~
917

st2common/st2common/operators.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -314,7 +314,7 @@ def _timediff(diff_target, period_seconds, operator):
314314
# Note: date_utils.parse uses dateutil.parse which is way more flexible then strptime and
315315
# supports many date formats
316316
diff_target_utc = date_utils.parse(diff_target)
317-
return operator((utc_now - diff_target_utc).total_seconds(), period_seconds)
317+
return operator((utc_now - diff_target_utc).total_seconds(), float(period_seconds))
318318

319319

320320
def timediff_lt(value, criteria_pattern):

st2common/tests/unit/test_operators.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -943,6 +943,20 @@ def test_timediff_lt_fail(self):
943943
"Passed test_timediff_lt with None as criteria_pattern.",
944944
)
945945

946+
def test_timediff_lt_webui_value(self):
947+
op = operators.get_operator("timediff_lt")
948+
self.assertTrue(
949+
op(date_utils.get_datetime_utc_now().isoformat(), "10"),
950+
"Failed test_timediff_lt_webui_value.",
951+
)
952+
953+
def test_timediff_lt_webui_value_fail(self):
954+
op = operators.get_operator("timediff_lt")
955+
self.assertFalse(
956+
op("2014-07-01T00:01:01.000000", "10"),
957+
"Passed test_timediff_lt_webui_value.",
958+
)
959+
946960
def test_timediff_gt(self):
947961
op = operators.get_operator("timediff_gt")
948962
self.assertTrue(op("2014-07-01T00:01:01.000000", 1), "Failed test_timediff_gt.")
@@ -958,6 +972,20 @@ def test_timediff_gt_fail(self):
958972
"Passed test_timediff_gt with None as criteria_pattern.",
959973
)
960974

975+
def test_timediff_gt_webui_value(self):
976+
op = operators.get_operator("timediff_gt")
977+
self.assertTrue(
978+
op("2014-07-01T00:01:01.000000", "1"),
979+
"Failed test_timediff_gt_webui_value.",
980+
)
981+
982+
def test_timediff_gt_webui_value_fail(self):
983+
op = operators.get_operator("timediff_gt")
984+
self.assertFalse(
985+
op(date_utils.get_datetime_utc_now().isoformat(), "10"),
986+
"Passed test_timediff_gt_webui_value.",
987+
)
988+
961989
def test_exists(self):
962990
op = operators.get_operator("exists")
963991
self.assertTrue(op(False, None), "Should return True")

0 commit comments

Comments
 (0)