Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        public void Deserialize_GoodJson()
        {
            var json   = @"
{ 
    ""instance"":
    {
        ""instanceId"":""DESKTOP-GNQ5SUT"",
        ""app"":""FOOBAR"",
        ""appGroupName"":null,
        ""ipAddr"":""192.168.0.147"",
        ""sid"":""na"",
        ""port"":{""@enabled"":true,""$"":80},
        ""securePort"":{""@enabled"":false,""$"":443},
        ""homePageUrl"":""http://*****:*****@class"":""com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo"",""name"":""MyOwn""},
        ""hostName"":""DESKTOP-GNQ5SUT"",
        ""status"":""UP"",
        ""overriddenstatus"":""UNKNOWN"",
        ""leaseInfo"":{""renewalIntervalInSecs"":30,""durationInSecs"":90,""registrationTimestamp"":0,""lastRenewalTimestamp"":0,""renewalTimestamp"":0,""evictionTimestamp"":0,""serviceUpTimestamp"":0},
        ""isCoordinatingDiscoveryServer"":false,
        ""metadata"":{""@class"":""java.util.Collections$EmptyMap"",""metadata"":null},
        ""lastUpdatedTimestamp"":1458116137663,
        ""lastDirtyTimestamp"":1458116137663,
        ""actionType"":""ADDED"",
        ""asgName"":null
    }
}";
            var stream = TestHelpers.StringToStream(json);
            var result = JsonInstanceInfoRoot.Deserialize(stream);

            Assert.NotNull(result);
            Assert.NotNull(result.Instance);

            // Random check some values
            Assert.Equal(ActionType.ADDED, result.Instance.Actiontype);
            Assert.Equal("http://DESKTOP-GNQ5SUT:80/healthcheck", result.Instance.HealthCheckUrl);
            Assert.Equal("FOOBAR", result.Instance.AppName);
        }
Esempio n. 3
0
        public void Deserialize_GoodJson()
        {
            var    json   = @"{ 
'instance':
    {
    'instanceId':'DESKTOP-GNQ5SUT',
    'app':'FOOBAR',
    'appGroupName':null,
    'ipAddr':'192.168.0.147',
    'sid':'na',
    'port':{'@enabled':true,'$':80},
    'securePort':{'@enabled':false,'$':443},
    'homePageUrl':'http://*****:*****@class':'com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo','name':'MyOwn'},
    'hostName':'DESKTOP-GNQ5SUT',
    'status':'UP',
    'overriddenstatus':'UNKNOWN',
    'leaseInfo':{'renewalIntervalInSecs':30,'durationInSecs':90,'registrationTimestamp':0,'lastRenewalTimestamp':0,'renewalTimestamp':0,'evictionTimestamp':0,'serviceUpTimestamp':0},
    'isCoordinatingDiscoveryServer':false,
    'metadata':{'@class':'java.util.Collections$EmptyMap','metadata':null},
    'lastUpdatedTimestamp':1458116137663,
    'lastDirtyTimestamp':1458116137663,
    'actionType':'ADDED',
    'asgName':null
    }
}";
            Stream stream = TestHelpers.StringToStream(json);
            var    result = JsonInstanceInfoRoot.Deserialize(stream);

            Assert.NotNull(result);
            Assert.NotNull(result.Instance);

            // Random check some values
            Assert.Equal(ActionType.ADDED, result.Instance.Actiontype);
            Assert.Equal("http://DESKTOP-GNQ5SUT:80/healthcheck", result.Instance.HealthCheckUrl);
            Assert.Equal("FOOBAR", result.Instance.AppName);
        }