public async Task Handle_ResponseAvaiable() { IPv6HeaderInformation headerInformation = new IPv6HeaderInformation( IPv6Address.FromString("fe80::2"), IPv6Address.FromString("fe80::1")); DHCPv6Packet packet = DHCPv6Packet.AsOuter(headerInformation, 1, DHCPv6PacketTypes.Solicit, new List <DHCPv6PacketOption>()); DHCPv6Packet reseponsePacket = DHCPv6Packet.AsOuter(IPv6HeaderInformation.AsResponse(headerInformation), 1, DHCPv6PacketTypes.ADVERTISE, new List <DHCPv6PacketOption>()); Mock <IDHCPv6LeaseEngine> leaseEngineMock = new Mock <IDHCPv6LeaseEngine>(MockBehavior.Strict); leaseEngineMock.Setup(x => x.HandlePacket(packet)).ReturnsAsync(reseponsePacket).Verifiable(); Mock <IServiceBus> serviceBusMock = new Mock <IServiceBus>(MockBehavior.Strict); serviceBusMock.Setup(x => x.Publish(It.Is <DHCPv6PacketReadyToSendMessage>(y => y.Packet == reseponsePacket))).Returns(Task.CompletedTask).Verifiable(); ValidDHCPv6PacketArrivedMessageHandler handler = new ValidDHCPv6PacketArrivedMessageHandler( serviceBusMock.Object, leaseEngineMock.Object, Mock.Of <ILogger <ValidDHCPv6PacketArrivedMessageHandler> >()); await handler.Handle(new ValidDHCPv6PacketArrivedMessage(packet), CancellationToken.None); leaseEngineMock.Verify(); serviceBusMock.Verify(); }
public void AsReponse() { IPv6HeaderInformation requestHeader = new IPv6HeaderInformation( IPv6Address.FromString("fe80::1"), IPv6Address.FromString("fe80::2") ); IPv6HeaderInformation responseHeader = IPv6HeaderInformation.AsResponse(requestHeader); Assert.Equal(requestHeader.Destionation, responseHeader.Source); Assert.Equal(requestHeader.Source, responseHeader.Destionation); }