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);
        }
Exemple #6
0
        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()));
 }