예제 #1
0
        public void ShouldParseLoopbackWhenIPv6Preferred()
        {
            var resolver    = new DefaultHostResolver(true);
            var ipAddresses = resolver.Resolve("127.0.0.1");

            ipAddresses.Should().HaveCount(2).And.ContainInOrder(IPAddress.IPv6Loopback, IPAddress.Loopback);
        }
예제 #2
0
        public async void ShouldNotResolveLocalhostOnMonoAsync(bool ipv6Preferred)
        {
            var resolverMock = new Mock <IHostResolver>(MockBehavior.Strict);
            var resolver     = new DefaultHostResolver(resolverMock.Object, ipv6Preferred);

            await resolver.ResolveAsync("localhost");
        }
예제 #3
0
        public void ShouldParseLoopback()
        {
            var resolver    = new DefaultHostResolver(false);
            var ipAddresses = resolver.Resolve("127.0.0.1");

            ipAddresses.Should().HaveCount(1).And.Contain(IPAddress.Loopback);
        }
예제 #4
0
        public async void ShouldParseIPv6LoopbackAsync(bool ipv6Preferred)
        {
            var resolver    = new DefaultHostResolver(ipv6Preferred);
            var ipAddresses = await resolver.ResolveAsync("[::1]");

            ipAddresses.Should().HaveCount(1).And.Contain(IPAddress.IPv6Loopback);
        }
예제 #5
0
 public void HostResolverLifetime()
 {
     var elg          = new EventLoopGroup(1);
     var hostResolver = new DefaultHostResolver(elg, 8);
     // When hostResolver goes out of scope, the native handle will be released
     // Then elg should be released
 }
예제 #6
0
 public void ClientBootstrapLifetime()
 {
     var elg          = new EventLoopGroup(1);
     var hostResolver = new DefaultHostResolver(elg);
     var bootstrap    = new ClientBootstrap(elg, hostResolver);
     // When these go out of scope, the native handle will be released
 }
예제 #7
0
        public async void ShouldResolveAsync(bool ipv6Preferred)
        {
            var resolverMock = new Mock <IHostResolver>();
            var resolver     = new DefaultHostResolver(resolverMock.Object, ipv6Preferred);

            await resolver.ResolveAsync("some_host");

            resolverMock.Verify(r => r.ResolveAsync("some_host"));
        }
예제 #8
0
        public async void ShouldParseLocalhostAsync(bool ipv6Preferred)
        {
            var resolver    = new DefaultHostResolver(ipv6Preferred);
            var ipAddresses = await resolver.ResolveAsync("LocALhOsT");

#if NET452
            ipAddresses.Should().Contain(IPAddress.IPv6Loopback);
            ipAddresses.Should().Contain(IPAddress.Loopback);
            ipAddresses.Should().Contain(IPAddress.Parse("[::1]"));
#endif
            ipAddresses.Should().Contain(IPAddress.Parse("127.0.0.1"));
        }
예제 #9
0
        public async void ShouldOrderIPv6FirstWhenIPv6PreferredAsync()
        {
            var resolverMock = new Mock <IHostResolver>();

            resolverMock.Setup(x => x.ResolveAsync(It.IsAny <string>())).Returns(Task.FromResult(new[]
                                                                                                 { IPAddress.Parse("10.0.0.1"), IPAddress.Parse("[::1]"), IPAddress.Parse("192.168.0.11") }));

            var resolver    = new DefaultHostResolver(resolverMock.Object, true);
            var ipAddresses = await resolver.ResolveAsync("some_host");

            ipAddresses.Should().HaveCount(3).And.ContainInOrder(IPAddress.Parse("[::1]"), IPAddress.Parse("10.0.0.1"),
                                                                 IPAddress.Parse("192.168.0.11"));
        }
예제 #10
0
        public void ShouldOrderIPv4First()
        {
            var resolverMock = new Mock <IHostResolver>();

            resolverMock.Setup(x => x.Resolve(It.IsAny <string>())).Returns(new[]
                                                                            { IPAddress.Parse("[::1]"), IPAddress.Parse("10.0.0.1"), IPAddress.Parse("192.168.0.11") });

            var resolver    = new DefaultHostResolver(resolverMock.Object, false);
            var ipAddresses = resolver.Resolve("some_host");

            ipAddresses.Should().HaveCount(3).And.ContainInOrder(IPAddress.Parse("10.0.0.1"),
                                                                 IPAddress.Parse("192.168.0.11"), IPAddress.Parse("[::1]"));
        }