public void TransformAppSettings_OverrideDestinationAppSettingsName(ITaskItem[] connectionStringData) { //Arrange string projectFolder = Path.Combine(Path.GetTempPath(), "ProjectFolder"); string publishDir = Path.Combine(Path.GetTempPath(), "PublishDirectory"); if (!Directory.Exists(publishDir)) { Directory.CreateDirectory(publishDir); } ITaskItem[] destinationConnectionStrings = connectionStringData; TransformAppSettings task = new TransformAppSettings() { ProjectDirectory = projectFolder, PublishDirectory = publishDir, DestinationConnectionStrings = destinationConnectionStrings, SourceAppSettingsName = "MyCustomAppSettings.json", DestinationAppSettingsName = "NewDestinationAppSettings.json", }; // Act bool result = task.TransformAppSettingsInternal(); //Assert Assert.True(result); string appSettingsProductionJson = (Path.Combine(publishDir, $"NewDestinationAppSettings.json")); Assert.True(File.Exists(appSettingsProductionJson)); foreach (var eachValue in connectionStringData) { JToken connectionStringValue = JObject.Parse(File.ReadAllText(appSettingsProductionJson))["ConnectionStrings"][eachValue.ItemSpec]; Assert.Equal(connectionStringValue.ToString(), eachValue.GetMetadata("Value")); } if (File.Exists(appSettingsProductionJson)) { File.Delete(appSettingsProductionJson); } if (Directory.Exists(publishDir)) { Directory.Delete(publishDir, true); } }
public void TransformAppSettings_FailsIfPublishDirectoryDoesNotExist(ITaskItem[] connectionStringData) { //Arrange string projectFolder = Path.Combine(Path.GetTempPath(), "ProjectFolder"); string publishDir = Path.Combine(Path.GetTempPath(), "PublishDirectory"); ITaskItem[] destinationConnectionStrings = connectionStringData; TransformAppSettings task = new TransformAppSettings() { ProjectDirectory = projectFolder, PublishDirectory = publishDir, DestinationConnectionStrings = destinationConnectionStrings }; // Act bool result = task.TransformAppSettingsInternal(); //Assert Assert.False(result); }