public void Cloud() { var options = new NetworkingOptions(); var loggerFactory = new NullLoggerFactory(); options.Addresses.Clear(); options.Cloud.DiscoveryToken = null; Assert.That(options.Cloud.Enabled, Is.False); options.Cloud.DiscoveryToken = "*****"; Assert.That(options.Cloud.Enabled, Is.True); options.Cloud.Url = null; Assert.Throws <ArgumentNullException>(() => _ = new AddressProvider(options, loggerFactory)); options.Cloud.Url = 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.6:5788"", ""public-address"":""192.147.0.6"" }, { ""private-address"":""192.0.0.7"", ""public-address"":""192.147.0.7"" }, { ""private-address"":""192.0.0.8:5777"", ""public-address"":""192.147.0.8:5703"" }, { ""private-address"":""192.0.0.9"", ""public-address"":""192.147.0.9:5707"" }, ]");
public async Task Exceptions() { var endpoint = NetworkAddress.Parse("127.0.0.1:5701").IPEndPoint; var options = new NetworkingOptions(); await using var connection = new ClientSocketConnection(Guid.NewGuid(), endpoint, options, new SslOptions(), new NullLoggerFactory(), 3); // OnReceiveMessageBytes is missing Assert.ThrowsAsync <InvalidOperationException>(async() => await connection.ConnectAsync(default));
private static ICollection <NetworkAddress> GetAddresses(string address) { var options = new NetworkingOptions(); options.Addresses.Clear(); options.Addresses.Add(address); var a = new AddressProvider(options, new NullLoggerFactory()); return(a.CreateMapFromConfiguration().Values); }
/// <summary> /// Initializes a new instance of the <see cref="MemberConnection"/> class. /// </summary> /// <param name="address">The network address.</param> /// <param name="authenticator">The authenticator.</param> /// <param name="messagingOptions">Messaging options.</param> /// <param name="networkingOptions">Networking options.</param> /// <param name="sslOptions">SSL options.</param> /// <param name="correlationIdSequence">A sequence of unique correlation identifiers.</param> /// <param name="loggerFactory">A logger factory.</param> public MemberConnection(NetworkAddress address, Authenticator authenticator, MessagingOptions messagingOptions, NetworkingOptions networkingOptions, SslOptions sslOptions, ISequence <long> correlationIdSequence, ILoggerFactory loggerFactory) { Address = address ?? throw new ArgumentNullException(nameof(address)); _authenticator = authenticator ?? throw new ArgumentNullException(nameof(authenticator)); _messagingOptions = messagingOptions ?? throw new ArgumentNullException(nameof(messagingOptions)); _networkingOptions = networkingOptions ?? throw new ArgumentNullException(nameof(networkingOptions)); _sslOptions = sslOptions ?? throw new ArgumentNullException(nameof(sslOptions)); _correlationIdSequence = correlationIdSequence ?? throw new ArgumentNullException(nameof(correlationIdSequence)); _loggerFactory = loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory)); _logger = loggerFactory.CreateLogger <MemberConnection>(); HConsole.Configure(x => x.Configure <MemberConnection>().SetIndent(4).SetPrefix("MBR.CONN")); }
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); } }
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)); }