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);
        }
Ejemplo n.º 2
0
        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();
 }