pull/32129/merge
Gregory Man 3 days ago committed by GitHub
commit f7494fd585
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -138,6 +138,10 @@ func (r *ReleaseTesting) GetPodLogs(out io.Writer, rel *release.Release) error {
if len(r.Filters[IncludeNameFilter]) > 0 && !slices.Contains(r.Filters[IncludeNameFilter], h.Name) {
continue
}
if h.Kind != "Pod" {
continue
}
if err := r.getContainerLogs(out, client, h.Name); err != nil {
return err
}

@ -65,13 +65,20 @@ func TestReleaseTestingGetPodLogs_FilterEvents(t *testing.T) {
hooks := []*release.Hook{
{
Kind: "Pod",
Name: "event-1",
Events: []release.HookEvent{release.HookTest},
},
{
Kind: "Pod",
Name: "event-2",
Events: []release.HookEvent{release.HookTest},
},
{
Kind: "ConfigMap",
Name: "event-3",
Events: []release.HookEvent{release.HookTest},
},
}
out := &bytes.Buffer{}
@ -80,6 +87,25 @@ func TestReleaseTestingGetPodLogs_FilterEvents(t *testing.T) {
assert.Empty(t, out.String())
}
func TestReleaseTestingGetPodLogs_ExcludeFilter_SkipsPodHook(t *testing.T) {
config := actionConfigFixture(t)
require.NoError(t, config.Init(cli.New().RESTClientGetter(), "", os.Getenv("HELM_DRIVER")))
client := NewReleaseTesting(config)
client.Filters[ExcludeNameFilter] = []string{"excluded-pod"}
hooks := []*release.Hook{
{
Kind: "Pod",
Name: "excluded-pod",
Events: []release.HookEvent{release.HookTest},
},
}
out := &bytes.Buffer{}
require.NoError(t, client.GetPodLogs(out, &release.Release{Hooks: hooks}))
assert.Empty(t, out.String())
}
func TestReleaseTestingGetPodLogs_PodRetrievalError(t *testing.T) {
config := actionConfigFixture(t)
require.NoError(t, config.Init(cli.New().RESTClientGetter(), "", os.Getenv("HELM_DRIVER")))
@ -87,6 +113,7 @@ func TestReleaseTestingGetPodLogs_PodRetrievalError(t *testing.T) {
hooks := []*release.Hook{
{
Kind: "Pod",
Name: "event-1",
Events: []release.HookEvent{release.HookTest},
},
@ -95,6 +122,29 @@ func TestReleaseTestingGetPodLogs_PodRetrievalError(t *testing.T) {
require.ErrorContains(t, client.GetPodLogs(&bytes.Buffer{}, &release.Release{Hooks: hooks}), "unable to get pod")
}
func TestReleaseTestingGetPodLogs_SkipNonPodHooks(t *testing.T) {
config := actionConfigFixture(t)
require.NoError(t, config.Init(cli.New().RESTClientGetter(), "", os.Getenv("HELM_DRIVER")))
client := NewReleaseTesting(config)
hooks := []*release.Hook{
{
Name: "cm-hook",
Kind: "ConfigMap",
Events: []release.HookEvent{release.HookTest},
},
{
Name: "secret-hook",
Kind: "Secret",
Events: []release.HookEvent{release.HookTest},
},
}
out := &bytes.Buffer{}
require.NoError(t, client.GetPodLogs(out, &release.Release{Hooks: hooks}))
assert.Empty(t, out.String())
}
func TestReleaseTesting_WaitOptionsPassedDownstream(t *testing.T) {
is := assert.New(t)
config := actionConfigFixture(t)

Loading…
Cancel
Save