public void Publish_PreservedDependencies()

in FunctionsSdkE2ETests/FunctionsSdkE2ETests/E2ETests.cs [125:156]


        public void Publish_PreservedDependencies()
        {
            string publishDir = Path.Combine(Path.GetTempPath(), "FunctionsSdkTests", "pub_preservedDeps");
            if (Directory.Exists(publishDir))
            {
                Directory.Delete(publishDir, true);
            }

            string solutionName = "PreservedDependencies";
            string solutionFile = solutionName + ".sln";
            string workingDir = FindContainingDirectory(solutionFile);

            RunDotNet("restore", workingDir, solutionFile);
            RunDotNet("clean", workingDir, solutionFile);
            RunDotNet("publish", workingDir, solutionFile, $"-o {publishDir}");

            ValidateExtensionsJsonRecursive(publishDir, 1, expectedFolder: _expectedBinFolder, ValidateSharedStartupExtension);

            string cleanedOutputDir = Path.Combine(publishDir, "bin");
            List<string> preservedFiles = new List<string>() { "Microsoft.Azure.WebJobs.dll", "Microsoft.Azure.WebJobs.Host.dll" };
            List<string> cleanedFiles = new List<string>() { "Microsoft.Net.Http.Headers.dll", "Microsoft.Azure.WebJobs.Extensions.Http.dll" };

            foreach (var preservedFile in preservedFiles)
            {
                Assert.True(File.Exists(Path.Combine(cleanedOutputDir, preservedFile)));
            }

            foreach (var cleanedFile in cleanedFiles)
            {
                Assert.False(File.Exists(Path.Combine(cleanedOutputDir, cleanedFile)));
            }
        }