Beispiel #1
0
        public void TestCreateSubAccountParamsCheck()
        {
            var parameters = new CreateSubAccountParams(TestName);

            parameters.Name = string.Empty;
            AssertCheck(parameters, "Name must not be empty");
        }
        private string CreateSubAccount(string subAccountName)
        {
            var createSubAccountParams = new CreateSubAccountParams(subAccountName)
            {
                CloudName = subAccountName
            };
            var createSubAccountResult = AccountProvisioning.CreateSubAccountAsync(createSubAccountParams)
                                         .GetAwaiter().GetResult();

            Assert.AreEqual(HttpStatusCode.OK, createSubAccountResult.StatusCode, createSubAccountResult?.Error?.Message);

            return(createSubAccountResult.Id);
        }
Beispiel #3
0
        public void TestCreateSubAccountParamsDictionary()
        {
            var parameters = new CreateSubAccountParams(TestName)
            {
                CloudName        = CloudName,
                BaseSubAccountId = TestId,
                CustomAttributes = customAttributes
            };

            Assert.DoesNotThrow(() => parameters.Check());

            var dictionary = parameters.ToParamsDictionary();

            Assert.AreEqual("true", dictionary["enabled"]);
            Assert.AreEqual(TestName, dictionary["name"]);
            Assert.AreEqual(CloudName, dictionary["cloud_name"]);
            Assert.AreEqual(TestId, dictionary["base_sub_account_id"]);
            Assert.AreEqual("key1=value1|key2=value2", dictionary["custom_attributes"]);
        }
        public void Initialize()
        {
            AccountProvisioning = new AccountProvisioning();

            if (AccountProvisioning.ProvisioningApi.ProvisioningApiAccount.AccountId == null)
            {
                Assert.Ignore("Provisioning API is not configured, skipping tests.");
            }

            // Create a sub account(sub cloud)
            m_timestampSuffix = Utils.UnixTimeNowSeconds();
            var subAccountName         = $"jutaname{m_timestampSuffix}";
            var createSubAccountParams = new CreateSubAccountParams(subAccountName)
            {
                CloudName = subAccountName
            };
            var createSubAccountResult = AccountProvisioning.CreateSubAccountAsync(createSubAccountParams)
                                         .GetAwaiter().GetResult();

            Assert.AreEqual(HttpStatusCode.OK, createSubAccountResult.StatusCode);

            m_cloudId = createSubAccountResult.Id;

            // Create users
            m_userName1  = $"SDK TEST {m_timestampSuffix}";
            m_userEmail1 = $"sdk-test+{m_timestampSuffix}@cloudinary.com";
            m_userId1    = CreateUser(m_userName1, m_userEmail1);

            m_userName2  = $"SDK TEST 2 {m_timestampSuffix}";
            m_userEmail2 = $"sdk-test2+{m_timestampSuffix}@cloudinary.com";
            m_userId2    = CreateUser(m_userName2, m_userEmail2);

            // Create a user group
            var userGroupName         = $"test-group-{m_timestampSuffix}";
            var createUserGroupParams = new CreateUserGroupParams(userGroupName);
            var createUserGroupResult = AccountProvisioning.CreateUserGroupAsync(createUserGroupParams).GetAwaiter().GetResult();

            Assert.AreEqual(HttpStatusCode.OK, createUserGroupResult.StatusCode);

            m_groupId = createUserGroupResult.GroupId;
        }
        /// <summary>
        /// Creates a new sub-account asynchronously. Any users that have access to all sub-accounts
        /// will also automatically have access to the new sub-account.
        /// </summary>
        /// <param name="parameters">Parameters to create sub-account.</param>
        /// <param name="cancellationToken">(Optional) Cancellation token.</param>
        /// <returns>Parsed information about created sub-account.</returns>
        public Task <SubAccountResult> CreateSubAccountAsync(CreateSubAccountParams parameters, CancellationToken?cancellationToken = null)
        {
            var url = GetSubAccountsUrl();

            return(CallAccountApiAsync <SubAccountResult>(HttpMethod.POST, url, cancellationToken, parameters));
        }
        /// <summary>
        /// Creates a new sub-account. Any users that have access to all sub-accounts
        /// will also automatically have access to the new sub-account.
        /// </summary>
        /// <param name="parameters">Parameters to create sub-account.</param>
        /// <returns>Parsed information about created sub-account.</returns>
        public SubAccountResult CreateSubAccount(CreateSubAccountParams parameters)
        {
            var url = GetSubAccountsUrl();

            return(CallAccountApi <SubAccountResult>(HttpMethod.POST, url, parameters));
        }