github.com/Heebron/moby@v0.0.0-20221111184709-6eab4f55faf7/volume/service/restore_test.go (about) 1 package service // import "github.com/docker/docker/volume/service" 2 3 import ( 4 "context" 5 "os" 6 "testing" 7 8 "github.com/docker/docker/volume" 9 volumedrivers "github.com/docker/docker/volume/drivers" 10 "github.com/docker/docker/volume/service/opts" 11 volumetestutils "github.com/docker/docker/volume/testutils" 12 "gotest.tools/v3/assert" 13 ) 14 15 func TestRestore(t *testing.T) { 16 t.Parallel() 17 18 dir, err := os.MkdirTemp("", "test-restore") 19 assert.NilError(t, err) 20 defer os.RemoveAll(dir) 21 22 drivers := volumedrivers.NewStore(nil) 23 driverName := "test-restore" 24 drivers.Register(volumetestutils.NewFakeDriver(driverName), driverName) 25 26 s, err := NewStore(dir, drivers) 27 assert.NilError(t, err) 28 defer s.Shutdown() 29 30 ctx := context.Background() 31 _, err = s.Create(ctx, "test1", driverName) 32 assert.NilError(t, err) 33 34 testLabels := map[string]string{"a": "1"} 35 testOpts := map[string]string{"foo": "bar"} 36 _, err = s.Create(ctx, "test2", driverName, opts.WithCreateOptions(testOpts), opts.WithCreateLabels(testLabels)) 37 assert.NilError(t, err) 38 39 s.Shutdown() 40 41 s, err = NewStore(dir, drivers) 42 assert.NilError(t, err) 43 defer s.Shutdown() 44 45 v, err := s.Get(ctx, "test1") 46 assert.NilError(t, err) 47 48 dv := v.(volume.DetailedVolume) 49 var nilMap map[string]string 50 assert.DeepEqual(t, nilMap, dv.Options()) 51 assert.DeepEqual(t, nilMap, dv.Labels()) 52 53 v, err = s.Get(ctx, "test2") 54 assert.NilError(t, err) 55 dv = v.(volume.DetailedVolume) 56 assert.DeepEqual(t, testOpts, dv.Options()) 57 assert.DeepEqual(t, testLabels, dv.Labels()) 58 }