Exemplo n.º 1
0
        public void Cloud()
        {
            var options       = new NetworkingOptions();
            var loggerFactory = new NullLoggerFactory();

            options.Addresses.Clear();

            options.Cloud.Enabled = true;

            options.Cloud.DiscoveryToken = null;
            Assert.Throws <ArgumentException>(() => _ = new AddressProvider(options, loggerFactory));
            options.Cloud.DiscoveryToken = "*****";

            options.Cloud.UrlBase = null;
            Assert.Throws <ArgumentNullException>(() => _ = new AddressProvider(options, loggerFactory));
            options.Cloud.UrlBase = new Uri("http://xxxxx");

            options.Addresses.Add("192.0.0.1:5701");
            Assert.Throws <ConfigurationException>(() => _ = new AddressProvider(options, loggerFactory));

            options.Addresses.Clear();

            CloudDiscovery.SetResponse(@"[
    { ""private-address"":""192.0.0.7"", ""public-address"":""192.147.0.7"" },
    { ""private-address"":""192.0.0.8"", ""public-address"":""192.147.0.8"" },
    { ""private-address"":""192.0.0.9"", ""public-address"":""192.147.0.9:5707"" },
]");

            try
            {
                var addressProvider = new AddressProvider(options, loggerFactory);

                Assert.That(addressProvider.Map(new NetworkAddress("192.0.0.7")), Is.EqualTo(new NetworkAddress("192.147.0.7")));
                Assert.That(addressProvider.Map(new NetworkAddress("192.0.0.8")), Is.EqualTo(new NetworkAddress("192.147.0.8")));
                Assert.That(addressProvider.Map(new NetworkAddress("192.0.0.9", 5707)), Is.EqualTo(new NetworkAddress("192.147.0.9", 5707)));
                Assert.That(addressProvider.Map(new NetworkAddress("192.0.0.10")), Is.Null);

                Assert.That(addressProvider.GetAddresses().Count(), Is.EqualTo(3));
                Assert.That(addressProvider.GetAddresses(), Does.Contain(new NetworkAddress("192.0.0.7")));
                Assert.That(addressProvider.GetAddresses(), Does.Contain(new NetworkAddress("192.0.0.8")));
                Assert.That(addressProvider.GetAddresses(), Does.Contain(new NetworkAddress("192.0.0.9", 5707)));

                addressProvider = new AddressProvider(options, loggerFactory);
                Assert.That(addressProvider.Map(new NetworkAddress("192.0.0.10")), Is.Null);
                Assert.That(addressProvider.Map(new NetworkAddress("192.0.0.10")), Is.Null);
            }
            finally
            {
                CloudDiscovery.SetResponse(null);
            }
        }
Exemplo n.º 2
0
        public void TestConfigAddressProvider_emptyAddress()
        {
            var cfg = new ClientConfig();

            var addressProvider = new AddressProvider(cfg);
            var addresses       = addressProvider.GetAddresses().ToList();

            Assert.AreEqual(addresses[0], new Address("localhost", 5701));
            Assert.AreEqual(addresses[1], new Address("localhost", 5702));
            Assert.AreEqual(addresses[2], new Address("localhost", 5703));
        }
Exemplo n.º 3
0
        public void TestConfigAddressProvider_emptyAddress()
        {
            var cfg = new Configuration();

            var addressProvider = new AddressProvider(cfg.NetworkConfig, new HazelcastProperties(new Dictionary <string, string>()));
            var addresses       = addressProvider.GetAddresses().ToList();

            Assert.AreEqual(addresses[0], new Address("localhost", 5701));
            Assert.AreEqual(addresses[1], new Address("localhost", 5702));
            Assert.AreEqual(addresses[2], new Address("localhost", 5703));
        }
Exemplo n.º 4
0
        public void TestMultipleAddressProvider()
        {
            var cfg = new ClientConfig();

            cfg.GetNetworkConfig().AddAddress("10.0.0.1:5701", "10.0.0.2:5702", "10.0.0.3:5703");
            cfg.GetNetworkConfig().GetCloudConfig().SetEnabled(true).SetDiscoveryToken("TOKEN");

            Assert.Catch <InvalidConfigurationException>(() =>
            {
                var addressProvider = new AddressProvider(cfg);
                addressProvider.GetAddresses();
            });
        }
Exemplo n.º 5
0
        public void TestConfigAddressProvider()
        {
            var cfg = new ClientConfig();

            cfg.GetNetworkConfig().AddAddress("10.0.0.1:5701", "10.0.0.2:5702", "10.0.0.3:5703");

            var addressProvider = new AddressProvider(cfg);
            var addresses       = addressProvider.GetAddresses().ToList();

            Assert.AreEqual(addresses[0], new Address("10.0.0.1", 5701));
            Assert.AreEqual(addresses[1], new Address("10.0.0.2", 5702));
            Assert.AreEqual(addresses[2], new Address("10.0.0.3", 5703));
        }
