public async Task EventCreateGetUpdateDelete() { var location = await GetLocation(); var resourceGroupName = Recording.GenerateAssetName(Helper.ResourceGroupPrefix); ResourceGroup resourceGroup = (await ArmClient.DefaultSubscription.GetResourceGroups().CreateOrUpdateAsync(resourceGroupName, new ResourceGroupData(location))).Value; // Prepare Storage Account var accountName = Recording.GenerateAssetName("sdktestaccount"); var storageAccountCreateParameters = new StorageAccountCreateParameters( new ResourceManager.Storage.Models.Sku("Standard_LRS"), Kind.StorageV2, "eastus2" ) { AccessTier = AccessTier.Hot }; StorageAccountContainer storageAccountContainer = resourceGroup.GetStorageAccounts(); await storageAccountContainer.CreateOrUpdateAsync(accountName, storageAccountCreateParameters); // Create NameSpace var namespaceName = Recording.GenerateAssetName(Helper.NamespacePrefix); var createNamespaceResponse = await NamespacesOperations.StartCreateOrUpdateAsync(resourceGroupName, namespaceName, new EHNamespace() { Location = location } ); var np = (await WaitForCompletionAsync(createNamespaceResponse)).Value; Assert.NotNull(createNamespaceResponse); Assert.AreEqual(np.Name, namespaceName); DelayInTest(5); // Create Eventhub var eventhubName = Recording.GenerateAssetName(Helper.EventHubPrefix); var createEventhubResponse = await EventHubsOperations.CreateOrUpdateAsync(resourceGroupName, namespaceName, eventhubName, new Eventhub() { MessageRetentionInDays = 4, PartitionCount = 4, Status = EntityStatus.Active, CaptureDescription = new CaptureDescription() { Enabled = true, Encoding = EncodingCaptureDescription.Avro, IntervalInSeconds = 120, SizeLimitInBytes = 10485763, Destination = new Destination() { Name = "EventHubArchive.AzureBlockBlob", BlobContainer = "container", ArchiveNameFormat = "{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}", StorageAccountResourceId = "/subscriptions/" + SubscriptionId + "/resourcegroups/" + resourceGroupName + "/providers/Microsoft.Storage/storageAccounts/" + accountName }, SkipEmptyArchives = true } }); Assert.NotNull(createEventhubResponse); Assert.AreEqual(createEventhubResponse.Value.Name, eventhubName); Assert.True(createEventhubResponse.Value.CaptureDescription.SkipEmptyArchives); //Get the created EventHub var getEventHubResponse = await EventHubsOperations.GetAsync(resourceGroupName, namespaceName, eventhubName); Assert.NotNull(getEventHubResponse.Value); Assert.AreEqual(EntityStatus.Active, getEventHubResponse.Value.Status); Assert.AreEqual(getEventHubResponse.Value.Name, eventhubName); //Get all Event Hubs for a given NameSpace var getListEventHubResponse = EventHubsOperations.ListByNamespaceAsync(resourceGroupName, namespaceName); var list = await getListEventHubResponse.ToEnumerableAsync(); Assert.NotNull(getListEventHubResponse); Assert.True(list.Count() >= 1); // Update the EventHub getEventHubResponse.Value.CaptureDescription.IntervalInSeconds = 130; getEventHubResponse.Value.CaptureDescription.SizeLimitInBytes = 10485900; getEventHubResponse.Value.MessageRetentionInDays = 5; //TODO time exception var UpdateEventHubResponse = (await EventHubsOperations.CreateOrUpdateAsync(resourceGroupName, namespaceName, eventhubName, getEventHubResponse.Value)).Value; Assert.NotNull(UpdateEventHubResponse); // Get the updated EventHub and verify the properties var getEventResponse = await EventHubsOperations.GetAsync(resourceGroupName, namespaceName, eventhubName); Assert.NotNull(getEventResponse); Assert.AreEqual(EntityStatus.Active, getEventResponse.Value.Status); Assert.AreEqual(5, getEventResponse.Value.MessageRetentionInDays); // Delete the Evnet Hub var deleteEventResponse = await EventHubsOperations.DeleteAsync(resourceGroupName, namespaceName, eventhubName); // Delete namespace and check for the NotFound exception var deleteNamespaceResponse = await WaitForCompletionAsync(await NamespacesOperations.StartDeleteAsync(resourceGroupName, namespaceName)); }
public async Task EventHubskiptop() { var location = GetLocation(); var resourceGroup = Recording.GenerateAssetName(Helper.ResourceGroupPrefix); await Helper.TryRegisterResourceGroupAsync(ResourceGroupsOperations, location.Result, resourceGroup); var namespaceName = Recording.GenerateAssetName(Helper.NamespacePrefix); var createNamespaceResponse = await NamespacesOperations.StartCreateOrUpdateAsync(resourceGroup, namespaceName, new EHNamespace() { Location = location.Result, Sku = new Sku(SkuName.Standard) { Tier = SkuTier.Standard }, Tags = new Dictionary <string, string>() { { "tag1", "value1" }, { "tag2", "value2" } } } ); var np = (await WaitForCompletionAsync(createNamespaceResponse)).Value; Assert.NotNull(createNamespaceResponse); Assert.AreEqual(np.Name, namespaceName); DelayInTest(5); // Create Eventhub var eventHubName = Recording.GenerateAssetName(Helper.EventHubPrefix); for (int ehCount = 0; ehCount < 10; ehCount++) { var eventhubNameLoop = eventHubName + "_" + ehCount.ToString(); var createEventHubResponseForLoop = await EventHubsOperations.CreateOrUpdateAsync(resourceGroup, namespaceName, eventhubNameLoop, new Eventhub()); Assert.NotNull(createEventHubResponseForLoop); Assert.AreEqual(createEventHubResponseForLoop.Value.Name, eventhubNameLoop); } //get EventHubs in the same namespace var createEventHubResponseList = EventHubsOperations.ListByNamespaceAsync(resourceGroup, namespaceName); var createEHResplist = await createEventHubResponseList.ToEnumerableAsync(); //may cause a misktake Assert.AreEqual(10, createEHResplist.Count()); var gettop10EventHub = EventHubsOperations.ListByNamespaceAsync(resourceGroup, namespaceName, skip: 5, top: 5); var ListByNamespAsync = await gettop10EventHub.ToEnumerableAsync(); Assert.AreEqual(5, ListByNamespAsync.Count()); // Create a ConsumerGroup var consumergroupName = Recording.GenerateAssetName(Helper.ConsumerGroupPrefix); for (int consumergroupCount = 0; consumergroupCount < 10; consumergroupCount++) { var consumergroupNameLoop = consumergroupName + "_" + consumergroupCount.ToString(); var createConsumerGroupResponseForLoop = await ConsumerGroupsOperations.CreateOrUpdateAsync(resourceGroup, namespaceName, createEHResplist.ElementAt <Eventhub>(0).Name, consumergroupNameLoop, new ConsumerGroup()); Assert.NotNull(createConsumerGroupResponseForLoop); Assert.AreEqual(createConsumerGroupResponseForLoop.Value.Name, consumergroupNameLoop); } var createConsumerGroupResponseList = ConsumerGroupsOperations.ListByEventHubAsync(resourceGroup, namespaceName, createEHResplist.ElementAt <Eventhub>(0).Name); var createConResList = await createConsumerGroupResponseList.ToEnumerableAsync(); Assert.AreEqual(11, createConResList.Count <ConsumerGroup>()); var gettop10ConsumerGroup = ConsumerGroupsOperations.ListByEventHubAsync(resourceGroup, namespaceName, createEHResplist.ElementAt <Eventhub>(0).Name, skip: 5, top: 4); var ConsGrClientList = await gettop10ConsumerGroup.ToEnumerableAsync(); Assert.AreEqual(6, ConsGrClientList.Count <ConsumerGroup>()); // Delete namespace and check for the NotFound exception await WaitForCompletionAsync(await NamespacesOperations.StartDeleteAsync(resourceGroup, namespaceName)); }
public async Task EventCreateGetUpdateDelete() { var location = GetLocation(); var resourceGroup = Recording.GenerateAssetName(Helper.ResourceGroupPrefix); await Helper.TryRegisterResourceGroupAsync(ResourceGroupsOperations, location.Result, resourceGroup); var namespaceName = Recording.GenerateAssetName(Helper.NamespacePrefix); var createNamespaceResponse = await NamespacesOperations.StartCreateOrUpdateAsync(resourceGroup, namespaceName, new EHNamespace() { Location = location.Result } ); var np = (await WaitForCompletionAsync(createNamespaceResponse)).Value; Assert.NotNull(createNamespaceResponse); Assert.AreEqual(np.Name, namespaceName); DelayInTest(5); // Create Eventhub var eventhubName = Recording.GenerateAssetName(Helper.EventHubPrefix); //You Need to create a storage account first --Youri 8.5.2020 var createEventhubResponse = await EventHubsOperations.CreateOrUpdateAsync(resourceGroup, namespaceName, eventhubName, new Eventhub() { MessageRetentionInDays = 4, PartitionCount = 4, Status = EntityStatus.Active, CaptureDescription = new CaptureDescription() { Enabled = true, Encoding = EncodingCaptureDescription.Avro, IntervalInSeconds = 120, SizeLimitInBytes = 10485763, Destination = new Destination() { Name = "EventHubArchive.AzureBlockBlob", BlobContainer = "container", ArchiveNameFormat = "{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}", StorageAccountResourceId = "/subscriptions/" + SubscriptionId + "/resourcegroups/" + resourceGroup + "/providers/Microsoft.Storage/storageAccounts/testingsdkeventhub88" }, SkipEmptyArchives = true } }); Assert.NotNull(createEventhubResponse); Assert.AreEqual(createEventhubResponse.Value.Name, eventhubName); Assert.True(createEventhubResponse.Value.CaptureDescription.SkipEmptyArchives); //Get the created EventHub var getEventHubResponse = await EventHubsOperations.GetAsync(resourceGroup, namespaceName, eventhubName); Assert.NotNull(getEventHubResponse.Value); Assert.AreEqual(EntityStatus.Active, getEventHubResponse.Value.Status); Assert.AreEqual(getEventHubResponse.Value.Name, eventhubName); //Get all Event Hubs for a given NameSpace var getListEventHubResponse = EventHubsOperations.ListByNamespaceAsync(resourceGroup, namespaceName); var list = await getListEventHubResponse.ToEnumerableAsync(); Assert.NotNull(getListEventHubResponse); Assert.True(list.Count() >= 1); // Update the EventHub getEventHubResponse.Value.CaptureDescription.IntervalInSeconds = 130; getEventHubResponse.Value.CaptureDescription.SizeLimitInBytes = 10485900; getEventHubResponse.Value.MessageRetentionInDays = 5; //TODO time exception var UpdateEventHubResponse = (await EventHubsOperations.CreateOrUpdateAsync(resourceGroup, namespaceName, eventhubName, getEventHubResponse.Value)).Value; Assert.NotNull(UpdateEventHubResponse); // Get the updated EventHub and verify the properties var getEventResponse = await EventHubsOperations.GetAsync(resourceGroup, namespaceName, eventhubName); Assert.NotNull(getEventResponse); Assert.AreEqual(EntityStatus.Active, getEventResponse.Value.Status); Assert.AreEqual(5, getEventResponse.Value.MessageRetentionInDays); // Delete the Evnet Hub var deleteEventResponse = await EventHubsOperations.DeleteAsync(resourceGroup, namespaceName, eventhubName); // Delete namespace and check for the NotFound exception var deleteNamespaceResponse = await WaitForCompletionAsync(await NamespacesOperations.StartDeleteAsync(resourceGroup, namespaceName)); }