github.com/mheon/docker@v0.11.2-0.20150922122814-44f47903a831/volume/local/local_test.go (about) 1 package local 2 3 import ( 4 "io/ioutil" 5 "os" 6 "testing" 7 ) 8 9 func TestRemove(t *testing.T) { 10 rootDir, err := ioutil.TempDir("", "local-volume-test") 11 if err != nil { 12 t.Fatal(err) 13 } 14 defer os.RemoveAll(rootDir) 15 16 r, err := New(rootDir) 17 if err != nil { 18 t.Fatal(err) 19 } 20 21 vol, err := r.Create("testing", nil) 22 if err != nil { 23 t.Fatal(err) 24 } 25 26 if err := r.Remove(vol); err != nil { 27 t.Fatal(err) 28 } 29 30 vol, err = r.Create("testing2", nil) 31 if err != nil { 32 t.Fatal(err) 33 } 34 if err := os.RemoveAll(vol.Path()); err != nil { 35 t.Fatal(err) 36 } 37 38 if err := r.Remove(vol); err != nil { 39 t.Fatal(err) 40 } 41 42 if _, err := os.Stat(vol.Path()); err != nil && !os.IsNotExist(err) { 43 t.Fatal("volume dir not removed") 44 } 45 46 if len(r.List()) != 0 { 47 t.Fatal("expected there to be no volumes") 48 } 49 } 50 51 func TestInitializeWithVolumes(t *testing.T) { 52 rootDir, err := ioutil.TempDir("", "local-volume-test") 53 if err != nil { 54 t.Fatal(err) 55 } 56 defer os.RemoveAll(rootDir) 57 58 r, err := New(rootDir) 59 if err != nil { 60 t.Fatal(err) 61 } 62 63 vol, err := r.Create("testing", nil) 64 if err != nil { 65 t.Fatal(err) 66 } 67 68 r, err = New(rootDir) 69 if err != nil { 70 t.Fatal(err) 71 } 72 73 v, err := r.Get(vol.Name()) 74 if err != nil { 75 t.Fatal(err) 76 } 77 78 if v.Path() != vol.Path() { 79 t.Fatal("expected to re-initialize root with existing volumes") 80 } 81 }