Ejemplo n.º 1
0
        public void GetPublishedEvents()
        {
            var publishedEvents = new PublishedEventsByServiceDto
            {
                ServiceName     = "MeinService",
                PublishedEvents = { new EventSchema("event1"), new EventSchema("event2") }
            };
            var mockHttp = new MockHttpMessageHandler();

            mockHttp.When("http://localhost:5000/Dicovery/PublishedEvents")
            .Respond("application/json", JsonConvert.SerializeObject(publishedEvents));

            var client = new HttpClient(mockHttp);

            client.BaseAddress = new Uri("http://localhost:5000/");

            var mock = new Mock <IDiscoveryClientFactory>();

            mock.Setup(m => m.GetClient(It.IsAny <Uri>())).ReturnsAsync(client);
            var serviceDiscoveryRepository = new DiscoveryRepository(mock.Object, new MicrowaveLogger <DiscoveryRepository>());
            var serviceAdress       = new Uri("http://localhost:5000/");
            var publishedEventTypes = serviceDiscoveryRepository.GetPublishedEventTypes(serviceAdress);

            var publisherEventConfig = publishedEventTypes.Result;

            Assert.AreEqual(serviceAdress, publisherEventConfig.ServiceEndPoint.ServiceBaseAddress);
            var eventTypes = publisherEventConfig.PublishedEventTypes.ToList();

            Assert.AreEqual(2, eventTypes.Count);
            Assert.AreEqual("event1", eventTypes[0].Name);
            Assert.AreEqual("event2", eventTypes[1].Name);
            Assert.AreEqual("MeinService", publisherEventConfig.ServiceEndPoint.Name);
        }
Ejemplo n.º 2
0
        public async Task GetServiceDependencies_Unauthorized()
        {
            var mockHttp = new MockHttpMessageHandler();

            mockHttp.When("http://localhost:5000/Dicovery/ServiceDependencies")
            .Respond(HttpStatusCode.Unauthorized);

            var client = new HttpClient(mockHttp);

            client.BaseAddress = new Uri("http://localhost:5000/");

            var mock = new Mock <IDiscoveryClientFactory>();

            mock.Setup(m => m.GetClient(It.IsAny <Uri>())).ReturnsAsync(client);
            var serviceDiscoveryRepository = new DiscoveryRepository(mock.Object, new MicrowaveLogger <DiscoveryRepository>());
            var serviceAddress             = new Uri("http://localhost:5000/");

            var serviceNode = await serviceDiscoveryRepository.GetDependantServices(serviceAddress);

            Assert.IsFalse(serviceNode.IsReachable);
        }
Ejemplo n.º 3
0
        public async Task GetServiceDependencies()
        {
            var serviceNodeWithDependentServicesDto = MicrowaveServiceNode.ReachableMicrowaveServiceNode(new ServiceEndPoint(null, "ServiceName"),
                                                                                                         new List <ServiceEndPoint>
            {
                new ServiceEndPoint(new Uri("http://remoteservice1.de"), "RemoteName1"),
                new ServiceEndPoint(new Uri("http://remoteservice2.de"), "RemoteName2"),
            });

            var mockHttp        = new MockHttpMessageHandler();
            var serializeObject = JsonConvert.SerializeObject(serviceNodeWithDependentServicesDto);

            mockHttp.When("http://localhost:5000/Dicovery/ServiceDependencies")
            .Respond("application/json", serializeObject);

            var client = new HttpClient(mockHttp);

            client.BaseAddress = new Uri("http://localhost:5000/");

            var mock = new Mock <IDiscoveryClientFactory>();

            mock.Setup(m => m.GetClient(It.IsAny <Uri>())).ReturnsAsync(client);
            var serviceDiscoveryRepository = new DiscoveryRepository(mock.Object, new MicrowaveLogger <DiscoveryRepository>());
            var serviceAddress             = new Uri("http://localhost:5000/");

            var serviceNode = await serviceDiscoveryRepository.GetDependantServices(serviceAddress);

            var dependantServices = serviceNode.ConnectedServices.ToList();

            Assert.AreEqual(2, dependantServices.Count);
            Assert.AreEqual("ServiceName", serviceNode.ServiceEndPoint.Name);
            Assert.AreEqual(new Uri("http://localhost:5000/"), serviceNode.ServiceEndPoint.ServiceBaseAddress);
            Assert.AreEqual("RemoteName1", dependantServices[0].Name);
            Assert.AreEqual("RemoteName2", dependantServices[1].Name);
            Assert.AreEqual(new Uri("http://remoteservice1.de"), dependantServices[0].ServiceBaseAddress);
            Assert.AreEqual(new Uri("http://remoteservice2.de"), dependantServices[1].ServiceBaseAddress);
        }