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"))
		})
	})

	Describe("Settings", func() {
		It("returns settings read from the registry", func() {
			registryProvider.GetRegistryRegistry = &fakeinf.FakeRegistry{
				Settings: boshsettings.Settings{
					AgentID: "fake-agent-id",
				},
			}