@ -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 )