public async Task Handle_InterfaceNotFound() { Random random = new Random(); String interfaceName = random.GetAlphanumericString(); var possibleListeners = GetPossibleListeners(); var selectedListener = possibleListeners.ElementAt(1); var command = new CreateDHCPv4InterfaceListenerCommand( selectedListener.PhysicalInterfaceId, random.GetIPv4Address().ToString(), interfaceName); Mock <IDHCPv4InterfaceEngine> interfaceEngineMock = new Mock <IDHCPv4InterfaceEngine>(MockBehavior.Strict); interfaceEngineMock.Setup(x => x.GetPossibleListeners()).Returns(possibleListeners).Verifiable(); var commandHandler = new CreateDHCPv4InterfaceListenerCommandHandler( interfaceEngineMock.Object, Mock.Of <IDHCPv4StorageEngine>(MockBehavior.Strict), Mock.Of <ILogger <CreateDHCPv4InterfaceListenerCommandHandler> >()); Guid?result = await commandHandler.Handle(command, CancellationToken.None); Assert.False(result.HasValue); interfaceEngineMock.Verify(); }
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 CreateDHCPv4InterfaceListenerCommand( selectedListener.PhysicalInterfaceId, selectedListener.Address.ToString(), interfaceName); Mock <IDHCPv4InterfaceEngine> interfaceEngineMock = new Mock <IDHCPv4InterfaceEngine>(MockBehavior.Strict); interfaceEngineMock.Setup(x => x.GetPossibleListeners()).Returns(possibleListeners).Verifiable(); interfaceEngineMock.Setup(x => x.GetActiveListeners()).ReturnsAsync(possibleListeners.Take(1)).Verifiable(); Mock <IDHCPv4StorageEngine> storageEngineMock = new Mock <IDHCPv4StorageEngine>(MockBehavior.Strict); storageEngineMock.Setup(x => x.Save(It.Is <DHCPv4Listener>(y => y.Name == interfaceName && y.PhysicalInterfaceId == command.NicId && y.Address == IPv4Address.FromString(command.IPv4Addres) ))).ReturnsAsync(false).Verifiable(); var commandHandler = new CreateDHCPv4InterfaceListenerCommandHandler( interfaceEngineMock.Object, storageEngineMock.Object, Mock.Of <ILogger <CreateDHCPv4InterfaceListenerCommandHandler> >()); Guid?result = await commandHandler.Handle(command, CancellationToken.None); Assert.False(result.HasValue); interfaceEngineMock.Verify(); storageEngineMock.Verify(); }
public async Task <IActionResult> CreateListener([FromBody] CreateDHCPv4Listener listener) { if (ModelState.IsValid == false) { return(BadRequest(ModelState)); } var command = new CreateDHCPv4InterfaceListenerCommand(listener.InterfaceId, listener.IPv4Address, listener.Name); Guid?systemId = await _mediator.Send(command); if (systemId.HasValue == false) { return(BadRequest("unable to create listener")); } return(Ok(systemId.Value)); }