public void ApplyValues() { String duidBytes = "000300015CA62DD98800"; LinkLayerAddressDUID duid = new LinkLayerAddressDUID( LinkLayerAddressDUID.DUIDLinkLayerTypes.Ethernet, new Byte[] { 0x5c, 0xa6, 0x2d, 0xd9, 0x88, 0x00 }); Mock <ISerializer> serializerMock = new Mock <ISerializer>(MockBehavior.Strict); serializerMock.Setup(x => x.Deserialze <String>(duidBytes)).Returns(duidBytes).Verifiable(); var resolver = new DHCPv6ClientDUIDResolver(); resolver.ApplyValues(new Dictionary <String, String> { { "ClientDuid", duidBytes }, }, serializerMock.Object); Assert.Equal(duid, resolver.ClientDuid); serializerMock.Verify(); var values = resolver.GetValues(); Dictionary <String, String> expectedValues = new Dictionary <string, string> { { "ClientDuid", duidBytes } }; Assert.Equal(expectedValues.ToArray(), values.ToArray()); }
public void PacketMeetsCondition(Boolean shouldMeetCondition) { Random random = new Random(); String duidBytes = "000300015CA62DD98800"; LinkLayerAddressDUID duid = new LinkLayerAddressDUID( LinkLayerAddressDUID.DUIDLinkLayerTypes.Ethernet, new Byte[] { 0x5c, 0xa6, 0x2d, 0xd9, 0x88, 0x00 }); Mock <ISerializer> serializerMock = new Mock <ISerializer>(MockBehavior.Strict); serializerMock.Setup(x => x.Deserialze <String>(duidBytes)).Returns(duidBytes).Verifiable(); var resolver = new DHCPv6ClientDUIDResolver(); resolver.ApplyValues(new Dictionary <String, String> { { "ClientDuid", duidBytes }, }, serializerMock.Object); var packet = DHCPv6RelayPacket.AsOuterRelay(new IPv6HeaderInformation(IPv6Address.FromString("fe80::1"), IPv6Address.FromString("fe80::2")), true, 1, random.GetIPv6Address(), random.GetIPv6Address(), Array.Empty <DHCPv6PacketOption>(), DHCPv6RelayPacket.AsInnerRelay( true, 0, IPv6Address.FromString("2004::1"), IPv6Address.FromString("fe80::1"), new DHCPv6PacketOption[] { }, DHCPv6Packet.AsInner(random.NextUInt16(), DHCPv6PacketTypes.Solicit, new[] { new DHCPv6PacketIdentifierOption(DHCPv6PacketOptionTypes.ClientIdentifier, shouldMeetCondition == true ? (DUID)duid : new UUIDDUID(random.NextGuid())) }))); Boolean result = resolver.PacketMeetsCondition(packet); Assert.Equal(shouldMeetCondition, result); serializerMock.Verify(); }
public void Constructor() { Random random = new Random(); Byte[] macAddress = random.NextBytes(6); LinkLayerAddressDUID duid = new LinkLayerAddressDUID(LinkLayerAddressDUID.DUIDLinkLayerTypes.Ethernet, macAddress); Assert.Equal(LinkLayerAddressDUID.DUIDLinkLayerTypes.Ethernet, duid.AddressType); Assert.Equal(DUIDTypes.LinkLayer, duid.Type); Assert.Equal(macAddress, duid.LinkLayerAddress); }
public void FromByteArray() { String rawInput = "00:03:00:01:f8:7b:20:06:ab:70"; Byte[] input = ByteConverter.FromString(rawInput, ':'); Byte[] macAddress = ByteConverter.FromString("f8:7b:20:06:ab:70", ':'); LinkLayerAddressDUID duid = LinkLayerAddressDUID.FromByteArray(input, 0); Assert.Equal(LinkLayerAddressDUID.DUIDLinkLayerTypes.Ethernet, duid.AddressType); Assert.Equal(DUIDTypes.LinkLayer, duid.Type); Assert.Equal(macAddress, duid.LinkLayerAddress); Byte[] asByteStream = duid.GetAsByteStream(); Assert.Equal(input, asByteStream); }
public void GetUniqueIdentifier() { LinkLayerAddressDUID duid = new LinkLayerAddressDUID( LinkLayerAddressDUID.DUIDLinkLayerTypes.Ethernet, new Byte[] { 0x5c, 0xa6, 0x2d, 0xd9, 0x88, 0x00 }); Random random = new Random(); var packet = DHCPv6RelayPacket.AsOuterRelay(new IPv6HeaderInformation(IPv6Address.FromString("fe80::1"), IPv6Address.FromString("fe80::2")), true, 1, random.GetIPv6Address(), random.GetIPv6Address(), Array.Empty <DHCPv6PacketOption>(), DHCPv6RelayPacket.AsInnerRelay( true, 0, IPv6Address.FromString("2004::1"), IPv6Address.FromString("fe80::1"), new DHCPv6PacketOption[] { }, DHCPv6Packet.AsInner(random.NextUInt16(), DHCPv6PacketTypes.Solicit, new[] { new DHCPv6PacketIdentifierOption(DHCPv6PacketOptionTypes.ClientIdentifier, duid) }))); var resolver = new DeviceBasedDHCPv6ClientDUIDResolver(Mock.Of <IDeviceService>(MockBehavior.Strict)); Assert.Equal(duid.GetAsByteStream(), resolver.GetUniqueIdentifier(packet)); }
public void GetUniqueIdentifier() { String duidBytes = "000300015CA62DD98800"; LinkLayerAddressDUID duid = new LinkLayerAddressDUID( LinkLayerAddressDUID.DUIDLinkLayerTypes.Ethernet, new Byte[] { 0x5c, 0xa6, 0x2d, 0xd9, 0x88, 0x00 }); Mock <ISerializer> serializerMock = new Mock <ISerializer>(MockBehavior.Strict); serializerMock.Setup(x => x.Deserialze <String>(duidBytes)).Returns(duidBytes).Verifiable(); var resolver = new DHCPv6ClientDUIDResolver(); resolver.ApplyValues(new Dictionary <String, String> { { "ClientDuid", duidBytes }, }, serializerMock.Object); Assert.Equal(duid.GetAsByteStream(), resolver.GetUniqueIdentifier(null)); }