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