public async Task Handle_Failed_StorageEngine() { Random random = new Random(); String interfaceName = random.GetAlphanumericString(); var possibleListeners = GetPossibleListeners(); var selectedListener = possibleListeners.ElementAt(1); var command = new CreateDHCPv6InterfaceListenerCommand( selectedListener.PhysicalInterfaceId, selectedListener.Address.ToString(), interfaceName); Mock <IDHCPv6InterfaceEngine> interfaceEngineMock = new Mock <IDHCPv6InterfaceEngine>(MockBehavior.Strict); interfaceEngineMock.Setup(x => x.GetPossibleListeners()).Returns(possibleListeners).Verifiable(); interfaceEngineMock.Setup(x => x.GetActiveListeners()).ReturnsAsync(possibleListeners.Take(1)).Verifiable(); Mock <IDHCPv6StorageEngine> storageEngineMock = new Mock <IDHCPv6StorageEngine>(MockBehavior.Strict); storageEngineMock.Setup(x => x.Save(It.Is <DHCPv6Listener>(y => y.Name == interfaceName && y.PhysicalInterfaceId == command.NicId && y.Address == IPv6Address.FromString(command.IPv6Addres) ))).ReturnsAsync(false).Verifiable(); var commandHandler = new CreateDHCPv6InterfaceListenerCommandHandler( interfaceEngineMock.Object, storageEngineMock.Object, Mock.Of <ILogger <CreateDHCPv6InterfaceListenerCommandHandler> >()); Guid?result = await commandHandler.Handle(command, CancellationToken.None); Assert.False(result.HasValue); interfaceEngineMock.Verify(); storageEngineMock.Verify(); }
public async Task Handle_InterfaceNotFound() { Random random = new Random(); String interfaceName = random.GetAlphanumericString(); var possibleListeners = GetPossibleListeners(); var selectedListener = possibleListeners.ElementAt(1); var command = new CreateDHCPv6InterfaceListenerCommand( selectedListener.PhysicalInterfaceId, random.GetIPv6Address().ToString(), interfaceName); Mock <IDHCPv6InterfaceEngine> interfaceEngineMock = new Mock <IDHCPv6InterfaceEngine>(MockBehavior.Strict); interfaceEngineMock.Setup(x => x.GetPossibleListeners()).Returns(possibleListeners).Verifiable(); var commandHandler = new CreateDHCPv6InterfaceListenerCommandHandler( interfaceEngineMock.Object, Mock.Of <IDHCPv6StorageEngine>(MockBehavior.Strict), Mock.Of <ILogger <CreateDHCPv6InterfaceListenerCommandHandler> >()); Guid?result = await commandHandler.Handle(command, CancellationToken.None); Assert.False(result.HasValue); interfaceEngineMock.Verify(); }
public async Task <IActionResult> CreateListener([FromBody] CreateDHCPv6Listener listener) { if (ModelState.IsValid == false) { return(BadRequest(ModelState)); } var command = new CreateDHCPv6InterfaceListenerCommand(listener.InterfaceId, listener.IPv6Address, listener.Name); Guid?systemId = await _mediator.Send(command); if (systemId.HasValue == false) { return(BadRequest("unable to create listener")); } return(Ok(systemId.Value)); }