var (
		metadataService  *fakeinf.FakeMetadataService
		registryProvider *fakeinf.FakeRegistryProvider
		source           ComplexSettingsSource
	)

	BeforeEach(func() {
		metadataService = &fakeinf.FakeMetadataService{}
		registryProvider = &fakeinf.FakeRegistryProvider{}
		logger := boshlog.NewLogger(boshlog.LevelNone)
		source = NewComplexSettingsSource(metadataService, registryProvider, logger)
	})

	Describe("PublicSSHKeyForUsername", func() {
		It("returns an empty string", func() {
			metadataService.PublicKey = "public-key"

			publicKey, err := source.PublicSSHKeyForUsername("fake-username")
			Expect(err).ToNot(HaveOccurred())
			Expect(publicKey).To(Equal("public-key"))
		})

		It("returns an error if string", func() {
			metadataService.GetPublicKeyErr = errors.New("fake-public-key-error")

			_, err := source.PublicSSHKeyForUsername("fake-username")
			Expect(err).To(HaveOccurred())
			Expect(err.Error()).To(ContainSubstring("fake-public-key-error"))
		})
	})