github.com/mponton/terratest@v0.44.0/modules/k8s/event.go (about)

     1  package k8s
     2  
     3  import (
     4  	"context"
     5  
     6  	"github.com/stretchr/testify/require"
     7  
     8  	corev1 "k8s.io/api/core/v1"
     9  	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
    10  
    11  	"github.com/mponton/terratest/modules/testing"
    12  )
    13  
    14  // ListEvents will retrieve the Events in the given namespace that match the given filters and return them. This will fail the
    15  // test if there is an error.
    16  func ListEvents(t testing.TestingT, options *KubectlOptions, filters metav1.ListOptions) []corev1.Event {
    17  	events, err := ListEventsE(t, options, filters)
    18  	require.NoError(t, err)
    19  	return events
    20  }
    21  
    22  // ListEventsE will retrieve the Events that match the given filters and return them.
    23  func ListEventsE(t testing.TestingT, options *KubectlOptions, filters metav1.ListOptions) ([]corev1.Event, error) {
    24  	clientset, err := GetKubernetesClientFromOptionsE(t, options)
    25  	if err != nil {
    26  		return nil, err
    27  	}
    28  
    29  	resp, err := clientset.CoreV1().Events(options.Namespace).List(context.Background(), filters)
    30  	if err != nil {
    31  		return nil, err
    32  	}
    33  	return resp.Items, nil
    34  }