Introduce name config argument (#217)

This commit is contained in:
Julio Barba
2019-12-11 13:26:06 -05:00
committed by GitHub
parent 275ab753a1
commit a3c6a8c201
5 changed files with 35 additions and 37 deletions

View File

@@ -90,9 +90,9 @@ namespace GitHub.Runner.Common
//validArgs array as well present in the CommandSettings.cs //validArgs array as well present in the CommandSettings.cs
public static class Args public static class Args
{ {
public static readonly string Agent = "agent";
public static readonly string Auth = "auth"; public static readonly string Auth = "auth";
public static readonly string MonitorSocketAddress = "monitorsocketaddress"; public static readonly string MonitorSocketAddress = "monitorsocketaddress";
public static readonly string Name = "name";
public static readonly string Pool = "pool"; public static readonly string Pool = "pool";
public static readonly string SslCACert = "sslcacert"; public static readonly string SslCACert = "sslcacert";
public static readonly string SslClientCert = "sslclientcert"; public static readonly string SslClientCert = "sslclientcert";

View File

@@ -42,9 +42,9 @@ namespace GitHub.Runner.Listener
private readonly string[] validArgs = private readonly string[] validArgs =
{ {
Constants.Runner.CommandLine.Args.Agent,
Constants.Runner.CommandLine.Args.Auth, Constants.Runner.CommandLine.Args.Auth,
Constants.Runner.CommandLine.Args.MonitorSocketAddress, Constants.Runner.CommandLine.Args.MonitorSocketAddress,
Constants.Runner.CommandLine.Args.Name,
Constants.Runner.CommandLine.Args.Password, Constants.Runner.CommandLine.Args.Password,
Constants.Runner.CommandLine.Args.Pool, Constants.Runner.CommandLine.Args.Pool,
Constants.Runner.CommandLine.Args.SslCACert, Constants.Runner.CommandLine.Args.SslCACert,
@@ -170,15 +170,6 @@ namespace GitHub.Runner.Listener
// //
// Args. // Args.
// //
public string GetAgentName()
{
return GetArgOrPrompt(
name: Constants.Runner.CommandLine.Args.Agent,
description: "Enter the name of runner:",
defaultValue: Environment.MachineName ?? "myagent",
validator: Validators.NonEmptyValidator);
}
public string GetAuth(string defaultValue) public string GetAuth(string defaultValue)
{ {
return GetArgOrPrompt( return GetArgOrPrompt(
@@ -206,6 +197,15 @@ namespace GitHub.Runner.Listener
validator: Validators.NonEmptyValidator); validator: Validators.NonEmptyValidator);
} }
public string GetRunnerName()
{
return GetArgOrPrompt(
name: Constants.Runner.CommandLine.Args.Name,
description: "Enter the name of runner:",
defaultValue: Environment.MachineName ?? "myrunner",
validator: Validators.NonEmptyValidator);
}
public string GetToken() public string GetToken()
{ {
return GetArgOrPrompt( return GetArgOrPrompt(

View File

@@ -214,7 +214,7 @@ namespace GitHub.Runner.Listener.Configuration
TaskAgent agent; TaskAgent agent;
while (true) while (true)
{ {
runnerSettings.AgentName = command.GetAgentName(); runnerSettings.AgentName = command.GetRunnerName();
_term.WriteLine(); _term.WriteLine();

View File

@@ -1,11 +1,9 @@
using GitHub.Runner.Listener; using GitHub.Runner.Listener;
using GitHub.Runner.Listener.Configuration; using GitHub.Runner.Listener.Configuration;
using GitHub.Runner.Common.Util;
using Moq; using Moq;
using System; using System;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using Xunit; using Xunit;
using GitHub.Runner.Sdk;
namespace GitHub.Runner.Common.Tests namespace GitHub.Runner.Common.Tests
{ {
@@ -18,45 +16,45 @@ namespace GitHub.Runner.Common.Tests
[Fact] [Fact]
[Trait("Level", "L0")] [Trait("Level", "L0")]
[Trait("Category", nameof(CommandSettings))] [Trait("Category", nameof(CommandSettings))]
public void GetsArg() public void GetsNameArg()
{ {
using (TestHostContext hc = CreateTestContext()) using (TestHostContext hc = CreateTestContext())
{ {
// Arrange. // Arrange.
var command = new CommandSettings(hc, args: new string[] { "--agent", "some agent" }); var command = new CommandSettings(hc, args: new string[] { "--name", "some runner" });
// Act. // Act.
string actual = command.GetAgentName(); string actual = command.GetRunnerName();
// Assert. // Assert.
Assert.Equal("some agent", actual); Assert.Equal("some runner", actual);
} }
} }
[Fact] [Fact]
[Trait("Level", "L0")] [Trait("Level", "L0")]
[Trait("Category", nameof(CommandSettings))] [Trait("Category", nameof(CommandSettings))]
public void GetsArgFromEnvVar() public void GetsNameArgFromEnvVar()
{ {
using (TestHostContext hc = CreateTestContext()) using (TestHostContext hc = CreateTestContext())
{ {
try try
{ {
// Arrange. // Arrange.
Environment.SetEnvironmentVariable("ACTIONS_RUNNER_INPUT_AGENT", "some agent"); Environment.SetEnvironmentVariable("ACTIONS_RUNNER_INPUT_NAME", "some runner");
var command = new CommandSettings(hc, args: new string[0]); var command = new CommandSettings(hc, args: new string[0]);
// Act. // Act.
string actual = command.GetAgentName(); string actual = command.GetRunnerName();
// Assert. // Assert.
Assert.Equal("some agent", actual); Assert.Equal("some runner", actual);
Assert.Equal(string.Empty, Environment.GetEnvironmentVariable("ACTIONS_RUNNER_INPUT_AGENT") ?? string.Empty); // Should remove. Assert.Equal(string.Empty, Environment.GetEnvironmentVariable("ACTIONS_RUNNER_INPUT_NAME") ?? string.Empty); // Should remove.
Assert.Equal("some agent", hc.SecretMasker.MaskSecrets("some agent")); Assert.Equal("some runner", hc.SecretMasker.MaskSecrets("some runner"));
} }
finally finally
{ {
Environment.SetEnvironmentVariable("ACTIONS_RUNNER_INPUT_AGENT", null); Environment.SetEnvironmentVariable("ACTIONS_RUNNER_INPUT_NAME", null);
} }
} }
} }
@@ -314,26 +312,26 @@ namespace GitHub.Runner.Common.Tests
var command = new CommandSettings(hc, args: new string[] { "--unattended" }); var command = new CommandSettings(hc, args: new string[] { "--unattended" });
_promptManager _promptManager
.Setup(x => x.ReadValue( .Setup(x => x.ReadValue(
Constants.Runner.CommandLine.Args.Agent, // argName Constants.Runner.CommandLine.Args.Name, // argName
"Enter the name of runner:", // description "Enter the name of runner:", // description
false, // secret false, // secret
Environment.MachineName, // defaultValue Environment.MachineName, // defaultValue
Validators.NonEmptyValidator, // validator Validators.NonEmptyValidator, // validator
true)) // unattended true)) // unattended
.Returns("some agent"); .Returns("some runner");
// Act. // Act.
string actual = command.GetAgentName(); string actual = command.GetRunnerName();
// Assert. // Assert.
Assert.Equal("some agent", actual); Assert.Equal("some runner", actual);
} }
} }
[Fact] [Fact]
[Trait("Level", "L0")] [Trait("Level", "L0")]
[Trait("Category", nameof(CommandSettings))] [Trait("Category", nameof(CommandSettings))]
public void PromptsForAgent() public void PromptsForRunnerName()
{ {
using (TestHostContext hc = CreateTestContext()) using (TestHostContext hc = CreateTestContext())
{ {
@@ -341,19 +339,19 @@ namespace GitHub.Runner.Common.Tests
var command = new CommandSettings(hc, args: new string[0]); var command = new CommandSettings(hc, args: new string[0]);
_promptManager _promptManager
.Setup(x => x.ReadValue( .Setup(x => x.ReadValue(
Constants.Runner.CommandLine.Args.Agent, // argName Constants.Runner.CommandLine.Args.Name, // argName
"Enter the name of runner:", // description "Enter the name of runner:", // description
false, // secret false, // secret
Environment.MachineName, // defaultValue Environment.MachineName, // defaultValue
Validators.NonEmptyValidator, // validator Validators.NonEmptyValidator, // validator
false)) // unattended false)) // unattended
.Returns("some agent"); .Returns("some runner");
// Act. // Act.
string actual = command.GetAgentName(); string actual = command.GetRunnerName();
// Assert. // Assert.
Assert.Equal("some agent", actual); Assert.Equal("some runner", actual);
} }
} }
@@ -766,8 +764,8 @@ namespace GitHub.Runner.Common.Tests
args: new string[] { args: new string[] {
"configure", "configure",
"--unattended", "--unattended",
"--agent", "--name",
"test agent" }); "test runner" });
// Assert. // Assert.
Assert.True(command.Validate().Count == 0); Assert.True(command.Validate().Count == 0);

View File

@@ -160,7 +160,7 @@ namespace GitHub.Runner.Common.Tests.Listener.Configuration
"--acceptteeeula", "--acceptteeeula",
#endif #endif
"--url", _expectedServerUrl, "--url", _expectedServerUrl,
"--agent", _expectedAgentName, "--name", _expectedAgentName,
"--pool", _expectedPoolName, "--pool", _expectedPoolName,
"--work", _expectedWorkFolder, "--work", _expectedWorkFolder,
"--auth", _expectedAuthType, "--auth", _expectedAuthType,