public void RegisterService_Creates_Correct_Url() { var url = new ConsulServiceRegistration("id", "name") { AclToken = "1234" }.ToPutUrl(); url.Should().Be("/v1/agent/service/register?token=1234"); }
public void RegisterService_IsSerialized_Correctly() { var model = new ConsulServiceRegistration("override", "name") { Port = 1, AclToken = "1234", Address = "addr", Tags = new[] { "a", "b" } }; model.ToJson().Should().Be("{\"ID\":\"override\",\"Name\":\"name\",\"Tags\":[\"a\",\"b\"],\"Address\":\"addr\",\"Port\":1}"); }
public async Task ServiceRegistrationConsulNotAccessible() { var clientMock = new Mock <IConsulClient>(); clientMock .Setup(c => c.Agent.ServiceRegister(It.IsAny <AgentServiceRegistration>(), It.IsAny <CancellationToken>())) .Returns(Task.FromResult(new WriteResult { StatusCode = HttpStatusCode.NotFound })); IServiceRegistry registry = new ConsulServiceRegistry(clientMock.Object, this._loggerFactory); var registration = new ConsulServiceRegistration(this._agentServiceRegistration, TimeSpan.FromSeconds(10), this._loggerFactory.CreateLogger <ConsulServiceRegistryTest>()); var exceptions = await Record.ExceptionAsync(() => registry.RegisterServiceAsync(registration)); exceptions.ShouldBeNull(); clientMock.Verify(client => client.Agent.ServiceRegister(this._agentServiceRegistration, default(CancellationToken)), Times.Once); }