func (d *Downloader) getDesiredImageFile() (string, error) { file, err := d.fs.Open(config.DesiredImageLocatorFile()) if err != nil { return "", err } defer file.Close() reader := bufio.NewReader(file) desiredImageString, err := reader.ReadString('\n') if err != nil { return "", err } desiredImageFile := strings.TrimSpace(config.CacheDirectory() + "/" + d.fs.Base(desiredImageString)) return desiredImageFile, nil }
func TestLoadDesiredAgentFailReadDesired(t *testing.T) { mockCtrl := gomock.NewController(t) defer mockCtrl.Finish() mockFS := NewMockfileSystem(mockCtrl) mockFS.EXPECT().Open(config.DesiredImageLocatorFile()).Return(ioutil.NopCloser(&bytes.Buffer{}), nil) d := &Downloader{ fs: mockFS, } _, err := d.LoadDesiredAgent() if err == nil { t.Error("Expected error to be returned but got nil") } }
func TestLoadDesiredAgent(t *testing.T) { mockCtrl := gomock.NewController(t) defer mockCtrl.Finish() desiredImage := "my-new-agent-image" mockFS := NewMockfileSystem(mockCtrl) mockFS.EXPECT().Open(config.DesiredImageLocatorFile()).Return(ioutil.NopCloser(bytes.NewBufferString(desiredImage+"\n")), nil) mockFS.EXPECT().Base(gomock.Any()).Return(desiredImage + "\n") mockFS.EXPECT().Open(config.CacheDirectory() + "/" + desiredImage) d := &Downloader{ fs: mockFS, } d.LoadDesiredAgent() }