github.com/argoproj/argo-events@v1.9.1/sensors/artifacts/configmap_test.go (about)

     1  package artifacts
     2  
     3  import (
     4  	"context"
     5  	"testing"
     6  
     7  	"github.com/smartystreets/goconvey/convey"
     8  	corev1 "k8s.io/api/core/v1"
     9  	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
    10  	"k8s.io/client-go/kubernetes/fake"
    11  )
    12  
    13  func TestConfigmapReader_Read(t *testing.T) {
    14  	kubeClientset := fake.NewSimpleClientset()
    15  	key := "wf"
    16  
    17  	cmArtifact := &corev1.ConfigMapKeySelector{
    18  		LocalObjectReference: corev1.LocalObjectReference{
    19  			Name: "fake-cm",
    20  		},
    21  		Key: key,
    22  	}
    23  	configmap := &corev1.ConfigMap{
    24  		ObjectMeta: metav1.ObjectMeta{
    25  			Name:      "fake-cm",
    26  			Namespace: "fake-ns",
    27  		},
    28  		Data: map[string]string{
    29  			key: `apiVersion: argoproj.io/v1alpha1
    30  kind: Workflow
    31  metadata:
    32    name: hello-world
    33  spec:
    34    entrypoint: whalesay
    35    templates:
    36    - name: whalesay
    37      container:
    38         args:
    39         - "hello world"	
    40         command:
    41         - cowsay
    42         image: "docker/whalesay:latest"`,
    43  		},
    44  	}
    45  
    46  	convey.Convey("Given a configmap", t, func() {
    47  		cm, err := kubeClientset.CoreV1().ConfigMaps("fake-ns").Create(context.TODO(), configmap, metav1.CreateOptions{})
    48  		convey.So(err, convey.ShouldBeNil)
    49  		convey.So(cm, convey.ShouldNotBeNil)
    50  
    51  		convey.Convey("Make sure new configmap reader is not nil", func() {
    52  			cmReader, err := NewConfigMapReader(cmArtifact)
    53  			convey.So(err, convey.ShouldBeNil)
    54  			convey.So(cmReader, convey.ShouldNotBeNil)
    55  		})
    56  	})
    57  }