Skip to content

Commit

Permalink
chore: add tests for CreateProcess and its environment priming
Browse files Browse the repository at this point in the history
  • Loading branch information
bastiandoetsch committed Aug 31, 2023
1 parent 0d963fc commit b6d9349
Showing 1 changed file with 90 additions and 0 deletions.
90 changes: 90 additions & 0 deletions Snyk.VisualStudio.Extension.Tests/SnykConsoleRunnerTest.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
using System;
using System.IO;
using Moq;
using Snyk.Common.Authentication;
using Snyk.Common.Settings;
using Snyk.VisualStudio.Extension.Shared.CLI;
using Xunit;

namespace Snyk.VisualStudio.Extension.Shared.Tests
{
public class SnykConsoleRunnerTest
{

[Fact]
public void SnykConsoleRunnerTest_CreateProcess_Respects_Analytics_Off_IsFedramp()
{
var optionsMock = new Mock<ISnykOptions>();
optionsMock
.Setup(options => options.UsageAnalyticsEnabled)
.Returns(false);

optionsMock
.Setup(options => options.IsFedramp())
.Returns(true);

var cut = new SnykConsoleRunner(optionsMock.Object);

var process = cut.CreateProcess("snyk", "test");

Assert.Equal("1", process.StartInfo.EnvironmentVariables["SNYK_CFG_DISABLE_ANALYTICS"]);
}

[Fact]
public void SnykConsoleRunnerTest_CreateProcess_Respects_Analytics_Off_IsNotFedramp()
{
var optionsMock = new Mock<ISnykOptions>();
optionsMock
.Setup(options => options.UsageAnalyticsEnabled)
.Returns(false);

optionsMock
.Setup(options => options.IsFedramp())
.Returns(false);

var cut = new SnykConsoleRunner(optionsMock.Object);

var process = cut.CreateProcess("snyk", "test");

Assert.Equal("1", process.StartInfo.EnvironmentVariables["SNYK_CFG_DISABLE_ANALYTICS"]);
}

[Fact]
public void SnykConsoleRunnerTest_CreateProcess_Respects_Analytics_On_IsFedramp()
{
var optionsMock = new Mock<ISnykOptions>();
optionsMock
.Setup(options => options.UsageAnalyticsEnabled)
.Returns(true);

optionsMock
.Setup(options => options.IsFedramp())
.Returns(true);

var cut = new SnykConsoleRunner(optionsMock.Object);

var process = cut.CreateProcess("snyk", "test");

Assert.Equal("1", process.StartInfo.EnvironmentVariables["SNYK_CFG_DISABLE_ANALYTICS"]);
}

[Fact]
public void SnykConsoleRunnerTest_CreateProcess_Respects_Analytics_On_IsNotFedramp()
{
var optionsMock = new Mock<ISnykOptions>();
optionsMock
.Setup(options => options.UsageAnalyticsEnabled)
.Returns(true);

optionsMock
.Setup(options => options.IsFedramp())
.Returns(false);

var cut = new SnykConsoleRunner(optionsMock.Object);

var process = cut.CreateProcess("snyk", "test");

Assert.Null(process.StartInfo.EnvironmentVariables["SNYK_CFG_DISABLE_ANALYTICS"]);
}
}
}

0 comments on commit b6d9349

Please sign in to comment.