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 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(); }