diff --git a/dotnet/Metaparticle.Package.Tests/DriverTests.cs b/dotnet/Metaparticle.Package.Tests/DriverTests.cs new file mode 100644 index 0000000..e5082f2 --- /dev/null +++ b/dotnet/Metaparticle.Package.Tests/DriverTests.cs @@ -0,0 +1,39 @@ +using System; +using NSubstitute; +using Xunit; +using static Metaparticle.Package.Driver; +using RuntimeConfig = Metaparticle.Runtime.Config; + +namespace Metaparticle.Package.Tests +{ + public class DriverTests + { + static int testOutput = 0; + + [Metaparticle.Runtime.Config] + [Metaparticle.Package.Config(Verbose = true, + Publish = false, Repository = "testrepo")] + private static void TestActionInContainer(string[] args) => Containerize (args, () => + { + testOutput = 1; + }); + + [Fact] + public void Containerize_Executes_Action_When_In_Container_Equals_True() + { + testOutput = 0; + Environment.SetEnvironmentVariable("METAPARTICLE_IN_CONTAINER", "true"); + TestActionInContainer(null); + Assert.True(1 == testOutput); + } + + [Fact] + public void Containerize_Executes_Action_When_In_Container_Equals_1() + { + testOutput = 0; + Environment.SetEnvironmentVariable("METAPARTICLE_IN_CONTAINER", "1"); + TestActionInContainer(null); + Assert.True(1 == testOutput); + } + } +} diff --git a/dotnet/Metaparticle.Package.Tests/Metaparticle.Package.Tests.csproj b/dotnet/Metaparticle.Package.Tests/Metaparticle.Package.Tests.csproj new file mode 100644 index 0000000..3d298c8 --- /dev/null +++ b/dotnet/Metaparticle.Package.Tests/Metaparticle.Package.Tests.csproj @@ -0,0 +1,18 @@ + + + + netcoreapp2.0 + + false + + + + + + + + + + + + diff --git a/dotnet/Metaparticle.Package.Tests/MetaparticleTests.cs b/dotnet/Metaparticle.Package.Tests/MetaparticleTests.cs new file mode 100644 index 0000000..ab3e25d --- /dev/null +++ b/dotnet/Metaparticle.Package.Tests/MetaparticleTests.cs @@ -0,0 +1,26 @@ +using System; +using Xunit; +using Metaparticle.Package; + +namespace Metaparticle.Package.Tests +{ + public class ConfigTests + { + [Fact] + public void Config_Loads_Environment_Variables() + { + Environment.SetEnvironmentVariable("METAPARTICLE_CONFIG_REPOSITORY", "testRepo"); + Environment.SetEnvironmentVariable("METAPARTICLE_CONFIG_PUBLISH", "true"); + var config = new Config(); + Assert.True("testRepo" == config.Repository); + Assert.True(true == config.Publish); + } + + [Fact] + public void Config_Defaults_Builder_To_Docker() + { + var config = new Config(); + Assert.True("docker" == config.Builder); + } + } +}