github.com/rita33cool1/iot-system-gateway@v0.0.0-20200911033302-e65bde238cc5/docker-engine/volume/store/restore_test.go (about)

     1  package store
     2  
     3  import (
     4  	"io/ioutil"
     5  	"os"
     6  	"testing"
     7  
     8  	"github.com/docker/docker/volume"
     9  	volumedrivers "github.com/docker/docker/volume/drivers"
    10  	volumetestutils "github.com/docker/docker/volume/testutils"
    11  	"github.com/gotestyourself/gotestyourself/assert"
    12  )
    13  
    14  func TestRestore(t *testing.T) {
    15  	t.Parallel()
    16  
    17  	dir, err := ioutil.TempDir("", "test-restore")
    18  	assert.NilError(t, err)
    19  	defer os.RemoveAll(dir)
    20  
    21  	driverName := "test-restore"
    22  	volumedrivers.Register(volumetestutils.NewFakeDriver(driverName), driverName)
    23  	defer volumedrivers.Unregister("test-restore")
    24  
    25  	s, err := New(dir)
    26  	assert.NilError(t, err)
    27  	defer s.Shutdown()
    28  
    29  	_, err = s.Create("test1", driverName, nil, nil)
    30  	assert.NilError(t, err)
    31  
    32  	testLabels := map[string]string{"a": "1"}
    33  	testOpts := map[string]string{"foo": "bar"}
    34  	_, err = s.Create("test2", driverName, testOpts, testLabels)
    35  	assert.NilError(t, err)
    36  
    37  	s.Shutdown()
    38  
    39  	s, err = New(dir)
    40  	assert.NilError(t, err)
    41  
    42  	v, err := s.Get("test1")
    43  	assert.NilError(t, err)
    44  
    45  	dv := v.(volume.DetailedVolume)
    46  	var nilMap map[string]string
    47  	assert.DeepEqual(t, nilMap, dv.Options())
    48  	assert.DeepEqual(t, nilMap, dv.Labels())
    49  
    50  	v, err = s.Get("test2")
    51  	assert.NilError(t, err)
    52  	dv = v.(volume.DetailedVolume)
    53  	assert.DeepEqual(t, testOpts, dv.Options())
    54  	assert.DeepEqual(t, testLabels, dv.Labels())
    55  }