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 }