public async Task IotCentralAppCollectionExistsTest()
        {
            var appName = Recording.GenerateAssetName("test-app-");

            // Get IoT Central apps collection for resource group.
            var subscription = Client.GetSubscriptionResource(new ResourceIdentifier($"/subscriptions/{SessionEnvironment.SubscriptionId}"));
            var rg           = await CreateResourceGroupAsync(subscription, "sdk-test-rg-");

            var appsCollection = rg.GetIotCentralApps();

            // Create IoT Central application.
            var iotCentralAppData = new IotCentralAppData(AzureLocation.WestUS, new AppSkuInfo(AppSku.ST0))
            {
                DisplayName = appName,
                Subdomain   = appName,
            };
            var iotCentralAppOperation = await appsCollection.CreateOrUpdateAsync(WaitUntil.Completed, appName, iotCentralAppData, CancellationToken.None);

            var iotCentralApp = iotCentralAppOperation.Value;

            // Check that the created app exists.
            var iotCentralAppExists = await appsCollection.ExistsAsync(appName, CancellationToken.None);

            Assert.True(iotCentralAppExists);
        }
示例#2
0
        public async Task IotCentralApplicationRemoveTagsTest()
        {
            var appName = Recording.GenerateAssetName("test-app-");

            // Get IoT Central apps collection for resource group.
            var subscription = Client.GetSubscriptionResource(new ResourceIdentifier($"/subscriptions/{SessionEnvironment.SubscriptionId}"));
            var rg           = await CreateResourceGroupAsync(subscription, "sdk-test-rg-");

            var appsCollection = rg.GetIotCentralApps();

            // Create IoT Central application.
            var iotCentralAppData = new IotCentralAppData(AzureLocation.WestUS, new AppSkuInfo(AppSku.ST0))
            {
                DisplayName = appName,
                Subdomain   = appName,
            };

            iotCentralAppData.Tags.Add("key", "value");
            var iotCentralAppOperation = await appsCollection.CreateOrUpdateAsync(WaitUntil.Completed, appName, iotCentralAppData, CancellationToken.None);

            var iotCentralApp = iotCentralAppOperation.Value;

            Assert.IsTrue(iotCentralApp.Data.Tags.ContainsKey("key"));

            // Remove a tag.
            var tag2IotCentralAppResource = await iotCentralApp.RemoveTagAsync("key", CancellationToken.None);

            var tag2IotCentralApp = tag2IotCentralAppResource.Value;

            Assert.IsFalse(tag2IotCentralApp.Data.Tags.ContainsKey("key"));
        }
        internal static AppListResult DeserializeAppListResult(JsonElement element)
        {
            Optional <string> nextLink = default;
            Optional <IReadOnlyList <IotCentralAppData> > value = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("nextLink"))
                {
                    nextLink = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("value"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    List <IotCentralAppData> array = new List <IotCentralAppData>();
                    foreach (var item in property.Value.EnumerateArray())
                    {
                        array.Add(IotCentralAppData.DeserializeIotCentralAppData(item));
                    }
                    value = array;
                    continue;
                }
            }
            return(new AppListResult(nextLink.Value, Optional.ToList(value)));
        }
示例#4
0
        public async Task IotCentralApplicationCrudOperationsTest()
        {
            var appName = Recording.GenerateAssetName("test-app-");

            // Get IoT Central apps collection for resource group.
            var subscription = Client.GetSubscriptionResource(new ResourceIdentifier($"/subscriptions/{SessionEnvironment.SubscriptionId}"));
            var rg           = await CreateResourceGroupAsync(subscription, "sdk-test-rg-");

            var appsCollection = rg.GetIotCentralApps();

            // Create IoT Central application.
            var iotCentralAppData = new IotCentralAppData(AzureLocation.WestUS, new AppSkuInfo(AppSku.ST0))
            {
                DisplayName = appName,
                Subdomain   = appName,
            };
            await appsCollection.CreateOrUpdateAsync(WaitUntil.Completed, appName, iotCentralAppData, CancellationToken.None);

            // Read IoT Central application.
            var iotCentralAppResponse = await appsCollection.GetAsync(appName, CancellationToken.None);

            var iotCentralApp = iotCentralAppResponse.Value;

            // Update IoT Central application.
            var iotCentralAppPatch = new IotCentralAppPatch()
            {
                Sku      = new AppSkuInfo(AppSku.ST1),
                Identity = new SystemAssignedServiceIdentity(ResourceManager.Models.SystemAssignedServiceIdentityType.SystemAssigned),
            };
            await iotCentralApp.UpdateAsync(WaitUntil.Completed, iotCentralAppPatch, CancellationToken.None);

            // Delete IoT Central application.
            await iotCentralApp.DeleteAsync(WaitUntil.Completed, CancellationToken.None);
        }
        public async Task IotCentralListResourceGroupApplicationsTest()
        {
            // Get IoT Central apps collection for resource group.
            var subscription = Client.GetSubscriptionResource(new ResourceIdentifier($"/subscriptions/{SessionEnvironment.SubscriptionId}"));
            var rg           = await CreateResourceGroupAsync(subscription, "sdk-test-rg-");

            var appsCollection = rg.GetIotCentralApps();

            // Create IoT Central applications.
            var appNames = new List <string>()
            {
                GetRandomTestName(), GetRandomTestName(), GetRandomTestName()
            };

            foreach (var appName in appNames)
            {
                var iotCentralAppData = new IotCentralAppData(AzureLocation.WestUS, new AppSkuInfo(AppSku.ST0))
                {
                    DisplayName = appName,
                    Subdomain   = appName,
                };
                await appsCollection.CreateOrUpdateAsync(WaitUntil.Completed, appName, iotCentralAppData, CancellationToken.None);
            }

            // Get and delete IoT Central apps.
            await foreach (var rgApp in appsCollection.GetAllAsync())
            {
                if (appNames.Contains(rgApp.Data.Name))
                {
                    appNames.Remove(rgApp.Data.Name);
                    await rgApp.DeleteAsync(WaitUntil.Completed, CancellationToken.None);
                }
            }

            // Assert all apps created were found and deleted.
            Assert.IsFalse(appNames.Any());
        }