github.com/kaisenlinux/docker.io@v0.0.0-20230510090727-ea55db55fac7/engine/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 44 v, err := s.Get(ctx, "test1") 45 assert.NilError(t, err) 46 47 dv := v.(volume.DetailedVolume) 48 var nilMap map[string]string 49 assert.DeepEqual(t, nilMap, dv.Options()) 50 assert.DeepEqual(t, nilMap, dv.Labels()) 51 52 v, err = s.Get(ctx, "test2") 53 assert.NilError(t, err) 54 dv = v.(volume.DetailedVolume) 55 assert.DeepEqual(t, testOpts, dv.Options()) 56 assert.DeepEqual(t, testLabels, dv.Labels()) 57 }