github.com/khulnasoft/cli@v0.0.0-20240402070845-01bcad7beefa/cli/context/store/tlsstore_test.go (about) 1 package store 2 3 import ( 4 "testing" 5 6 "github.com/docker/docker/errdefs" 7 "gotest.tools/v3/assert" 8 ) 9 10 func TestTlsCreateUpdateGetRemove(t *testing.T) { 11 testee := tlsStore{root: t.TempDir()} 12 13 const contextName = "test-ctx" 14 15 _, err := testee.getData(contextName, "test-ep", "test-data") 16 assert.ErrorType(t, err, errdefs.IsNotFound) 17 18 err = testee.createOrUpdate(contextName, "test-ep", "test-data", []byte("data")) 19 assert.NilError(t, err) 20 data, err := testee.getData(contextName, "test-ep", "test-data") 21 assert.NilError(t, err) 22 assert.Equal(t, string(data), "data") 23 err = testee.createOrUpdate(contextName, "test-ep", "test-data", []byte("data2")) 24 assert.NilError(t, err) 25 data, err = testee.getData(contextName, "test-ep", "test-data") 26 assert.NilError(t, err) 27 assert.Equal(t, string(data), "data2") 28 29 err = testee.removeEndpoint(contextName, "test-ep") 30 assert.NilError(t, err) 31 _, err = testee.getData(contextName, "test-ep", "test-data") 32 assert.ErrorType(t, err, errdefs.IsNotFound) 33 } 34 35 func TestTlsListAndBatchRemove(t *testing.T) { 36 testee := tlsStore{root: t.TempDir()} 37 38 all := map[string]EndpointFiles{ 39 "ep1": {"f1", "f2", "f3"}, 40 "ep2": {"f1", "f2", "f3"}, 41 "ep3": {"f1", "f2", "f3"}, 42 } 43 44 ep1ep2 := map[string]EndpointFiles{ 45 "ep1": {"f1", "f2", "f3"}, 46 "ep2": {"f1", "f2", "f3"}, 47 } 48 49 const contextName = "test-ctx" 50 for name, files := range all { 51 for _, file := range files { 52 err := testee.createOrUpdate(contextName, name, file, []byte("data")) 53 assert.NilError(t, err) 54 } 55 } 56 57 resAll, err := testee.listContextData(contextName) 58 assert.NilError(t, err) 59 assert.DeepEqual(t, resAll, all) 60 61 err = testee.removeEndpoint(contextName, "ep3") 62 assert.NilError(t, err) 63 resEp1ep2, err := testee.listContextData(contextName) 64 assert.NilError(t, err) 65 assert.DeepEqual(t, resEp1ep2, ep1ep2) 66 67 err = testee.remove(contextName) 68 assert.NilError(t, err) 69 resEmpty, err := testee.listContextData(contextName) 70 assert.NilError(t, err) 71 assert.DeepEqual(t, resEmpty, map[string]EndpointFiles{}) 72 }