From ee55934db64a55a29257f419c9765433fdba30f5 Mon Sep 17 00:00:00 2001 From: blackstrip Date: Sun, 28 Nov 2021 11:07:53 +0800 Subject: [PATCH 1/7] fix(operators.py): fix timediff typo --- st2common/st2common/operators.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/st2common/st2common/operators.py b/st2common/st2common/operators.py index 6896e87658..9fb38548f3 100644 --- a/st2common/st2common/operators.py +++ b/st2common/st2common/operators.py @@ -314,7 +314,7 @@ def _timediff(diff_target, period_seconds, operator): # Note: date_utils.parse uses dateutil.parse which is way more flexible then strptime and # supports many date formats diff_target_utc = date_utils.parse(diff_target) - return operator((utc_now - diff_target_utc).total_seconds(), period_seconds) + return operator((utc_now - diff_target_utc).total_seconds(), float(period_seconds)) def timediff_lt(value, criteria_pattern): From 067521430cf9224e79017ca7fdad6c3c532226d6 Mon Sep 17 00:00:00 2001 From: Henry Date: Mon, 6 Dec 2021 15:45:36 +0800 Subject: [PATCH 2/7] docs: updated CHANGELOG --- CHANGELOG.rst | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index e3c1e99253..cdb62aff33 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -4,6 +4,13 @@ Changelog in development -------------- +Fixed +~~~~~ + +* Fix Type error for ``time_diff`` critera comparison. convert the timediff value as float to match + ``timedelta.total_seconds()`` return. + + Contributed by @blackstrip 3.6.0 - October 29, 2021 ------------------------ From 03525e80fe3917b1a9e9746195017c83169bdc2d Mon Sep 17 00:00:00 2001 From: Henry Date: Fri, 10 Dec 2021 10:57:01 +0800 Subject: [PATCH 3/7] Update CHANGELOG.rst --- CHANGELOG.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 74cc63ecdd..ff510b790a 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -4,6 +4,14 @@ Changelog in development -------------- +Fixed +~~~~~ + +* Fix Type error for ``time_diff`` critera comparison. convert the timediff value as float to match + ``timedelta.total_seconds()`` return. + + Contributed by @blackstrip + Added ~~~~~ From 45723d66018ea55dc11e27bcc101255a7e2d017a Mon Sep 17 00:00:00 2001 From: Henry Date: Fri, 10 Dec 2021 23:28:55 +0800 Subject: [PATCH 4/7] test: update CHANGELOG and UnitTest for the PR #5642 --- st2common/tests/unit/test_operators.py | 32 ++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/st2common/tests/unit/test_operators.py b/st2common/tests/unit/test_operators.py index 5917e4277c..10fcc669d9 100644 --- a/st2common/tests/unit/test_operators.py +++ b/st2common/tests/unit/test_operators.py @@ -943,6 +943,23 @@ def test_timediff_lt_fail(self): "Passed test_timediff_lt with None as criteria_pattern.", ) + def test_timediff_lt_webui_value(self): + op = operators.get_operator("timediff_lt") + self.assertTrue( + op(date_utils.get_datetime_utc_now().isoformat(), "10"), + "Failed test_timediff_lt_webui_value.", + ) + + def test_timediff_lt_webui_value_fail(self): + op = operators.get_operator("timediff_lt") + self.assertFalse( + op("2014-07-01T00:01:01.000000", "10"), "Passed test_timediff_lt_webui_value." + ) + self.assertFalse( + op("2014-07-01T00:01:01.000000", "value_from_webui"), + "Passed test_timediff_lt with Value from WebUI as criteria_pattern.", + ) + def test_timediff_gt(self): op = operators.get_operator("timediff_gt") self.assertTrue(op("2014-07-01T00:01:01.000000", 1), "Failed test_timediff_gt.") @@ -958,6 +975,21 @@ def test_timediff_gt_fail(self): "Passed test_timediff_gt with None as criteria_pattern.", ) + def test_timediff_gt_webui_value(self): + op = operators.get_operator("timediff_gt") + self.assertTrue(op("2014-07-01T00:01:01.000000", "1"), "Failed test_timediff_gt_webui_value.") + + def test_timediff_gt_webui_value_fail(self): + op = operators.get_operator("timediff_gt") + self.assertFalse( + op(date_utils.get_datetime_utc_now().isoformat(), "10"), + "Passed test_timediff_gt_webui_value.", + ) + self.assertFalse( + op("2014-07-01T00:01:01.000000", "value_from_webui"), + "Passed test_timediff_gt with Value from WebUI as criteria_pattern.", + ) + def test_exists(self): op = operators.get_operator("exists") self.assertTrue(op(False, None), "Should return True") From 06cc35e7d5b8c978c49826384d57c133e71e6adf Mon Sep 17 00:00:00 2001 From: Henry Date: Fri, 10 Dec 2021 23:33:42 +0800 Subject: [PATCH 5/7] docs: update CHANGELOG.rst --- CHANGELOG.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index ff510b790a..fe57a59106 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -8,7 +8,7 @@ Fixed ~~~~~ * Fix Type error for ``time_diff`` critera comparison. convert the timediff value as float to match - ``timedelta.total_seconds()`` return. + ``timedelta.total_seconds()`` return. #5462 Contributed by @blackstrip From 44b10109c72633215cdcdc2e9268cbe3a976968e Mon Sep 17 00:00:00 2001 From: Henry Date: Thu, 6 Jan 2022 14:31:30 +0800 Subject: [PATCH 6/7] style: reformat test_operators.py use Black --- st2common/tests/unit/test_operators.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/st2common/tests/unit/test_operators.py b/st2common/tests/unit/test_operators.py index 10fcc669d9..feae18a6fc 100644 --- a/st2common/tests/unit/test_operators.py +++ b/st2common/tests/unit/test_operators.py @@ -953,7 +953,8 @@ def test_timediff_lt_webui_value(self): def test_timediff_lt_webui_value_fail(self): op = operators.get_operator("timediff_lt") self.assertFalse( - op("2014-07-01T00:01:01.000000", "10"), "Passed test_timediff_lt_webui_value." + op("2014-07-01T00:01:01.000000", "10"), + "Passed test_timediff_lt_webui_value.", ) self.assertFalse( op("2014-07-01T00:01:01.000000", "value_from_webui"), @@ -977,7 +978,10 @@ def test_timediff_gt_fail(self): def test_timediff_gt_webui_value(self): op = operators.get_operator("timediff_gt") - self.assertTrue(op("2014-07-01T00:01:01.000000", "1"), "Failed test_timediff_gt_webui_value.") + self.assertTrue( + op("2014-07-01T00:01:01.000000", "1"), + "Failed test_timediff_gt_webui_value.", + ) def test_timediff_gt_webui_value_fail(self): op = operators.get_operator("timediff_gt") From 72d2dd3c942890d0218d2fb64b6db32f9f22cff2 Mon Sep 17 00:00:00 2001 From: Henry Date: Thu, 6 Jan 2022 14:48:19 +0800 Subject: [PATCH 7/7] test: fix the test case for timediff_failed --- st2common/tests/unit/test_operators.py | 8 -------- 1 file changed, 8 deletions(-) diff --git a/st2common/tests/unit/test_operators.py b/st2common/tests/unit/test_operators.py index feae18a6fc..7198f26fb1 100644 --- a/st2common/tests/unit/test_operators.py +++ b/st2common/tests/unit/test_operators.py @@ -956,10 +956,6 @@ def test_timediff_lt_webui_value_fail(self): op("2014-07-01T00:01:01.000000", "10"), "Passed test_timediff_lt_webui_value.", ) - self.assertFalse( - op("2014-07-01T00:01:01.000000", "value_from_webui"), - "Passed test_timediff_lt with Value from WebUI as criteria_pattern.", - ) def test_timediff_gt(self): op = operators.get_operator("timediff_gt") @@ -989,10 +985,6 @@ def test_timediff_gt_webui_value_fail(self): op(date_utils.get_datetime_utc_now().isoformat(), "10"), "Passed test_timediff_gt_webui_value.", ) - self.assertFalse( - op("2014-07-01T00:01:01.000000", "value_from_webui"), - "Passed test_timediff_gt with Value from WebUI as criteria_pattern.", - ) def test_exists(self): op = operators.get_operator("exists")