public void ProviderThrowsInvalidDataExceptionWhenLoadFails() { var tempFile = Path.GetTempFileName(); try { File.WriteAllText(tempFile, "Test::FileData"); var fileProviderMock = new Mock <IFileProvider>(); fileProviderMock.Setup(fp => fp.Watch(It.IsAny <string>())).Returns(new ConfigurationRootTest.ChangeToken()); fileProviderMock.Setup(fp => fp.GetFileInfo(It.IsAny <string>())).Returns(new FileInfoImpl(tempFile)); var source = new FileConfigurationSourceImpl { FileProvider = fileProviderMock.Object, ReloadOnChange = true, }; var provider = new ThrowOnLoadFileConfigurationProviderImpl(source); var exception = Assert.Throws <InvalidDataException>(() => provider.Load()); Assert.Contains($"Failed to load configuration from file '{tempFile}'", exception.Message); } finally { if (File.Exists(tempFile)) { File.Delete(tempFile); } } }
public void ProviderThrowsDirectoryNotFoundExceptionWhenNotFound(string physicalPath) { var fileProviderMock = new Mock <IFileProvider>(); fileProviderMock.Setup(fp => fp.Watch(It.IsAny <string>())).Returns(new ConfigurationRootTest.ChangeToken()); fileProviderMock.Setup(fp => fp.GetFileInfo(It.IsAny <string>())).Returns(new FileInfoImpl(physicalPath)); var source = new FileConfigurationSourceImpl { FileProvider = fileProviderMock.Object, ReloadOnChange = true, }; var provider = new FileConfigurationProviderImpl(source); var exception = Assert.Throws <DirectoryNotFoundException>(() => provider.Load()); Assert.Contains(physicalPath, exception.Message); }