github.com/rudderlabs/rudder-go-kit@v0.30.0/testhelper/docker/resource/etcd/etcd_test.go (about) 1 package etcd 2 3 import ( 4 "context" 5 "testing" 6 7 "github.com/ory/dockertest/v3" 8 "github.com/stretchr/testify/require" 9 ) 10 11 const ( 12 dummyKey = "dummyKey" 13 dummyValue = "dummyValue" 14 ) 15 16 func TestETCD(t *testing.T) { 17 pool, err := dockertest.NewPool("") 18 require.NoError(t, err) 19 20 etcdRes, err := Setup(pool, t) 21 require.NoError(t, err) 22 23 getResp, err := etcdRes.Client.Get(context.Background(), dummyKey) // no value should be present during start 24 require.NoError(t, err) 25 26 require.Zero(t, getResp.Kvs) 27 28 _, err = etcdRes.Client.Put(context.Background(), dummyKey, dummyValue) // put value in to dummyKey 29 require.NoError(t, err) 30 31 getResp, err = etcdRes.Client.Get(context.Background(), dummyKey) // check value in dummyKey 32 require.NoError(t, err) 33 require.Len(t, getResp.Kvs, 1) 34 require.Equal(t, string(getResp.Kvs[0].Value), dummyValue) 35 }