From 0be7f7e81dba04d4f88e0dcd9c85fbfd43875fe8 Mon Sep 17 00:00:00 2001 From: Andrew Azores Date: Wed, 29 Nov 2023 09:47:05 -0500 Subject: [PATCH] test(smart_triggers): add test case for single-quoted duration --- .../agent/triggers/TriggerParserTest.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/test/java/io/cryostat/agent/triggers/TriggerParserTest.java b/src/test/java/io/cryostat/agent/triggers/TriggerParserTest.java index fa977d76..db45113b 100644 --- a/src/test/java/io/cryostat/agent/triggers/TriggerParserTest.java +++ b/src/test/java/io/cryostat/agent/triggers/TriggerParserTest.java @@ -100,6 +100,30 @@ void testSingleComplexTrigger() { MatcherAssert.assertThat(trigger.getTimeConditionFirstMet(), Matchers.nullValue()); } + @Test + void testSingleComplexTriggerSingleQuoted() { + Mockito.when(helper.isValidTemplate(Mockito.anyString())).thenReturn(true); + String[] in = new String[] {"[ProcessCpuLoad>0.2;TargetDuration>duration('30s')]~profile"}; + List out = parser.parse(in); + + MatcherAssert.assertThat(out, Matchers.hasSize(1)); + SmartTrigger trigger = out.get(0); + + MatcherAssert.assertThat( + trigger.getExpression(), + Matchers.equalTo("ProcessCpuLoad>0.2;TargetDuration>duration('30s')")); + MatcherAssert.assertThat(trigger.getRecordingTemplateName(), Matchers.equalTo("profile")); + MatcherAssert.assertThat( + trigger.getDurationConstraint(), + Matchers.equalTo("TargetDuration>duration(\"30s\")")); + MatcherAssert.assertThat( + trigger.getTriggerCondition(), Matchers.equalTo("ProcessCpuLoad>0.2")); + MatcherAssert.assertThat(trigger.getState(), Matchers.equalTo(TriggerState.NEW)); + MatcherAssert.assertThat( + trigger.getTargetDuration(), Matchers.equalTo(Duration.ofSeconds(30))); + MatcherAssert.assertThat(trigger.getTimeConditionFirstMet(), Matchers.nullValue()); + } + @Test void testSingleComplexTriggerWithWhitespace() { Mockito.when(helper.isValidTemplate(Mockito.anyString())).thenReturn(true);