dotnet-installer/test/dotnet-publish.Tests/PublishAppWithDependencies.cs

51 lines
1.6 KiB
C#

// Copyright (c) .NET Foundation and contributors. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
using System.IO;
using Microsoft.DotNet.TestFramework;
using Microsoft.DotNet.Tools.Test.Utilities;
using Xunit;
namespace Microsoft.DotNet.Tools.Publish.Tests
{
public class PublishAppWithDependencies : TestBase
{
[Fact]
public void PublishTestAppWithContentPackage()
{
var testInstance = TestAssetsManager.CreateTestInstance("TestAppWithContentPackage")
.WithLockFiles();
var publishDir = Publish(testInstance);
publishDir.Should().HaveFiles(new[]
{
"TestAppWithContentPackage.exe",
"TestAppWithContentPackage.dll",
"TestAppWithContentPackage.deps.json"
});
// these files come from the contentFiles of the SharedContentA dependency
publishDir
.Sub("scripts")
.Should()
.Exist()
.And
.HaveFile("run.cmd");
publishDir
.Should()
.HaveFile("config.xml");
}
private DirectoryInfo Publish(TestInstance testInstance)
{
var publishCommand = new PublishCommand(testInstance.TestRoot);
var publishResult = publishCommand.Execute();
publishResult.Should().Pass();
return publishCommand.GetOutputDirectory(portable: false);
}
}
}