func TestByContainerProcess(t *testing.T) { for n, _ := range cbMap { delete(cbMap, n) } cases := []struct { id string url string name string expected bool }{ //We need to add a real scan image to make the test work, but that will be integrate test {"1", "snapshot", "bycontainer/ospaf/notexist", false}, {"2", "snapshot", "bycontainer/busybox", true}, } var bycontainer snapshot.UpdateServiceSnapshotByContainer _, path, _, _ := runtime.Caller(0) dir := filepath.Join(filepath.Dir(path), "testdata") for _, c := range cases { info := snapshot.SnapshotInputInfo{CallbackID: c.id, DataURL: filepath.Join(dir, c.url), Name: c.name} a, _ := bycontainer.New(info) err := a.Process() if err == utils.ErrorsNoDockerClient { fmt.Println("No Docker client detected") return } assert.Nil(t, err, "Fail to process") } }
func TestByContainerNew(t *testing.T) { cases := []struct { id string url string name string expected bool }{ {"id", "url", "bycontainer/busybox", true}, {"", "url", "bycontainer/busybox", false}, {"id", "", "bycontainer/busybox", false}, {"id", "url", "", false}, } var bc snapshot.UpdateServiceSnapshotByContainer for _, c := range cases { info := snapshot.SnapshotInputInfo{CallbackID: c.id, DataURL: c.url, Name: c.name} _, err := bc.New(info) assert.Equal(t, c.expected, err == nil, "Fail to create new bycontainer snapshot") } }