public async Task EventhubCreateGetUpdateDeleteAuthorizationRule() { //create eventhub string eventhubName = Recording.GenerateAssetName("eventhub"); EventHub eventHub = (await _eventHubCollection.CreateOrUpdateAsync(true, eventhubName, new EventHubData())).Value; //create an authorization rule string ruleName = Recording.GenerateAssetName("authorizationrule"); EventHubAuthorizationRuleCollection ruleCollection = eventHub.GetEventHubAuthorizationRules(); AuthorizationRuleData parameter = new AuthorizationRuleData() { Rights = { AccessRights.Listen, AccessRights.Send } }; EventHubAuthorizationRule authorizationRule = (await ruleCollection.CreateOrUpdateAsync(true, ruleName, parameter)).Value; Assert.NotNull(authorizationRule); Assert.AreEqual(authorizationRule.Data.Rights.Count, parameter.Rights.Count); //get authorization rule authorizationRule = await ruleCollection.GetAsync(ruleName); Assert.AreEqual(authorizationRule.Id.Name, ruleName); Assert.NotNull(authorizationRule); Assert.AreEqual(authorizationRule.Data.Rights.Count, parameter.Rights.Count); //get all authorization rules List <EventHubAuthorizationRule> rules = await ruleCollection.GetAllAsync().ToEnumerableAsync(); //validate Assert.True(rules.Count == 1); bool isContainAuthorizationRuleName = false; foreach (EventHubAuthorizationRule rule in rules) { if (rule.Id.Name == ruleName) { isContainAuthorizationRuleName = true; } } Assert.True(isContainAuthorizationRuleName); //update authorization rule parameter.Rights.Add(AccessRights.Manage); authorizationRule = (await ruleCollection.CreateOrUpdateAsync(true, ruleName, parameter)).Value; Assert.NotNull(authorizationRule); Assert.AreEqual(authorizationRule.Data.Rights.Count, parameter.Rights.Count); //delete authorization rule await authorizationRule.DeleteAsync(true); //validate if deleted Assert.IsFalse(await ruleCollection.ExistsAsync(ruleName)); rules = await ruleCollection.GetAllAsync().ToEnumerableAsync(); Assert.True(rules.Count == 0); }
public async Task EventhubAuthorizationRuleRegenerateKey() { //create eventhub string eventhubName = Recording.GenerateAssetName("eventhub"); EventHub eventHub = (await _eventHubCollection.CreateOrUpdateAsync(true, eventhubName, new EventHubData())).Value; EventHubAuthorizationRuleCollection ruleCollection = eventHub.GetEventHubAuthorizationRules(); //create authorization rule string ruleName = Recording.GenerateAssetName("authorizationrule"); AuthorizationRuleData parameter = new AuthorizationRuleData() { Rights = { AccessRights.Listen, AccessRights.Send } }; EventHubAuthorizationRule authorizationRule = (await ruleCollection.CreateOrUpdateAsync(true, ruleName, parameter)).Value; Assert.NotNull(authorizationRule); Assert.AreEqual(authorizationRule.Data.Rights.Count, parameter.Rights.Count); AccessKeys keys1 = await authorizationRule.GetKeysAsync(); Assert.NotNull(keys1); Assert.NotNull(keys1.PrimaryConnectionString); Assert.NotNull(keys1.SecondaryConnectionString); AccessKeys keys2 = await authorizationRule.RegenerateKeysAsync(new RegenerateAccessKeyOptions(KeyType.PrimaryKey)); //the recordings are sanitized therefore cannot be compared if (Mode != RecordedTestMode.Playback) { Assert.AreNotEqual(keys1.PrimaryKey, keys2.PrimaryKey); Assert.AreEqual(keys1.SecondaryKey, keys2.SecondaryKey); } AccessKeys keys3 = await authorizationRule.RegenerateKeysAsync(new RegenerateAccessKeyOptions(KeyType.SecondaryKey)); if (Mode != RecordedTestMode.Playback) { Assert.AreEqual(keys2.PrimaryKey, keys3.PrimaryKey); Assert.AreNotEqual(keys2.SecondaryKey, keys3.SecondaryKey); } }