var config *config_package.Config BeforeEach(func() { config = config_package.New(nil) config.SetBlobStore("some-host", "some-port", "some-user", "some-password") }) It("returns a new DavBlobStore Verifier", func() { verifier.Verify(config) Expect(fakeDAVVerifier.VerifyCallCount()).To(Equal(1)) Expect(fakeS3Verifier.VerifyCallCount()).To(Equal(0)) }) }) Context("when an s3 blob store is targeted", func() { var config *config_package.Config BeforeEach(func() { config = config_package.New(nil) config.SetS3BlobStore("", "", "some-bucket-name", "") }) It("returns a new S3BlobStore Verifier", func() { verifier.Verify(config) Expect(fakeS3Verifier.VerifyCallCount()).To(Equal(1)) Expect(fakeDAVVerifier.VerifyCallCount()).To(Equal(0)) }) }) }) })
Context("when no blob store username is set", func() { BeforeEach(func() { config.SetBlobStore("blobtarget.com", "8444", "", "") Expect(config.Save()).To(Succeed()) }) It("only prints the blob store host", func() { Expect(outputBuffer).To(test_helpers.SayLine("Droplet store:\tblobtarget.com:8444")) }) }) }) Context("when a S3 blob store is targeted", func() { BeforeEach(func() { config.SetS3BlobStore("access", "secret", "bucket", "region") Expect(config.Save()).To(Succeed()) }) It("outputs the s3 bucket and region", func() { Expect(outputBuffer).To(test_helpers.SayLine("Droplet store:\ts3://bucket (region)")) }) }) }) Context("when initially connecting to the receptor without authentication", func() { BeforeEach(func() { fakeTargetVerifier.VerifyTargetReturns(true, true, nil) fakeBlobStoreVerifier.VerifyReturns(true, nil) })
It("returns errors from loading the config", func() { testPersister.err = errors.New("Error") err := testConfig.Load() Expect(err).To(MatchError("Error")) }) }) Describe("ActiveBlobStore", func() { It("defaults to 'dav'", func() { Expect(testConfig.ActiveBlobStore().String()).To(Equal("dav")) }) It("reports the active blobstore", func() { testConfig.SetS3BlobStore("some-access-key", "some-secret-key", "some-bucket-name", "some-s3-region") Expect(testConfig.ActiveBlobStore().String()).To(Equal("s3")) }) }) Describe("TargetBlob", func() { It("sets the blob target", func() { testConfig.SetBlobStore("some-host", "7474", "some-username", "some-password") Expect(testConfig.BlobStore()).To(Equal(config.BlobStoreConfig{ Host: "some-host", Port: "7474", Username: "******", Password: "******", })) })