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  }