Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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);
        }