public void TestBumpVersion() { var n = NodeInformation.CreateSelfNode(endpoint); n.Properties.Add("test_key", new VersionedProperty { Version = 5, StringProperty = "test_value" }); Assert.Equal(5, n.LastKnownPropertyVersion); n.BumpVersion(); Assert.Equal(6, n.LastKnownPropertyVersion); n.Properties.Add("test_key2", new VersionedProperty { Version = 9, StringProperty = "test_value2" }); Assert.Equal(9, n.LastKnownPropertyVersion); n.BumpVersion(); Assert.Equal(10, n.LastKnownPropertyVersion); n.Properties["test_key"].Version = 7; Assert.Equal(10, n.LastKnownPropertyVersion); n.BumpVersion(); Assert.Equal(11, n.LastKnownPropertyVersion); }
public void TestGetSynopsis() { var n = NodeInformation.CreateSelfNode(endpoint); n.Properties.Add(new Dictionary <string, VersionedProperty> { { "test_key", new VersionedProperty { Version = 5, StringProperty = "test_value" } }, { "test_key2", new VersionedProperty { Version = 9, StringProperty = "test_value2" } } }); var ns = n.GetSynopsis(); Assert.Equal(endpoint, ns.Endpoint); Assert.Equal(Process.GetCurrentProcess().StartTime.ToFileTimeUtc(), ns.NodeVersion); Assert.Equal(9, ns.LastKnownPropertyVersion); }
public void TestGetDeltaFromOldNode() { var n = NodeInformation.CreateSelfNode(endpoint); n.Properties.Add(new Dictionary <string, VersionedProperty> { { "test_key", new VersionedProperty { Version = 5, StringProperty = "test_value" } }, { "test_key2", new VersionedProperty { Version = 9, StringProperty = "test_value2" } } }); var n2 = new NodeInformationSynopsis { Endpoint = endpoint, LastKnownPropertyVersion = 100, NodeVersion = n.NodeVersion - 1 }; var deltaN = n.GetDelta(n2, logger); Assert.Equal(n, deltaN); }
public void TestSelfNodeInitialState() { var n = NodeInformation.CreateSelfNode(endpoint); Assert.Equal(endpoint, n.Endpoint); Assert.Equal(NodeState.Live, n.NodeState); Assert.Equal(Process.GetCurrentProcess().StartTime.ToFileTimeUtc(), n.NodeVersion); Assert.Equal(1, n.LastKnownPropertyVersion); Assert.Single(n.Properties); }
public void TestUpdateNewNodeInformation() { var n = NodeInformation.CreateSelfNode(endpoint); n.Properties.Add(new Dictionary <string, VersionedProperty> { { "test_key", new VersionedProperty { Version = 5, StringProperty = "test_value" } }, { "test_key2", new VersionedProperty { Version = 9, StringProperty = "test_value2" } } }); var n2 = NodeInformation.CreateSelfNode(endpoint); n2.NodeVersion += 1; n2.Properties.Add(new Dictionary <string, VersionedProperty> { { "test_key", new VersionedProperty { Version = 2, StringProperty = "test_value" } } }); Assert.NotEqual(n2, n); var originN = n.Clone(); n.Update(n2, logger); Assert.Equal(n2, n); Assert.NotEqual(originN, n); }
public void PrintMessageSizeForClusterSize() { var node = CreateNode(SelfEndpoint, SeedsEndpoint); var baseIpAddress = IPAddress.Parse("192.168.1.1"); for (int i = 0; i < 10000; i++) { #pragma warning disable CS0618 baseIpAddress.Address++; #pragma warning restore CS0618 var endpoint = baseIpAddress.ToString() + ":19999"; node.nodeInformationDictionary.Add( endpoint, NodeInformation.CreateSelfNode(endpoint)); } var ping1Request = new Ping1Request { NodesSynopsis = { node.GetNodesSynposis() } }; logger.LogInformation("Ping1 request size: {0}", ping1Request.CalculateSize()); }
public void TestUpdateInitialSeedNode() { var n = NodeInformation.CreateSeedNode(endpoint); var n2 = NodeInformation.CreateSelfNode(endpoint); n.Update(n2, logger); Assert.Equal(n2.NodeVersion, n.NodeVersion); Assert.Equal(n2.NodeState, n.NodeState); Assert.Equal(n2.LastKnownPropertyVersion, n.LastKnownPropertyVersion); Assert.Equal(n2.Properties.Count, n.Properties.Count); n2.Properties.Add(new Dictionary <string, VersionedProperty> { { "test_key", new VersionedProperty { Version = 5, StringProperty = "test_value" } }, { "test_key2", new VersionedProperty { Version = 9, StringProperty = "test_value2" } } }); n2.BumpVersion(); n.Update(n2, logger); Assert.Equal(n2.NodeVersion, n.NodeVersion); Assert.Equal(n2.NodeState, n.NodeState); Assert.Equal(n2.LastKnownPropertyVersion, n.LastKnownPropertyVersion); Assert.Equal(n2.Properties, n.Properties); }
public void TestUpdateDeltaNodeInformation() { var n = NodeInformation.CreateSelfNode(endpoint); n.Properties.Add(new Dictionary <string, VersionedProperty> { { "test_key1", new VersionedProperty { Version = 5, StringProperty = "test_value" } }, { "test_key2", new VersionedProperty { Version = 9, StringProperty = "test_value2" } }, { "test_key3", new VersionedProperty { Version = 10, StringProperty = "test_value3" } } }); var n2 = n.Clone(); n2.Properties["test_key1"] = new VersionedProperty { Version = 11, StringProperty = "test_value1" }; n2.Properties.Remove("test_key2"); n2.Properties["test_key3"] = new VersionedProperty { Version = 6, StringProperty = "test_value3_old" }; n2.Properties.Add("test_key4", new VersionedProperty { Version = 12, StringProperty = "test_value4" }); var originN = n.Clone(); n.Update(n2, logger); Assert.Equal(originN.NodeVersion, n.NodeVersion); Assert.Equal(n2.LastKnownPropertyVersion, n.LastKnownPropertyVersion); Assert.Equal(5, n.Properties.Count); Assert.Equal(n2.NodeStateProperty, n.NodeStateProperty); Assert.Equal(n2.Properties["test_key1"], n.Properties["test_key1"]); Assert.Equal(originN.Properties["test_key2"], n.Properties["test_key2"]); Assert.Equal(originN.Properties["test_key3"], n.Properties["test_key3"]); Assert.Equal(n2.Properties["test_key4"], n.Properties["test_key4"]); }