46 lines
1.4 KiB
C#
46 lines
1.4 KiB
C#
using AcDream.Launcher.Core.Installation;
|
|
using AcDream.Platform;
|
|
|
|
namespace AcDream.Launcher.Core.Tests.Installation;
|
|
|
|
public sealed class BakeProcessRunnerTests
|
|
{
|
|
[Fact]
|
|
public void PublicationNonceIsEnvironmentOnlyAndVisibleArgumentsStayPinned()
|
|
{
|
|
string nonce = Guid.Parse("01234567-89ab-cdef-0123-456789abcdef")
|
|
.ToString("N");
|
|
var request = new BakeProcessRequest(
|
|
"acdream-bake",
|
|
"retail-dats",
|
|
"data/pak/acdream.pak",
|
|
7,
|
|
nonce);
|
|
|
|
System.Diagnostics.ProcessStartInfo startInfo =
|
|
SystemBakeProcessRunner.CreateStartInfo(request);
|
|
|
|
Assert.Equal(request.Arguments, startInfo.ArgumentList);
|
|
Assert.DoesNotContain(nonce, startInfo.ArgumentList);
|
|
Assert.Equal(
|
|
nonce,
|
|
startInfo.Environment[
|
|
BakePublicationGuardPaths.NonceEnvironmentVariable]);
|
|
}
|
|
|
|
[Fact]
|
|
public void UnguardedRequestExplicitlyRemovesInheritedAuthorization()
|
|
{
|
|
var request = new BakeProcessRequest(
|
|
"acdream-bake",
|
|
"retail-dats",
|
|
"data/pak/acdream.pak",
|
|
1);
|
|
|
|
System.Diagnostics.ProcessStartInfo startInfo =
|
|
SystemBakeProcessRunner.CreateStartInfo(request);
|
|
|
|
Assert.False(startInfo.Environment.ContainsKey(
|
|
BakePublicationGuardPaths.NonceEnvironmentVariable));
|
|
}
|
|
}
|