public async void RegisterAsync_InvokesServer_ReturnsStatusCodeAndHeaders() { IHostingEnvironment envir = new HostingEnvironment(); TestConfigServerStartup.Response = ""; TestConfigServerStartup.ReturnStatus = 204; var builder = new WebHostBuilder().UseStartup <TestConfigServerStartup>().UseEnvironment(envir.EnvironmentName); var server = new TestServer(builder); var uri = "http://localhost:8888/"; server.BaseAddress = new Uri(uri); EurekaInstanceConfig config = new EurekaInstanceConfig(); InstanceInfo info = InstanceInfo.FromInstanceConfig(config); var cconfig = new EurekaClientConfig() { EurekaServerServiceUrls = uri }; var client = new EurekaHttpClient(cconfig, server.CreateClient()); EurekaHttpResponse resp = await client.RegisterAsync(info); Assert.NotNull(resp); Assert.Equal(HttpStatusCode.NoContent, resp.StatusCode); Assert.NotNull(resp.Headers); }
public async void Register_Throws_IfInstanceInfoNull() { var config = new EurekaClientConfig(); var client = new EurekaHttpClient(config); var ex = await Assert.ThrowsAsync <ArgumentNullException>(() => client.RegisterAsync(null)); Assert.Contains("info", ex.Message); }
public async System.Threading.Tasks.Task RegisterAsync_ThrowsHttpRequestException_ServerTimeout() { var config = new EurekaClientConfig() { EurekaServerServiceUrls = "http://localhost:9999/", EurekaServerRetryCount = 0 }; var client = new EurekaHttpClient(config); var ex = await Assert.ThrowsAsync <EurekaTransportException>(() => client.RegisterAsync(new InstanceInfo())); }
public void TestRegister() { var tmp = Uri.EscapeDataString("AA-BB:DD CC?"); var clientConfig = new EurekaClientConfig(); ConfigurationBinder.Bind(Configuration.GetSection("eureka:client"), clientConfig); // Build Eureka instance info config from configuration var instConfig = new EurekaInstanceConfig(); ConfigurationBinder.Bind(Configuration.GetSection("eureka:instance"), instConfig); IEurekaHttpClient eurekaHttpClient = new EurekaHttpClient(clientConfig); var result = eurekaHttpClient.RegisterAsync(InstanceInfo.FromInstanceConfig(instConfig)).ConfigureAwait(false).GetAwaiter().GetResult(); }
public async void RegisterAsync_SendsValidPOSTData() { IHostingEnvironment envir = new HostingEnvironment(); TestConfigServerStartup.Response = ""; TestConfigServerStartup.ReturnStatus = 204; var builder = new WebHostBuilder().UseStartup <TestConfigServerStartup>().UseEnvironment(envir.EnvironmentName); var server = new TestServer(builder); var uri = "http://localhost:8888/"; server.BaseAddress = new Uri(uri); EurekaInstanceConfig config = new EurekaInstanceConfig() { AppName = "foobar" }; InstanceInfo info = InstanceInfo.FromInstanceConfig(config); var cconfig = new EurekaClientConfig() { EurekaServerServiceUrls = uri }; var client = new EurekaHttpClient(cconfig, server.CreateClient()); EurekaHttpResponse resp = await client.RegisterAsync(info); Assert.NotNull(TestConfigServerStartup.LastRequest); Assert.Equal("POST", TestConfigServerStartup.LastRequest.Method); Assert.Equal("localhost:8888", TestConfigServerStartup.LastRequest.Host.Value); Assert.Equal("/apps/FOOBAR", TestConfigServerStartup.LastRequest.Path.Value); // Check JSON payload JsonInstanceInfoRoot recvJson = JsonInstanceInfoRoot.Deserialize(TestConfigServerStartup.RequestBody); Assert.NotNull(recvJson); Assert.NotNull(recvJson.Instance); // Compare a few random values JsonInstanceInfo sentJsonObj = info.ToJsonInstance(); Assert.Equal(sentJsonObj.Actiontype, recvJson.Instance.Actiontype); Assert.Equal(sentJsonObj.AppName, recvJson.Instance.AppName); Assert.Equal(sentJsonObj.HostName, recvJson.Instance.HostName); }
public async void RegisterAsync_InvokesServer_ReturnsStatusCodeAndHeaders() { var startup = new TestConfigServerStartup("", 204); var server = TestServer.Create(startup.Configure); var uri = "http://localhost:8888/"; server.BaseAddress = new Uri(uri); EurekaInstanceConfig config = new EurekaInstanceConfig(); InstanceInfo info = InstanceInfo.FromInstanceConfig(config); var cconfig = new EurekaClientConfig() { EurekaServerServiceUrls = uri }; var client = new EurekaHttpClient(cconfig, server.CreateClient()); EurekaHttpResponse resp = await client.RegisterAsync(info); Assert.NotNull(resp); Assert.Equal(HttpStatusCode.NoContent, resp.StatusCode); Assert.NotNull(resp.Headers); }
public async void RegisterAsync_ThrowsHttpRequestException_ServerTimeout() { var config = new EurekaClientConfig() { EurekaServerServiceUrls = "http://localhost:9999/" }; var client = new EurekaHttpClient(config); HttpRequestException ex = await Assert.ThrowsAsync <HttpRequestException>(() => client.RegisterAsync(new InstanceInfo())); }