private void ValidateIntegrationAccount(IntegrationAccount account)
 {
     Assert.Equal("/subscriptions/f34b22a3-2202-4fb1-b040-1332bd928c84/resourceGroups/IntegrationAccountSdkTest/providers/Microsoft.Logic/integrationAccounts/IntegrationAccount8391", account.Id);
     Assert.Equal("brazilsouth", account.Location);
     Assert.Equal("IntegrationAccount8391", account.Name);
     Assert.Equal("Microsoft.Logic/integrationAccounts", account.Type);
 }
        public void IntegrationAccounts_Update_OK()
        {
            var handler = new RecordedDelegatingHandler();
            var client  = this.CreateIntegrationAccountClient(handler);

            handler.Response = new HttpResponseMessage
            {
                StatusCode = HttpStatusCode.OK,
                Content    = this.IntegrationAccount
            };

            var integrationAccount = new IntegrationAccount()
            {
                Tags = new Dictionary <string, string>()
            };

            integrationAccount = client.IntegrationAccounts.Update(Constants.DefaultResourceGroup, "IntegrationAccountName", integrationAccount);

            // Validates request.
            handler.Request.ValidateAuthorizationHeader();
            handler.Request.ValidateMethod(new HttpMethod("PATCH"));

            // Validates result.
            this.ValidateIntegrationAccount(integrationAccount);
        }
Пример #3
0
        /// <summary>
        /// Creates an Integartion account.
        /// </summary>
        /// <param name="integrationAccountName">Integration Account name</param>
        /// <returns>Integration Account instance</returns>
        protected IntegrationAccount CreateIntegrationAccount(string integrationAccountName)
        {
            var integrationAccount = new IntegrationAccount(name: integrationAccountName,
                                                            location: Constants.DefaultLocation,
                                                            properties: new JObject(),
                                                            sku: new IntegrationAccountSku(IntegrationAccountSkuName.Standard));

            return(integrationAccount);
        }
 /// <summary>
 /// Creates the integration account.
 /// </summary>
 /// <param name="resourceGroupName">The integration account resource group name.</param>
 /// <param name="integrationAccountName">The integration account name.</param>
 /// <param name="integrationAccount">The integration account object.</param>
 /// <returns>Newly created integration account object.</returns>
 public IntegrationAccount CreateIntegrationAccount(string resourceGroupName, string integrationAccountName, IntegrationAccount integrationAccount)
 {
     if (!this.DoesIntegrationAccountExist(resourceGroupName, integrationAccountName))
     {
         return this.LogicManagementClient.IntegrationAccounts.CreateOrUpdate(resourceGroupName, integrationAccountName, integrationAccount);
     }
     else
     {
         throw new PSArgumentException(string.Format(CultureInfo.InvariantCulture,
             Properties.Resource.ResourceAlreadyExists, integrationAccountName, resourceGroupName));
     }
 }
Пример #5
0
        internal RestIntegration(RestDiscordClient client, IntegrationModel model) : base(client, model.Id)
        {
            Name      = model.Name;
            Type      = model.Type;
            IsEnabled = model.Enabled;
            IsSyncing = model.Syncing;
            RoleId    = model.RoleId;
            User      = new RestUser(client, model.User);
            Account   = new IntegrationAccount(model.Account);
            SyncedAt  = model.SyncedAt;

            Update(model);
        }
Пример #6
0
        /// <summary>
        /// Creates an Integartion account.
        /// </summary>
        /// <param name="integrationAccountName">Integration AccountName</param>
        /// <returns>IntegrationAccount instance</returns>
        protected IntegrationAccount CreateIntegrationAccountInstance(string integrationAccountName)
        {
            var createdAccount = new IntegrationAccount
            {
                Sku = new IntegrationAccountSku()
                {
                    Name = SkuName.Standard
                },
                Properties = new JObject(),
                Name       = integrationAccountName,
                Location   = Constants.DefaultLocation
            };

            return(createdAccount);
        }
Пример #7
0
 /// <summary>
 /// Updates the integration account.
 /// </summary>
 /// <param name="resourceGroupName">The integration account resource group name.</param>
 /// <param name="integrationAccountName">Integration account name.</param>
 /// <param name="integrationAccount">Integration account object.</param>
 /// <returns>Newly created integration account object.</returns>
 public IntegrationAccount UpdateIntegrationAccount(string resourceGroupName, string integrationAccountName, IntegrationAccount integrationAccount)
 {
     return(this.LogicManagementClient.IntegrationAccounts.CreateOrUpdate(resourceGroupName, integrationAccountName, integrationAccount));
 }
