defer file.Close()
			keyring = file.Name()

			logger = &fakes.Logger{}

			remover = chaperon.NewKeyringRemover(keyring, logger)
		})

		It("removes the keyring file", func() {
			err := remover.Execute()
			Expect(err).NotTo(HaveOccurred())

			_, err = os.Stat(keyring)
			Expect(err).To(BeAnOsIsNotExistError())

			Expect(logger.Messages()).To(ContainSequence([]fakes.LoggerMessage{
				{
					Action: "keyring-remover.execute",
					Data: []lager.Data{{
						"keyring": keyring,
					}},
				},
				{
					Action: "keyring-remover.execute.success",
					Data: []lager.Data{{
						"keyring": keyring,
					}},
				},
			}))
		})
					"allow_stale":      false,
					"max_stale":        "5s",
					"recursor_timeout": "5s",
				},
				"ports": map[string]int{
					"dns": 53,
				},
				"performance": map[string]int{
					"raft_multiplier": 1,
				},
			}
			body, err := json.Marshal(conf)
			Expect(err).To(BeNil())
			Expect(buf).To(MatchJSON(body))

			Expect(logger.Messages()).To(ContainSequence([]fakes.LoggerMessage{
				{
					Action: "config-writer.write.generate-configuration",
				},
				{
					Action: "config-writer.write.write-file",
					Data: []lager.Data{{
						"config": config.GenerateConfiguration(cfg, configDir, "node-0"),
					}},
				},
				{
					Action: "config-writer.write.success",
				},
			}))
		})