Expect(outputBuffer).To(test_helpers.Say("Bucket Name:\tbucket")) }) It("alerts the user if no target is set", func() { config.SetBlobTarget("", 0, "", "", "") config.Save() test_helpers.ExecuteCommandWithArgs(targetBlobCommand, []string{}) Expect(outputBuffer).To(test_helpers.SayLine("Blob target not set")) }) }) Context("setting the blob target", func() { It("sets the blob target and credentials", func() { fakeTargetVerifier.VerifyBlobTargetReturns(true, nil) commandFinishChan := test_helpers.AsyncExecuteCommandWithArgs(targetBlobCommand, []string{"192.168.11.11:8980"}) Eventually(outputBuffer).Should(test_helpers.Say("Access Key: ")) stdinWriter.Write([]byte("yaykey\n")) Eventually(outputBuffer).Should(test_helpers.Say("Secret Key: ")) stdinWriter.Write([]byte("superserial\n")) Eventually(outputBuffer).Should(test_helpers.Say("Bucket Name [condenser-bucket]: ")) stdinWriter.Write([]byte("bhuket\n")) Eventually(commandFinishChan).Should(BeClosed()) Expect(fakeTargetVerifier.VerifyBlobTargetCallCount()).To(Equal(1)) host, port, accessKey, secretKey, bucketName := fakeTargetVerifier.VerifyBlobTargetArgsForCall(0) Expect(host).To(Equal("192.168.11.11"))
Describe("UploadBits", func() { Context("when the archive path is a file and exists", func() { var ( tmpFile *os.File err error ) BeforeEach(func() { tmpDir := os.TempDir() tmpFile, err = ioutil.TempFile(tmpDir, "tmp_file") Expect(err).NotTo(HaveOccurred()) err = ioutil.WriteFile(tmpFile.Name(), []byte(`{"Value":"test value"}`), 0700) Expect(err).NotTo(HaveOccurred()) fakeTargetVerifier.VerifyBlobTargetReturns(true, nil) }) AfterEach(func() { Expect(os.Remove(tmpFile.Name())).To(Succeed()) }) It("uploads the file to the bucket", func() { err = dropletRunner.UploadBits("droplet-name", tmpFile.Name()) Expect(err).NotTo(HaveOccurred()) Expect(fakeTargetVerifier.VerifyBlobTargetCallCount()).To(Equal(1)) Expect(fakeBlobBucket.PutReaderCallCount()).To(Equal(1)) path, reader, length, contType, perm, options := fakeBlobBucket.PutReaderArgsForCall(0)