Пример #8
0
 /// <summary>
 /// Creates the integration account.
 /// </summary>
 /// <param name="resourceGroupName">The integration account resource group name.</param>
 /// <param name="integrationAccountName">The integration account name.</param>
 /// <param name="integrationAccount">The integration account object.</param>
 /// <returns>Newly created integration account object.</returns>
 public IntegrationAccount CreateIntegrationAccount(string resourceGroupName, string integrationAccountName, IntegrationAccount integrationAccount)
 {
     if (!this.DoesIntegrationAccountExist(resourceGroupName, integrationAccountName))
     {
         return(this.LogicManagementClient.IntegrationAccounts.CreateOrUpdate(resourceGroupName, integrationAccountName, integrationAccount));
     }
     else
     {
         throw new PSArgumentException(string.Format(CultureInfo.InvariantCulture,
                                                     Properties.Resource.ResourceAlreadyExists, integrationAccountName, resourceGroupName));
     }
 }
 /// <summary>
 /// Updates an integration account.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The resource group name.
 /// </param>
 /// <param name='integrationAccountName'>
 /// The integration account name.
 /// </param>
 /// <param name='integrationAccount'>
 /// The integration account.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <IntegrationAccount> UpdateAsync(this IIntegrationAccountsOperations operations, string resourceGroupName, string integrationAccountName, IntegrationAccount integrationAccount, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.UpdateWithHttpMessagesAsync(resourceGroupName, integrationAccountName, integrationAccount, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Updates an integration account.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The resource group name.
 /// </param>
 /// <param name='integrationAccountName'>
 /// The integration account name.
 /// </param>
 /// <param name='integrationAccount'>
 /// The integration account.
 /// </param>
 public static IntegrationAccount Update(this IIntegrationAccountsOperations operations, string resourceGroupName, string integrationAccountName, IntegrationAccount integrationAccount)
 {
     return(Task.Factory.StartNew(s => ((IIntegrationAccountsOperations)s).UpdateAsync(resourceGroupName, integrationAccountName, integrationAccount), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult());
 }
 /// <summary>
 /// Updates the integration account.
 /// </summary>
 /// <param name="resourceGroupName">The integration account resource group name.</param>
 /// <param name="integrationAccountName">Integration account name.</param>
 /// <param name="integrationAccount">Integration account object.</param>
 /// <returns>Newly created integration account object.</returns>
 public IntegrationAccount UpdateIntegrationAccount(string resourceGroupName, string integrationAccountName, IntegrationAccount integrationAccount)
 {
     return this.LogicManagementClient.IntegrationAccounts.CreateOrUpdate(resourceGroupName, integrationAccountName, integrationAccount);
 }
Пример #12
0
 private void ValidateIntegrationAccount(IntegrationAccount expected, IntegrationAccount actual)
 {
     Assert.Equal(expected.Name, actual.Name);
     Assert.Equal(expected.Location, actual.Location);
     Assert.Equal(expected.Sku.Name, actual.Sku.Name);
 }
Пример #13
0
 /// <summary>
 /// Converts an existing <see cref="IntegrationAccount"/> to an abstracted <see cref="IIntegrationAccount"/> value.
 /// </summary>
 /// <param name="integrationAccount">The existing <see cref="IntegrationAccount"/> to be abstracted.</param>
 /// <exception cref="ArgumentNullException">Throws for <paramref name="integrationAccount"/>.</exception>
 /// <returns>An <see cref="IIntegrationAccount"/> that abstracts <paramref name="integrationAccount"/>.</returns>
 public static IIntegrationAccount Abstract(this IntegrationAccount integrationAccount)
 => new IntegrationAccountAbstraction(integrationAccount);
Пример #14
0
 /// <summary>
 /// Constructs a new <see cref="IntegrationAccountAbstraction"/> around an existing <see cref="Discord.IntegrationAccount"/>.
 /// </summary>
 /// <param name="integrationAccount">The existing <see cref="Discord.IntegrationAccount"/> to be abstracted.</param>
 /// <exception cref="ArgumentNullException">Throws for <paramref name="integrationAccount"/>.</exception>
 public IntegrationAccountAbstraction(IntegrationAccount integrationAccount)
 {
     _integrationAccount = integrationAccount;
 }
 /// <summary>
 /// Updates an integration account.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The resource group name.
 /// </param>
 /// <param name='integrationAccountName'>
 /// The integration account name.
 /// </param>
 /// <param name='integrationAccount'>
 /// The integration account.
 /// </param>
 public static IntegrationAccount Update(this IIntegrationAccountsOperations operations, string resourceGroupName, string integrationAccountName, IntegrationAccount integrationAccount)
 {
     return(operations.UpdateAsync(resourceGroupName, integrationAccountName, integrationAccount).GetAwaiter().GetResult());
 }
Пример #16
0
        public static async Task <IntegrationAccount> CreateIntegrationAccount(this Trusona trusona, Guid integrationId, IntegrationAccount integrationAccount)
        {
            try
            {
                var request  = trusona.mapper.Map <IntegrationAccountRequest>(integrationAccount);
                var response = await trusona.IntegrationAccountService.CreateIntegrationAccountAsync(integrationId, request);

                return(trusona.mapper.Map <IntegrationAccount>(response));
            }
            catch (TrusonaServiceException ex)
            {
                HandleServiceException(ex, DefaultErrorHandler);
                throw ex;
            }
        }