fix(flags): detect schedule set from env (#1373)

This commit is contained in:
nils måsén 2022-09-04 20:05:13 +02:00 committed by GitHub
parent e04a107694
commit f047d75dcc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 43 additions and 11 deletions

View file

@ -143,8 +143,8 @@ func TestProcessFlagAliases(t *testing.T) {
RegisterNotificationFlags(cmd)
require.NoError(t, cmd.ParseFlags([]string{
`--porcelain`, `v1`,
`--interval`, `10`,
`--porcelain`, `v1`,
`--interval`, `10`,
}))
flags := cmd.Flags()
ProcessFlagAliases(flags)
@ -173,7 +173,7 @@ func TestProcessFlagAliasesSchedAndInterval(t *testing.T) {
RegisterSystemFlags(cmd)
RegisterNotificationFlags(cmd)
require.NoError(t, cmd.ParseFlags([]string{`--schedule`, `@now`, `--interval`, `10`}))
require.NoError(t, cmd.ParseFlags([]string{`--schedule`, `@hourly`, `--interval`, `10`}))
flags := cmd.Flags()
assert.PanicsWithValue(t, `FATAL`, func() {
@ -181,6 +181,26 @@ func TestProcessFlagAliasesSchedAndInterval(t *testing.T) {
})
}
func TestProcessFlagAliasesScheduleFromEnvironment(t *testing.T) {
cmd := new(cobra.Command)
err := os.Setenv("WATCHTOWER_SCHEDULE", `@hourly`)
require.NoError(t, err)
defer os.Unsetenv("WATCHTOWER_SCHEDULE")
SetDefaults()
RegisterDockerFlags(cmd)
RegisterSystemFlags(cmd)
RegisterNotificationFlags(cmd)
require.NoError(t, cmd.ParseFlags([]string{}))
flags := cmd.Flags()
ProcessFlagAliases(flags)
sched, _ := flags.GetString(`schedule`)
assert.Equal(t, `@hourly`, sched)
}
func TestProcessFlagAliasesInvalidPorcelaineVersion(t *testing.T) {
logrus.StandardLogger().ExitFunc = func(_ int) { panic(`FATAL`) }
cmd := new(cobra.Command)