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  }