// using System; // using System.Collections.Generic; // using System.Runtime.CompilerServices; // using GitHub.DistributedTask.WebApi; // using GitHub.Runner.Worker; // using Moq; // using Xunit; // namespace GitHub.Runner.Common.Tests.Worker // { // public sealed class TaskCommandExtensionL0 // { // private TestHostContext _hc; // private Mock _ec; // private ServiceEndpoint _endpoint; // [Fact] // [Trait("Level", "L0")] // [Trait("Category", "Worker")] // public void SetEndpointAuthParameter() // { // SetupMocks(); // TaskCommandExtension commandExtension = new TaskCommandExtension(); // commandExtension.Initialize(_hc); // var cmd = new Command("task", "setEndpoint"); // cmd.Data = "blah"; // cmd.Properties.Add("field", "authParameter"); // cmd.Properties.Add("id", Guid.Empty.ToString()); // cmd.Properties.Add("key", "test"); // commandExtension.ProcessCommand(_ec.Object, cmd); // Assert.Equal(_endpoint.Authorization.Parameters["test"], "blah"); // } // [Fact] // [Trait("Level", "L0")] // [Trait("Category", "Worker")] // public void SetEndpointDataParameter() // { // SetupMocks(); // TaskCommandExtension commandExtension = new TaskCommandExtension(); // var cmd = new Command("task", "setEndpoint"); // cmd.Data = "blah"; // cmd.Properties.Add("field", "dataParameter"); // cmd.Properties.Add("id", Guid.Empty.ToString()); // cmd.Properties.Add("key", "test"); // commandExtension.ProcessCommand(_ec.Object, cmd); // Assert.Equal(_endpoint.Data["test"], "blah"); // } // [Fact] // [Trait("Level", "L0")] // [Trait("Category", "Worker")] // public void SetEndpointUrlParameter() // { // SetupMocks(); // TaskCommandExtension commandExtension = new TaskCommandExtension(); // var cmd = new Command("task", "setEndpoint"); // cmd.Data = "http://blah/"; // cmd.Properties.Add("field", "url"); // cmd.Properties.Add("id", Guid.Empty.ToString()); // commandExtension.ProcessCommand(_ec.Object, cmd); // Assert.Equal(_endpoint.Url.ToString(), cmd.Data); // } // [Fact] // [Trait("Level", "L0")] // [Trait("Category", "Worker")] // public void SetEndpointWithoutValue() // { // SetupMocks(); // TaskCommandExtension commandExtension = new TaskCommandExtension(); // var cmd = new Command("task", "setEndpoint"); // Assert.Throws(() => commandExtension.ProcessCommand(_ec.Object, cmd)); // } // [Fact] // [Trait("Level", "L0")] // [Trait("Category", "Worker")] // public void SetEndpointWithoutEndpointField() // { // SetupMocks(); // TaskCommandExtension commandExtension = new TaskCommandExtension(); // var cmd = new Command("task", "setEndpoint"); // Assert.Throws(() => commandExtension.ProcessCommand(_ec.Object, cmd)); // } // [Fact] // [Trait("Level", "L0")] // [Trait("Category", "Worker")] // public void SetEndpointInvalidEndpointField() // { // SetupMocks(); // TaskCommandExtension commandExtension = new TaskCommandExtension(); // var cmd = new Command("task", "setEndpoint"); // cmd.Properties.Add("field", "blah"); // Assert.Throws(() => commandExtension.ProcessCommand(_ec.Object, cmd)); // } // [Fact] // [Trait("Level", "L0")] // [Trait("Category", "Worker")] // public void SetEndpointWithoutEndpointId() // { // SetupMocks(); // TaskCommandExtension commandExtension = new TaskCommandExtension(); // var cmd = new Command("task", "setEndpoint"); // cmd.Properties.Add("field", "url"); // Assert.Throws(() => commandExtension.ProcessCommand(_ec.Object, cmd)); // } // [Fact] // [Trait("Level", "L0")] // [Trait("Category", "Worker")] // public void SetEndpointInvalidEndpointId() // { // SetupMocks(); // TaskCommandExtension commandExtension = new TaskCommandExtension(); // var cmd = new Command("task", "setEndpoint"); // cmd.Properties.Add("field", "url"); // cmd.Properties.Add("id", "blah"); // Assert.Throws(() => commandExtension.ProcessCommand(_ec.Object, cmd)); // } // [Fact] // [Trait("Level", "L0")] // [Trait("Category", "Worker")] // public void SetEndpointIdWithoutEndpointKey() // { // SetupMocks(); // TaskCommandExtension commandExtension = new TaskCommandExtension(); // var cmd = new Command("task", "setEndpoint"); // cmd.Properties.Add("field", "authParameter"); // cmd.Properties.Add("id", Guid.Empty.ToString()); // Assert.Throws(() => commandExtension.ProcessCommand(_ec.Object, cmd)); // } // [Fact] // [Trait("Level", "L0")] // [Trait("Category", "Worker")] // public void SetEndpointUrlWithInvalidValue() // { // SetupMocks(); // TaskCommandExtension commandExtension = new TaskCommandExtension(); // var cmd = new Command("task", "setEndpoint"); // cmd.Data = "blah"; // cmd.Properties.Add("field", "url"); // cmd.Properties.Add("id", Guid.Empty.ToString()); // Assert.Throws(() => commandExtension.ProcessCommand(_ec.Object, cmd)); // } // private void SetupMocks([CallerMemberName] string name = "") // { // _hc = new TestHostContext(this, name); // _ec = new Mock(); // _endpoint = new ServiceEndpoint() // { // Id = Guid.Empty, // Url = new Uri("https://test.com"), // Authorization = new EndpointAuthorization() // { // Scheme = "Test", // } // }; // _ec.Setup(x => x.Endpoints).Returns(new List { _endpoint }); // } // } // }