public async Task Test_ZoneServer_GetEndpoint_ReturnsFail_On_Empty()
        {
            //arrange
            IServiceProvider     provider   = BuildServiceProvider <ZoneServerController>("Test", 1);
            ZoneServerController controller = provider.GetService <ZoneServerController>();

            //assert
            ResolveServiceEndpointResponse result = GetActionResultObject <ResolveServiceEndpointResponse>(await controller.GetServerEndpoint(1));

            //assert
            Assert.False(result.isSuccessful);
        }
        public async Task Test_ZoneServer_GetEndpoint_Succeeds_On_Known_Id(string endpoint, int port)
        {
            //arrange
            IServiceProvider      provider   = BuildServiceProvider <ZoneServerController>("Test", 1);
            ZoneServerController  controller = provider.GetService <ZoneServerController>();
            IZoneServerRepository repo       = provider.GetService <IZoneServerRepository>();
            await repo.TryCreateAsync(new ZoneInstanceEntryModel(endpoint, (short)port, 1));

            //assert
            ResolveServiceEndpointResponse result = GetActionResultObject <ResolveServiceEndpointResponse>(await controller.GetServerEndpoint(1));

            //assert
            Assert.True(result.isSuccessful);
            Assert.AreEqual(ResolveServiceEndpointResponseCode.Success, result.ResultCode);
            Assert.AreEqual(endpoint, result.Endpoint.EndpointAddress);
            Assert.AreEqual(port, result.Endpoint.EndpointPort);
        }
        public async Task Test_ZoneServer_GetEndpoint_ReturnsFail_On_NoExistingZoneId(int zoneId)
        {
            //arrange
            IServiceProvider      provider   = BuildServiceProvider <ZoneServerController>("Test", 1);
            ZoneServerController  controller = provider.GetService <ZoneServerController>();
            IZoneServerRepository repo       = provider.GetService <IZoneServerRepository>();
            await repo.TryCreateAsync(new ZoneInstanceEntryModel("127.0.0.1", 1080, 1));

            await repo.TryCreateAsync(new ZoneInstanceEntryModel("127.0.0.1", 1080, 1));

            await repo.TryCreateAsync(new ZoneInstanceEntryModel("127.0.0.1", 1080, 1));

            //assert
            ResolveServiceEndpointResponse result = GetActionResultObject <ResolveServiceEndpointResponse>(await controller.GetServerEndpoint(25));

            //assert
            Assert.False(result.isSuccessful);
        }