public void UpdateSharedAccessKeyShouldAllowRefreshOfTheSharedAccessSignature() { var resource = "amqps://before/path"; var beforeKeyName = "beforeKeyName"; var afterKeyName = "afterKeyName"; var beforeKeyValue = "beforeKeyValue"; var afterKeyValue = "afterKeyValue"; var validSpan = TimeSpan.FromHours(4); var signature = new SharedAccessSignature(resource, beforeKeyName, beforeKeyValue, validSpan); var keyCredential = new EventHubsSharedAccessKeyCredential(beforeKeyName, beforeKeyValue); // Needed to instantiate a SharedAccessSignatureCredential var sasCredential = keyCredential.AsSharedAccessSignatureCredential(resource, validSpan); // Updates keyCredential.UpdateSharedAccessKey(afterKeyName, afterKeyValue); Assert.That(sasCredential, Is.Not.Null, "A shared access signature credential should have been created."); var credentialSignature = GetSharedAccessSignature(sasCredential); Assert.That(credentialSignature, Is.Not.Null, "The SAS credential should contain a shared access signature."); Assert.That(credentialSignature.Resource, Is.EqualTo(signature.Resource), "The resource should match."); Assert.That(credentialSignature.SharedAccessKeyName, Is.EqualTo(afterKeyName), "The shared access key name should match."); Assert.That(credentialSignature.SharedAccessKey, Is.EqualTo(afterKeyValue), "The shared access key should match."); Assert.That(credentialSignature.SignatureExpiration, Is.EqualTo(signature.SignatureExpiration).Within(TimeSpan.FromSeconds(5)), "The expiration should match."); }
public void UpdateSharedAccessKeyShouldNotChangeOtherPropertiesForTheSharedAccessSignature() { var resource = "amqps://before/path"; var validSpan = TimeSpan.FromHours(4); var beforeKeyName = "beforeKeyName"; var afterKeyName = "afterKeyName"; var beforeKeyValue = "beforeKeyValue"; var afterKeyValue = "afterKeyValue"; var keyCredential = new EventHubsSharedAccessKeyCredential(beforeKeyName, beforeKeyValue); // Needed to instantiate a SharedAccessTokenCredential var sasCredential = keyCredential.AsSharedAccessSignatureCredential(resource, validSpan); var credentialSignature = GetSharedAccessSignature(sasCredential); var signatureExpiration = credentialSignature.SignatureExpiration; keyCredential.UpdateSharedAccessKey(afterKeyName, afterKeyValue); Assert.That(credentialSignature.SignatureExpiration, Is.EqualTo(signatureExpiration), "The expiration of a signature should not change when the credentials are rolled."); Assert.That(credentialSignature.Resource, Is.EqualTo(resource), "The resource of a signature should not change when the credentials are rolled."); }
public void UpdateSharedAccessKeyShoulRefreshEventHubSharedKeyCredentialNameAndKey() { var resource = "amqps://before/path"; var validSpan = TimeSpan.FromHours(4); var beforeKeyName = "beforeKeyName"; var afterKeyName = "afterKeyName"; var beforeKeyValue = "beforeKeyValue"; var afterKeyValue = "afterKeyValue"; var keyCredential = new EventHubsSharedAccessKeyCredential(beforeKeyName, beforeKeyValue); keyCredential.UpdateSharedAccessKey(afterKeyName, afterKeyValue); var keyName = keyCredential.SharedAccessKeyName; var key = keyCredential.SharedAccessKey; var sasCredential = keyCredential.AsSharedAccessSignatureCredential(resource, validSpan); var credentialSignature = GetSharedAccessSignature(sasCredential); Assert.That(credentialSignature.SharedAccessKeyName, Is.EqualTo(afterKeyName), "The shared access key name should change after being updated."); Assert.That(credentialSignature.SharedAccessKey, Is.EqualTo(afterKeyValue), "The shared access key value should change after being updated."); Assert.That(keyName, Is.EqualTo(afterKeyName), "The shared access key name should change after being updated."); Assert.That(key, Is.EqualTo(afterKeyValue), "The shared access key value should change after being updated."); }