Exemplo n.º 6
0
        public void TestConfigAddressProvider()
        {
            var cfg = new Configuration();

            cfg.NetworkConfig.AddAddress("10.0.0.1:5701", "10.0.0.2:5702", "10.0.0.3:5703");

            var addressProvider = new AddressProvider(cfg.NetworkConfig, new HazelcastProperties(new Dictionary <string, string>()));
            var addresses       = addressProvider.GetAddresses().ToList();

            Assert.AreEqual(addresses[0], new Address("10.0.0.1", 5701));
            Assert.AreEqual(addresses[1], new Address("10.0.0.2", 5702));
            Assert.AreEqual(addresses[2], new Address("10.0.0.3", 5703));
        }
        public void Test()
        {
            var options       = new NetworkingOptions();
            var loggerFactory = new NullLoggerFactory();

            var addressProvider = new AddressProvider(options, loggerFactory);

            Assert.That(addressProvider.GetAddresses().Count(), Is.EqualTo(3));
            Assert.That(addressProvider.GetAddresses(), Does.Contain(new NetworkAddress("127.0.0.1", 5701)));
            Assert.That(addressProvider.GetAddresses(), Does.Contain(new NetworkAddress("127.0.0.1", 5702)));
            Assert.That(addressProvider.GetAddresses(), Does.Contain(new NetworkAddress("127.0.0.1", 5703)));

            options.Addresses.Clear();
            options.Addresses.Add("##??##");

            addressProvider = new AddressProvider(options, loggerFactory);

            Assert.Throws <FormatException>(() => _ = addressProvider.GetAddresses());

            options.Addresses.Clear();
            options.Addresses.Add("192.0.0.1:5701");
            options.Addresses.Add("192.0.0.1:5702");
            options.Addresses.Add("192.0.0.1:5703");

            addressProvider = new AddressProvider(options, loggerFactory);

            Assert.That(addressProvider.GetAddresses().Count(), Is.EqualTo(3));
            Assert.That(addressProvider.GetAddresses(), Does.Contain(new NetworkAddress("192.0.0.1", 5701)));
            Assert.That(addressProvider.GetAddresses(), Does.Contain(new NetworkAddress("192.0.0.1", 5702)));
            Assert.That(addressProvider.GetAddresses(), Does.Contain(new NetworkAddress("192.0.0.1", 5703)));

            var address = new NetworkAddress("192.0.0.1");

            Assert.That(addressProvider.Map(address), Is.SameAs(address));

            address = new NetworkAddress("192.168.0.4");
            Assert.That(addressProvider.Map(address), Is.SameAs(address));
        }
Exemplo n.º 8
0
        public void TestHzCloudAddressProvider()
        {
            Environment.SetEnvironmentVariable(HazelcastCloudDiscovery.CloudUrlBaseProperty, LocalTestBaseUrl);
            var cfg = new ClientConfig();

            cfg.GetNetworkConfig().GetCloudConfig().SetEnabled(true).SetDiscoveryToken(DiscoveryToken);

            var addressProvider   = new AddressProvider(cfg);
            var providedAddresses = addressProvider.GetAddresses().ToList();

            Assert.IsNotEmpty(providedAddresses);
            foreach (var key in providedAddresses)
            {
                Assert.True(Addresses.ContainsKey(key));
                Assert.AreEqual(addressProvider.TranslateToPublic(key), Addresses[key]);
            }
        }
Exemplo n.º 9
0
        public void TestMultipleAddressProvider()
        {
            var cfg = new Configuration();

            cfg.NetworkConfig.AddAddress("10.0.0.1:5701", "10.0.0.2:5702", "10.0.0.3:5703");
            cfg.NetworkConfig.ConfigureHazelcastCloud(hazelcastCloudConfig =>
            {
                hazelcastCloudConfig.Enabled        = true;
                hazelcastCloudConfig.DiscoveryToken = "TOKEN";
            });


            Assert.Catch <InvalidConfigurationException>(() =>
            {
                var addressProvider = new AddressProvider(cfg.NetworkConfig, new HazelcastProperties(new Dictionary <string, string>()));
                addressProvider.GetAddresses();
            });
        }
Exemplo n.º 10
0
        public void TestHzCloudAddressProvider()
        {
            Environment.SetEnvironmentVariable(HazelcastProperties.CloudUrlBase.Name, LocalTestBaseUrl);
            var cfg = new Configuration();

            cfg.NetworkConfig.ConfigureHazelcastCloud(hzCloudCfg =>
            {
                hzCloudCfg.Enabled        = true;
                hzCloudCfg.DiscoveryToken = DiscoveryToken;
            });

            var addressProvider   = new AddressProvider(cfg);
            var providedAddresses = addressProvider.GetAddresses().ToList();

            Assert.IsNotEmpty(providedAddresses);
            foreach (var key in providedAddresses)
            {
                Assert.True(Addresses.ContainsKey(key));
                Assert.AreEqual(addressProvider.TranslateToPublic(key), Addresses[key]);
            }
        }