public void TryUpdateEnvironmentParentAsync_should_return_true_and_set_new_parent_for_existent_environment() { const string oldParent = "root"; CreateEnvironmentNode("environment", oldParent, GetProperties()); var serviceDiscoveryManager = new ServiceDiscoveryManager(GetZooKeeperClient(), log: Log); serviceDiscoveryManager.GetEnvironmentAsync("environment") .GetAwaiter() .GetResult() .ParentEnvironment .Should() .BeEquivalentTo(oldParent); const string newParent = "newWorldRoot"; serviceDiscoveryManager.TryUpdateEnvironmentParentAsync("environment", newParent) .GetAwaiter() .GetResult() .Should() .BeTrue(); serviceDiscoveryManager.GetEnvironmentAsync("environment") .GetAwaiter() .GetResult() .ParentEnvironment .Should() .BeEquivalentTo(newParent); }
public void TryUpdateEnvironmentPropertiesAsync_should_return_false_and_do_not_create_non_existent_environment() { const string environment = "environment"; var updatedProperties = new Dictionary <string, string>() { ["updatedKey"] = "updatedValue" }; IEnvironmentInfoProperties UpdatePropertiesFunc(IEnvironmentInfoProperties props) { foreach (var property in updatedProperties) { props.Set(property.Key, property.Value); } return(props); } var serviceDiscoveryManager = new ServiceDiscoveryManager(GetZooKeeperClient(), log: Log); serviceDiscoveryManager.TryUpdateEnvironmentPropertiesAsync(environment, UpdatePropertiesFunc) .GetAwaiter() .GetResult() .Should() .BeFalse(); serviceDiscoveryManager.GetEnvironmentAsync(environment) .GetAwaiter() .GetResult() .Should() .BeNull(); }
public void TryCreatePermanentReplicaAsync_should_return_true_and_create_new_replica_environment_and_application_if_they_do_not_exist() { var replicaInfo = new ReplicaInfo("default", "vostok", "replica1", GetProperties()); var serviceDiscoveryManager = new ServiceDiscoveryManager(GetZooKeeperClient(), log: Log); serviceDiscoveryManager.TryCreatePermanentReplicaAsync(replicaInfo) .GetAwaiter() .GetResult() .Should() .BeTrue(); serviceDiscoveryManager .GetAllReplicasAsync(replicaInfo.Environment, replicaInfo.Application) .GetAwaiter() .GetResult() .Should() .BeEquivalentTo("replica1"); serviceDiscoveryManager .GetEnvironmentAsync("default") .GetAwaiter() .GetResult() .Should() .NotBeNull(); serviceDiscoveryManager .GetApplicationAsync("default", "vostok") .GetAwaiter() .GetResult() .Should() .NotBeNull(); }
public void TryUpdateEnvironmentPropertiesAsync_should_return_true_and_set_new_properties_for_existent_environment() { var initProperties = GetProperties(); var environment = "environment"; CreateEnvironmentNode(environment, properties: initProperties); var updatedProperties = new Dictionary <string, string>() { ["updatedKey"] = "updatedValue" }; IEnvironmentInfoProperties UpdatePropertiesFunc(IEnvironmentInfoProperties props) { foreach (var property in updatedProperties) { props = props.Set(property.Key, property.Value); } return(props); } var serviceDiscoveryManager = new ServiceDiscoveryManager(GetZooKeeperClient(), log: Log); serviceDiscoveryManager.GetEnvironmentAsync(environment) .GetAwaiter() .GetResult() .Properties .Should() .BeEquivalentTo(initProperties); serviceDiscoveryManager.TryUpdateEnvironmentPropertiesAsync(environment, UpdatePropertiesFunc) .GetAwaiter() .GetResult() .Should() .BeTrue(); serviceDiscoveryManager.GetEnvironmentAsync(environment) .GetAwaiter() .GetResult() .Properties .Should() .BeEquivalentTo(initProperties.Concat(updatedProperties)); }
public void GetEnvironmentAsync_should_return_not_null_if_environment_exists() { var replica = new ReplicaInfo("default", "vostok", "https://github.com/vostok"); CreateEnvironmentNode(replica.Environment); var serviceDiscoveryManager = new ServiceDiscoveryManager(GetZooKeeperClient(), log: Log); serviceDiscoveryManager.GetEnvironmentAsync(replica.Environment) .GetAwaiter() .GetResult() .Should() .NotBeNull(); }
public void TryDeleteEnvironmentAsync_should_return_true_for_non_existent_environment() { var serviceDiscoveryManager = new ServiceDiscoveryManager(GetZooKeeperClient(), log: Log); serviceDiscoveryManager.TryDeleteEnvironmentAsync("default") .GetAwaiter() .GetResult() .Should() .BeTrue(); serviceDiscoveryManager.GetEnvironmentAsync("default") .GetAwaiter() .GetResult() .Should() .BeNull(); }
public void TryDeleteEnvironmentAsync_should_return_true_and_delete_existent_environment_without_children() { CreateEnvironmentNode("default", "parent", GetProperties()); var serviceDiscoveryManager = new ServiceDiscoveryManager(GetZooKeeperClient(), log: Log); serviceDiscoveryManager.TryDeleteEnvironmentAsync("default") .GetAwaiter() .GetResult() .Should() .BeTrue(); serviceDiscoveryManager.GetEnvironmentAsync("default") .GetAwaiter() .GetResult() .Should() .BeNull(); }
public void TryUpdateEnvironmentParentAsync_should_return_false_if_environment_does_not_exist() { var serviceDiscoveryManager = new ServiceDiscoveryManager(GetZooKeeperClient(), log: Log); const string newParent = "newWorldRoot"; serviceDiscoveryManager.TryUpdateEnvironmentParentAsync("environment", newParent) .GetAwaiter() .GetResult() .Should() .BeFalse(); serviceDiscoveryManager.GetEnvironmentAsync("environment") .GetAwaiter() .GetResult() .Should() .BeNull(); }
public void TryCreateEnvironmentAsync_should_return_true_and_create_new_environment() { var serviceDiscoveryManager = new ServiceDiscoveryManager(GetZooKeeperClient(), log: Log); var environmentInfo = new EnvironmentInfo("default", "parent", GetProperties()); serviceDiscoveryManager.TryCreateEnvironmentAsync(environmentInfo) .GetAwaiter() .GetResult() .Should() .BeTrue(); serviceDiscoveryManager.GetEnvironmentAsync("default") .GetAwaiter() .GetResult() .Should() .BeEquivalentTo(environmentInfo); }
public void TryCreateEnvironmentAsync_should_return_false_and_not_create_environment_if_it_exists() { CreateEnvironmentNode("default", "parent", GetProperties()); var serviceDiscoveryManager = new ServiceDiscoveryManager(GetZooKeeperClient(), log: Log); var environmentInfo = new EnvironmentInfo("default", "parent", new Dictionary <string, string> { ["prop"] = "propValue" }); serviceDiscoveryManager.TryCreateEnvironmentAsync(environmentInfo) .GetAwaiter() .GetResult() .Should() .BeFalse(); serviceDiscoveryManager.GetEnvironmentAsync("default") .GetAwaiter() .GetResult() .Should() .BeEquivalentTo(new EnvironmentInfo("default", "parent", GetProperties())); }