Skip to content

Commit 5e589ac

Browse files
committed
chore(structs): add TestDiff_SidecarIdentities
1 parent 9a922e1 commit 5e589ac

File tree

1 file changed

+229
-0
lines changed

1 file changed

+229
-0
lines changed

nomad/structs/diff_test.go

Lines changed: 229 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10437,6 +10437,235 @@ func TestServicesDiff(t *testing.T) {
1043710437
}
1043810438
}
1043910439

10440+
func TestDiff_SidecarIdentities(t *testing.T) {
10441+
oldTask := &SidecarTask{
10442+
Name: "old",
10443+
Driver: "docker",
10444+
User: "sidecar",
10445+
Config: map[string]any{"foo": "bar"},
10446+
Env: map[string]string{"FOO": "BAR"},
10447+
Resources: &Resources{
10448+
Cores: 2,
10449+
NUMA: &NUMA{
10450+
Affinity: "none",
10451+
},
10452+
},
10453+
Meta: map[string]string{"meta": "val"},
10454+
KillTimeout: pointer.Of(10 * time.Second),
10455+
LogConfig: &LogConfig{
10456+
MaxFiles: 3,
10457+
MaxFileSizeMB: 100,
10458+
},
10459+
ShutdownDelay: pointer.Of(20 * time.Second),
10460+
KillSignal: "SIGUSR1",
10461+
Identities: []*WorkloadIdentity{
10462+
{
10463+
Name: "fooident",
10464+
Audience: []string{"foo.bar"},
10465+
ChangeMode: "signal",
10466+
ChangeSignal: "SIGHUP2",
10467+
},
10468+
},
10469+
}
10470+
newTask := &SidecarTask{
10471+
Name: "new",
10472+
Driver: "podman",
10473+
User: "proxy",
10474+
Config: map[string]any{"eggs": "spam"},
10475+
Env: map[string]string{"EGGS": "SPAM"},
10476+
Resources: &Resources{
10477+
Cores: 4,
10478+
NUMA: &NUMA{
10479+
Affinity: "prefer",
10480+
},
10481+
},
10482+
Meta: map[string]string{"meta": "val"},
10483+
KillTimeout: pointer.Of(10 * time.Second),
10484+
LogConfig: &LogConfig{
10485+
MaxFiles: 3,
10486+
MaxFileSizeMB: 100,
10487+
},
10488+
ShutdownDelay: pointer.Of(20 * time.Second),
10489+
KillSignal: "SIGUSR1",
10490+
Identities: []*WorkloadIdentity{
10491+
{
10492+
Name: "fooident",
10493+
Audience: []string{"foo.bar", "new.foo.bar"},
10494+
ChangeMode: "signal",
10495+
ChangeSignal: "SIGHUP3",
10496+
},
10497+
{
10498+
Name: "barident",
10499+
Audience: []string{"bar.foo"},
10500+
ChangeMode: "signal",
10501+
ChangeSignal: "SIGHUP",
10502+
},
10503+
},
10504+
}
10505+
expected := &ObjectDiff{
10506+
Type: DiffTypeEdited,
10507+
Name: "SidecarTask",
10508+
Fields: []*FieldDiff{
10509+
{
10510+
Type: DiffTypeEdited,
10511+
Name: "Driver",
10512+
Old: "docker",
10513+
New: "podman",
10514+
},
10515+
{
10516+
Type: DiffTypeAdded,
10517+
Name: "Env[EGGS]",
10518+
Old: "",
10519+
New: "SPAM",
10520+
},
10521+
{
10522+
Type: DiffTypeDeleted,
10523+
Name: "Env[FOO]",
10524+
Old: "BAR",
10525+
New: "",
10526+
},
10527+
{
10528+
Type: DiffTypeEdited,
10529+
Name: "Name",
10530+
Old: "old",
10531+
New: "new",
10532+
},
10533+
{
10534+
Type: DiffTypeEdited,
10535+
Name: "User",
10536+
Old: "sidecar",
10537+
New: "proxy",
10538+
},
10539+
},
10540+
Objects: []*ObjectDiff{
10541+
{
10542+
Type: DiffTypeEdited,
10543+
Name: "Config",
10544+
Fields: []*FieldDiff{
10545+
{
10546+
Type: DiffTypeAdded,
10547+
Name: "eggs",
10548+
Old: "",
10549+
New: "spam",
10550+
},
10551+
{
10552+
Type: DiffTypeDeleted,
10553+
Name: "foo",
10554+
Old: "bar",
10555+
New: "",
10556+
},
10557+
},
10558+
},
10559+
{
10560+
Type: DiffTypeEdited,
10561+
Name: "Resources",
10562+
Fields: []*FieldDiff{
10563+
{
10564+
Type: DiffTypeNone,
10565+
Name: "CPU",
10566+
Old: "0",
10567+
New: "0",
10568+
},
10569+
{
10570+
Type: DiffTypeEdited,
10571+
Name: "Cores",
10572+
Old: "2",
10573+
New: "4",
10574+
},
10575+
{
10576+
Type: DiffTypeNone,
10577+
Name: "DiskMB",
10578+
Old: "0",
10579+
New: "0",
10580+
},
10581+
{
10582+
Type: DiffTypeNone,
10583+
Name: "IOPS",
10584+
Old: "0",
10585+
New: "0",
10586+
},
10587+
{
10588+
Type: DiffTypeNone,
10589+
Name: "MemoryMB",
10590+
Old: "0",
10591+
New: "0",
10592+
},
10593+
{
10594+
Type: DiffTypeNone,
10595+
Name: "MemoryMaxMB",
10596+
Old: "0",
10597+
New: "0",
10598+
},
10599+
{
10600+
Type: DiffTypeNone,
10601+
Name: "SecretsMB",
10602+
Old: "0",
10603+
New: "0",
10604+
},
10605+
},
10606+
Objects: []*ObjectDiff{
10607+
{
10608+
Type: DiffTypeEdited,
10609+
Name: "NUMA",
10610+
Fields: []*FieldDiff{
10611+
{
10612+
Type: DiffTypeEdited,
10613+
Name: "Affinity",
10614+
Old: "none",
10615+
New: "prefer",
10616+
},
10617+
},
10618+
},
10619+
},
10620+
},
10621+
{
10622+
Type: DiffTypeEdited,
10623+
Name: "Identity",
10624+
Fields: []*FieldDiff{
10625+
{Type: "None", Name: "ChangeMode", Old: "signal", New: "signal"},
10626+
{Type: "Edited", Name: "ChangeSignal", Old: "SIGHUP2", New: "SIGHUP3"},
10627+
{Type: "None", Name: "Env", Old: "false", New: "false"},
10628+
{Type: "None", Name: "File", Old: "false", New: "false"},
10629+
{Type: "None", Name: "Filepath"},
10630+
{Type: "None", Name: "Name", Old: "fooident", New: "fooident"},
10631+
{Type: "None", Name: "ServiceName"},
10632+
{Type: "None", Name: "TTL", Old: "0", New: "0"},
10633+
},
10634+
Objects: []*ObjectDiff{
10635+
{Type: "Added", Name: "Audience", Fields: []*FieldDiff{
10636+
{Type: "Added", Name: "Audience", New: "new.foo.bar"},
10637+
{Type: "None", Name: "Audience", Old: "foo.bar", New: "foo.bar"},
10638+
},
10639+
},
10640+
},
10641+
},
10642+
{
10643+
Type: DiffTypeAdded,
10644+
Name: "Identity",
10645+
Fields: []*FieldDiff{
10646+
{Type: "Added", Name: "ChangeMode", New: "signal"},
10647+
{Type: "Added", Name: "ChangeSignal", New: "SIGHUP"},
10648+
{Type: "Added", Name: "Env", New: "false"},
10649+
{Type: "Added", Name: "File", New: "false"},
10650+
{Type: "None", Name: "Filepath"},
10651+
{Type: "Added", Name: "Name", New: "barident"},
10652+
{Type: "None", Name: "ServiceName"},
10653+
{Type: "Added", Name: "TTL", New: "0"},
10654+
},
10655+
Objects: []*ObjectDiff{
10656+
{Type: "Added", Name: "Audience", Fields: []*FieldDiff{
10657+
{Type: "Added", Name: "Audience", New: "bar.foo"},
10658+
},
10659+
},
10660+
},
10661+
},
10662+
},
10663+
}
10664+
10665+
actual := sidecarTaskDiff(oldTask, newTask, true)
10666+
must.Eq(t, expected, actual)
10667+
}
10668+
1044010669
// TestDiff_SidecarVolumes asserts changes to sidecar task volumes are
1044110670
// detected. See #25878
1044210671
func TestDiff_SidecarVolumes(t *testing.T) {

0 commit comments

Comments
 (0)