public void OnSendingRequest_404FlagSet_ShouldUsePrimary() { var message = new HttpPipelineMessage( CreateMockRequest(MockPrimaryUri), new StorageResponseClassifier(MockSecondaryUri)); message.SetProperty(Constants.GeoRedundantRead.AlternateHostKey, MockSecondaryUri.Host); message.SetProperty(Constants.GeoRedundantRead.ResourceNotReplicated, true); var policy = new GeoRedundantReadPolicy(MockSecondaryUri); policy.OnSendingRequest(message); Assert.AreEqual(MockPrimaryUri.Host, message.Request.Uri.Host); }
public void OnSendingRequest_FirstTry_ShouldUsePrimary_ShouldSetAlternateToSecondary() { var message = new HttpPipelineMessage( CreateMockRequest(MockPrimaryUri), new StorageResponseClassifier(MockSecondaryUri)); var policy = new GeoRedundantReadPolicy(MockSecondaryUri); policy.OnSendingRequest(message); Assert.AreEqual(MockPrimaryUri.Host, message.Request.Uri.Host); Assert.IsTrue(message.TryGetProperty(Constants.GeoRedundantRead.AlternateHostKey, out object val) && (string)val == MockSecondaryUri.Host); }
public void OnSendingRequest_PutRequest_ShouldIgnore() { MockRequest request = CreateMockRequest(MockPrimaryUri); request.Method = RequestMethod.Put; var message = new HttpPipelineMessage( request, new StorageResponseClassifier(MockSecondaryUri)); var policy = new GeoRedundantReadPolicy(MockSecondaryUri); policy.OnSendingRequest(message); Assert.AreEqual(MockPrimaryUri.Host, message.Request.Uri.Host); Assert.IsFalse(message.TryGetProperty(Constants.GeoRedundantRead.AlternateHostKey, out object val) && (string)val == MockSecondaryUri.Host); }
public void OnSendingRequest_404onSecondary_ShouldSetNotFoundFlag_ShouldUsePrimary() { var message = new HttpPipelineMessage( CreateMockRequest(MockSecondaryUri), new StorageResponseClassifier(MockSecondaryUri)) { Response = new MockResponse(Constants.HttpStatusCode.NotFound) }; message.SetProperty(Constants.GeoRedundantRead.AlternateHostKey, MockSecondaryUri.Host); var policy = new GeoRedundantReadPolicy(MockSecondaryUri); policy.OnSendingRequest(message); Assert.AreEqual(MockSecondaryUri.Host, message.Request.Uri.Host); Assert.IsTrue(message.TryGetProperty(Constants.GeoRedundantRead.ResourceNotReplicated, out object val) && (bool)val); }