Skip to content

Commit e58bc70

Browse files
committed
Fix: cron expression for every hour usecase in quarkus notation;
1 parent b720a15 commit e58bc70

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

src/main/kotlin/com/wire/bots/infrastructure/utils/CronInterpreter.kt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,13 @@ object CronInterpreter {
5959
}
6060

6161
private fun isEveryHour(parts: List<String>) =
62-
parts[CRON_HOUR_INDEX] == "*" &&
63-
parts[CRON_DAY_INDEX] == "*" &&
62+
parts[CRON_MINUTE_INDEX] == "0" &&
63+
parts[CRON_HOUR_INDEX] == "*" &&
6464
parts[CRON_MONTH_INDEX] == "*" &&
65-
parts[CRON_WEEKDAY_INDEX] == "*"
65+
(
66+
(parts[CRON_DAY_INDEX] == "*" && parts[CRON_WEEKDAY_INDEX] == "?") ||
67+
(parts[CRON_DAY_INDEX] == "?" && parts[CRON_WEEKDAY_INDEX] == "*")
68+
)
6669

6770
private fun isEveryDayAtHour(parts: List<String>) =
6871
parts[CRON_SECOND_INDEX] == "0" &&

src/test/kotlin/com/wire/bots/CronInterpreterTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import org.junit.jupiter.api.Test
77
class CronInterpreterTest {
88
@Test
99
fun `should return every hour for valid hourly cron`() {
10-
val cron = "* * * * * *"
10+
val cron = "0 0 * ? * *"
1111
val result = CronInterpreter.cronToText(cron)
1212
assertEquals("every hour", result)
1313
}

0 commit comments

Comments
 (0)