public void ShouldTakeEnvironmentVariableValueWhenAvailable() { var key = Environment.GetEnvironmentVariable(StrykerDashboardApiKey); var target = new DashboardApiKeyInput(); try { Environment.SetEnvironmentVariable(StrykerDashboardApiKey, "my key"); var result = target.Validate(true, BaselineProvider.Dashboard, new[] { Reporter.Dashboard }); result.ShouldBe("my key"); } finally { Environment.SetEnvironmentVariable(StrykerDashboardApiKey, key); } }
public void ShouldSkipValidationWhenDashboardNotEnabled() { var key = Environment.GetEnvironmentVariable(StrykerDashboardApiKey); var target = new DashboardApiKeyInput(); try { Environment.SetEnvironmentVariable(StrykerDashboardApiKey, string.Empty); var result = target.Validate(false, BaselineProvider.Disk, new[] { Reporter.ClearText }); result.ShouldBeNull(); } finally { Environment.SetEnvironmentVariable(StrykerDashboardApiKey, key); } }
public void ShouldOverrideEnvironmentVariableWhenInputSupplied() { var key = Environment.GetEnvironmentVariable(StrykerDashboardApiKey); var target = new DashboardApiKeyInput(); target.SuppliedInput = "my key"; try { Environment.SetEnvironmentVariable(StrykerDashboardApiKey, "not my key"); var result = target.Validate(true, BaselineProvider.Dashboard, new[] { Reporter.Dashboard }); result.ShouldBe("my key"); } finally { Environment.SetEnvironmentVariable(StrykerDashboardApiKey, key); } }
public void ShouldThrowWhenNull() { var key = Environment.GetEnvironmentVariable(StrykerDashboardApiKey); var target = new DashboardApiKeyInput(); try { Environment.SetEnvironmentVariable(StrykerDashboardApiKey, string.Empty); var ex = Should.Throw <InputException>(() => { target.Validate(true, BaselineProvider.Dashboard, new[] { Reporter.Dashboard }); }); ex.Message.ShouldContain($"An API key is required when the {Reporter.Dashboard} reporter is turned on! You can get an API key at {DashboardUrlInput.DefaultUrl}"); } finally { Environment.SetEnvironmentVariable(StrykerDashboardApiKey, key); } }
public void ShouldHaveHelpText() { var target = new DashboardApiKeyInput(); target.HelpText.ShouldBe(@"Api key for dashboard reporter."); }