public async Task Execute(CloudOdsApiOperationContext context, CloudOdsApiWebsiteSettings newSettings) { var website = (await _getAzureCloudOdsHostedComponentsQuery.Execute(context)).Single(); var azureSettings = await _getAzureCloudOdsComponentApiWebsiteSettingsQuery.ExecuteRaw(context); foreach (var setting in newSettings.AsDictionary()) { azureSettings.Properties[setting.Key] = setting.Value; } var instance = await _getCloudOdsHostedInstanceQuery.Execute(context.Instance); await _armClient.SaveWebsiteSettingsAsync(_azureActiveDirectoryClientInfo.SubscriptionId, instance?.SystemName, website.SystemName, azureSettings); }
private async Task ShouldExecute(CloudOdsApiOperationContext context) { var token = await GetAccessTokenCredentialsAsync(); var site = await GetApiWebsiteAsync(context.TargetEnvironment); var client = new WebSiteManagementClient(token) { SubscriptionId = DefaultAzureActiveDirectoryClientInfo.SubscriptionId }; var settings = await client.Sites.ListSiteAppSettingsAsync(DefaultTestCloudOdsInstance.SystemName, site.Name); settings.Properties[CloudOdsApiWebsiteSettings.BearerTokenTimeoutSettingName] = "10"; settings.Properties[CloudOdsApiWebsiteSettings.LogLevelSettingName] = "Error"; await client.Sites.UpdateSiteAppSettingsAsync(DefaultTestCloudOdsInstance.SystemName, site.Name, settings); var getAzureCloudOdsHostedInstanceQuery = new GetAzureCloudOdsHostedInstanceQuery(DefaultAzureActiveDirectoryClientInfo, DefaultTokenCache); var getWebsiteQuery = new GetAzureCloudOdsHostedComponentsQuery(DefaultAzureActiveDirectoryClientInfo, DefaultTokenCache, getAzureCloudOdsHostedInstanceQuery); var getWebsiteSettingsQuery = new GetAzureCloudOdsApiWebsiteSettingsQuery(DefaultAzureActiveDirectoryClientInfo, getWebsiteQuery, DefaultTokenCache, getAzureCloudOdsHostedInstanceQuery); var query = new UpdateAzureCloudOdsApiWebsiteSettingsCommand(DefaultAzureActiveDirectoryClientInfo, getWebsiteQuery, getWebsiteSettingsQuery, DefaultTokenCache, getAzureCloudOdsHostedInstanceQuery); var newSettings = new CloudOdsApiWebsiteSettings { BearerTokenTimeoutInMinutes = 15, LogLevel = LogLevel.Info }; await query.Execute(context, newSettings); settings = await client.Sites.ListSiteAppSettingsAsync(DefaultTestCloudOdsInstance.SystemName, site.Name); settings.Properties[CloudOdsApiWebsiteSettings.BearerTokenTimeoutSettingName].ShouldBe("15"); settings.Properties[CloudOdsApiWebsiteSettings.LogLevelSettingName].ShouldBe(LogLevel.Info.DisplayName); }
public Task Execute(CloudOdsApiOperationContext context, CloudOdsApiWebsiteSettings settings) { throw new System.NotImplementedException(); }