public async Task should_fail_when_endpoint_already_exists_by_address_and_protocol() { var endpoint = new Mongo.Infrastructure.Entities.ServiceEndpoint() { Id = Guid.NewGuid(), Address = "ipsum", Protocol = "dolor", Active = false }; var service = new Mongo.Infrastructure.Entities.Service() { Id = Guid.NewGuid(), Active = false, Name = "lorem", Endpoints = new[] { endpoint } }; var mockRepo = RepositoryUtils.MockRepository <Mongo.Infrastructure.Entities.Service>(service); var mockDbContext = new Mock <IDbContext>(); mockDbContext.Setup(db => db.Services).Returns(mockRepo.Object); var sut = new AddEndpointValidator(mockDbContext.Object); var result = await sut.ValidateAsync(new AddEndpoint(service.Id, Guid.NewGuid(), endpoint.Protocol, endpoint.Address)); result.Success.Should().BeFalse(); result.Errors.Any(e => e.Context == "endpoint" && e.Message.Contains(endpoint.Address)).Should().BeTrue(); }
public async Task should_succeed_when_endpoint_not_found() { var endpoint = new Mongo.Infrastructure.Entities.ServiceEndpoint() { Id = Guid.NewGuid(), Address = "ipsum", Protocol = "dolor", Active = false }; var service = new Mongo.Infrastructure.Entities.Service() { Id = Guid.NewGuid(), Active = false, Name = "lorem", Endpoints = new[] { endpoint } }; var mockRepo = RepositoryUtils.MockRepository(service); var mockDbContext = new Mock <IDbContext>(); mockDbContext.Setup(db => db.Services).Returns(mockRepo.Object); var sut = new AddEndpointValidator(mockDbContext.Object); var result = await sut.ValidateAsync(new AddEndpoint(service.Id, Guid.NewGuid(), endpoint.Protocol, Guid.NewGuid().ToString())); result.Success.Should().BeTrue(); }
public async Task should_fail_when_service_not_found() { var mockRepo = RepositoryUtils.MockRepository <Mongo.Infrastructure.Entities.Service>(); var mockDbContext = new Mock <IDbContext>(); mockDbContext.Setup(db => db.Services).Returns(mockRepo.Object); var sut = new AddEndpointValidator(mockDbContext.Object); var result = await sut.ValidateAsync(new AddEndpoint(Guid.NewGuid(), Guid.NewGuid(), "ipsum", "dolor")); result.Success.Should().BeFalse(); result.Errors.Any(e => e.Context == "service" && e.Message.Contains("Unable to load service")).Should().BeTrue(); }
public async Task should_succeed_when_command_valid() { var service = new Mongo.Infrastructure.Entities.Service() { Id = Guid.NewGuid(), Active = false, Name = "lorem", Endpoints = Enumerable.Empty <Mongo.Infrastructure.Entities.ServiceEndpoint>() }; var mockRepo = RepositoryUtils.MockRepository <Mongo.Infrastructure.Entities.Service>(service); var mockDbContext = new Mock <IDbContext>(); mockDbContext.Setup(db => db.Services).Returns(mockRepo.Object); var sut = new AddEndpointValidator(mockDbContext.Object); var result = await sut.ValidateAsync(new AddEndpoint(service.Id, Guid.NewGuid(), "ipsum", "dolor")); result.Success.Should().BeTrue(); }