public void RequiredNoIdentifiersCached() { var config = SetupConfig(); var client = new EndpointDiscoveryTestClient(config); var executionContext = CreateExecutionContext(client, config, true, null); EndpointDiscoveryHandler.DiscoverEndpoints(executionContext.RequestContext, false); Assert.AreEqual("https://test123.amazonaws.com/shared/", executionContext.RequestContext.Request.Endpoint.ToString()); Assert.AreEqual(1, client.EndpointOperationCallCount); Assert.AreEqual(1, client.FetchCallCount); Assert.AreEqual(1, client.CacheCount); var endpoints = client.WaitForCachedValue(CACHEKEY); Assert.IsNotNull(endpoints); Assert.IsTrue(HasEndpointAddress(endpoints, "https://test123.amazonaws.com/shared/")); EndpointDiscoveryHandler.DiscoverEndpoints(executionContext.RequestContext, false); Assert.AreEqual("https://test123.amazonaws.com/shared/", executionContext.RequestContext.Request.Endpoint.ToString()); Assert.AreEqual(2, client.EndpointOperationCallCount); Assert.AreEqual(1, client.FetchCallCount); Assert.AreEqual(1, client.CacheCount); endpoints = client.WaitForCachedValue(CACHEKEY); Assert.IsNotNull(endpoints); Assert.IsTrue(HasEndpointAddress(endpoints, "https://test123.amazonaws.com/shared/")); }
public void RequiredNoIdentifiersEvictCache() { var config = SetupConfig(); var client = new EndpointDiscoveryTestClient(config); var executionContext = CreateExecutionContext(client, config, true, null); EndpointDiscoveryHandler.DiscoverEndpoints(executionContext.RequestContext, false); Assert.AreEqual("https://test123.amazonaws.com/shared/", executionContext.RequestContext.Request.Endpoint.ToString()); Assert.AreEqual(1, client.EndpointOperationCallCount); Assert.AreEqual(1, client.FetchCallCount); Assert.AreEqual(1, client.CacheCount); var endpoints = client.WaitForCachedValue(CACHEKEY); Assert.IsNotNull(endpoints); Assert.IsTrue(HasEndpointAddress(endpoints, "https://test123.amazonaws.com/shared/")); //Eviction happens on a invalid endpoint exception. In this case the endpoint is currently set to the invalid endpoint. executionContext.RequestContext.Request.Endpoint = new Uri("https://test123.amazonaws.com/shared/"); EndpointDiscoveryHandler.EvictCacheKeyForRequest(executionContext.RequestContext, null); Assert.IsNull(executionContext.RequestContext.Request.Endpoint); Assert.AreEqual(2, client.EndpointOperationCallCount); Assert.AreEqual(1, client.FetchCallCount); Assert.AreEqual(0, client.CacheCount); EndpointDiscoveryHandler.DiscoverEndpoints(executionContext.RequestContext, false); Assert.AreEqual("https://test123.amazonaws.com/shared/", executionContext.RequestContext.Request.Endpoint.ToString()); Assert.AreEqual(3, client.EndpointOperationCallCount); Assert.AreEqual(2, client.FetchCallCount); Assert.AreEqual(1, client.CacheCount); endpoints = client.WaitForCachedValue(CACHEKEY); Assert.IsNotNull(endpoints); Assert.IsTrue(HasEndpointAddress(endpoints, "https://test123.amazonaws.com/shared/")); }
public void RequiredWithIdentifiersCached() { var config = SetupConfig(); var client = new EndpointDiscoveryTestClient(config); SortedDictionary <string, string> identifiers = new SortedDictionary <string, string>(); identifiers.Add(IDENTIFIER_NAME, "test"); var executionContext = CreateExecutionContext(client, config, true, identifiers); EndpointDiscoveryHandler.DiscoverEndpoints(executionContext.RequestContext, false); Assert.AreEqual("https://test123.amazonaws.com/shared/CreateTable", executionContext.RequestContext.Request.Endpoint.ToString()); Assert.AreEqual(1, client.EndpointOperationCallCount); Assert.AreEqual(1, client.FetchCallCount); Assert.AreEqual(1, client.CacheCount); var endpoints = client.WaitForCachedValue(CACHEKEY_IDENTIFIERS); Assert.IsNotNull(endpoints); Assert.IsTrue(HasEndpointAddress(endpoints, "https://test123.amazonaws.com/shared/CreateTable")); EndpointDiscoveryHandler.DiscoverEndpoints(executionContext.RequestContext, false); Assert.AreEqual("https://test123.amazonaws.com/shared/CreateTable", executionContext.RequestContext.Request.Endpoint.ToString()); Assert.AreEqual(2, client.EndpointOperationCallCount); Assert.AreEqual(1, client.FetchCallCount); Assert.AreEqual(1, client.CacheCount); }
public void RequiredNoIdentifiers(string endpoint, string expectedEndpoint) { var config = SetupConfig(); var client = new EndpointDiscoveryTestClient(config, baseUrl: endpoint); var executionContext = CreateExecutionContext(client, config, true, null); EndpointDiscoveryHandler.DiscoverEndpoints(executionContext.RequestContext, false); Assert.AreEqual(expectedEndpoint, executionContext.RequestContext.Request.Endpoint.ToString()); Assert.AreEqual(1, client.FetchCallCount); Assert.AreEqual(1, client.CacheCount); var endpoints = client.WaitForCachedValue(CACHEKEY); Assert.IsNotNull(endpoints); Assert.IsTrue(HasEndpointAddress(endpoints, expectedEndpoint)); }
public void NotRequiredNoIdentifiersFailedDiscoveryWait() { var config = SetupConfig(true); var client = new EndpointDiscoveryTestClient(config, true); var executionContext = CreateExecutionContext(client, config, false, null); EndpointDiscoveryHandler.DiscoverEndpoints(executionContext.RequestContext, false); var endpoints = client.WaitForCachedValue(CACHEKEY); Assert.IsNotNull(endpoints); Assert.IsTrue(HasEndpointAddress(endpoints, null)); Assert.AreEqual(1, client.EndpointOperationCallCount); Assert.AreEqual(1, client.FetchCallCount); Assert.AreEqual(1, client.CacheCount); }