Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        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));
        }