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  }