Beispiel #1
0
 /// <summary>
 /// Updates a rule.
 /// </summary>
 /// <param name="id">The ID of the rule to update.</param>
 /// <param name="request">A <see cref="RuleUpdateRequest" /> containing the information to update.</param>
 /// <returns>Task&lt;Rule&gt;.</returns>
 public Task <Rule> UpdateAsync(string id, RuleUpdateRequest request)
 {
     return(Connection.PatchAsync <Rule>("rules/{id}", request, new Dictionary <string, string>
     {
         { "id", id }
     }));
 }
Beispiel #2
0
        private static async Task TestRuleMethods(ManagementApiClient apiClient)
        {
            // Create a new rule
            var newRuleRequest = new RuleCreateRequest
            {
                Name   = "New rule",
                Script = @"function (user, context, callback) {
                              // TODO: implement your rule
                              callback(null, user, context);
                            }"
            };
            var newRule = await apiClient.Rules.CreateAsync(newRuleRequest);

            // Get a single rule
            var rule = await apiClient.Rules.GetAsync(newRule.Id);

            // Get all rules
            var rules = await apiClient.Rules.GetAllAsync();

            // Update a rule
            var updateRuleRequest = new RuleUpdateRequest
            {
                Name = "Updated rule"
            };
            var updatedRule = await apiClient.Rules.UpdateAsync(newRule.Id, updateRuleRequest);

            // Delete a rule
            await apiClient.Rules.DeleteAsync(newRule.Id);
        }
Beispiel #3
0
        public async Task Test_rules_crud_sequence()
        {
            var scopes = new
            {
                rules = new
                {
                    actions = new string[] { "read", "create", "delete", "update" }
                }
            };

            string token = GenerateToken(scopes);

            var apiClient = new ManagementApiClient(token, new Uri(GetVariable("AUTH0_MANAGEMENT_API_URL")));

            // Get all rules
            var rulesBefore = await apiClient.Rules.GetAllAsync();

            // Add a new rule
            var newRuleRequest = new RuleCreateRequest
            {
                Name   = $"integration-test-rule-{Guid.NewGuid().ToString("N")}",
                Script = @"function (user, context, callback) {
                              // TODO: implement your rule
                              callback(null, user, context);
                            }"
            };
            var newRuleResponse = await apiClient.Rules.CreateAsync(newRuleRequest);

            newRuleResponse.Should().NotBeNull();
            newRuleResponse.Name.Should().Be(newRuleRequest.Name);

            // Get all the rules again, and check that we now have one more
            var rulesAfter = await apiClient.Rules.GetAllAsync();

            rulesAfter.Count.Should().Be(rulesBefore.Count + 1);

            // Update the Rule
            var updateRuleRequest = new RuleUpdateRequest
            {
                Name = $"integration-test-rule-{Guid.NewGuid().ToString("N")}"
            };
            var updateRuleResponse = await apiClient.Rules.UpdateAsync(newRuleResponse.Id, updateRuleRequest);

            updateRuleResponse.Should().NotBeNull();
            updateRuleResponse.Name.Should().Be(updateRuleRequest.Name);

            // Get a single rule
            var rule = await apiClient.Rules.GetAsync(newRuleResponse.Id);

            rule.Should().NotBeNull();
            rule.Name.Should().Be(updateRuleRequest.Name);

            // Delete the rule, and ensure we get exception when trying to fetch it again
            await apiClient.Rules.DeleteAsync(rule.Id);

            Func <Task> getFunc = async() => await apiClient.Rules.GetAsync(rule.Id);

            getFunc.ShouldThrow <ApiException>().And.ApiError.ErrorCode.Should().Be("inexistent_rule");
        }
Beispiel #4
0
        public async Task Test_rules_crud_sequence()
        {
            var scopes = new
            {
                rules = new
                {
                    actions = new string[] { "read", "create", "delete", "update" }
                }
            };

            string token = GenerateToken(scopes);

            var apiClient = new ManagementApiClient(token, new Uri(GetVariable("AUTH0_MANAGEMENT_API_URL")));

            // Get all rules
            var rulesBefore = await apiClient.Rules.GetAll();

            // Add a new rule
            var newRuleRequest = new RuleCreateRequest
            {
                Name = $"integration-test-rule-{Guid.NewGuid().ToString("N")}",
                Script = @"function (user, context, callback) {
                              // TODO: implement your rule
                              callback(null, user, context);
                            }"
            };
            var newRuleResponse = await apiClient.Rules.Create(newRuleRequest);
            newRuleResponse.Should().NotBeNull();
            newRuleResponse.Name.Should().Be(newRuleRequest.Name);

            // Get all the rules again, and check that we now have one more
            var rulesAfter = await apiClient.Rules.GetAll();
            rulesAfter.Count.Should().Be(rulesBefore.Count + 1);

            // Update the Rule
            var updateRuleRequest = new RuleUpdateRequest
            {
                Name = $"integration-test-rule-{Guid.NewGuid().ToString("N")}"
            };
            var updateRuleResponse = await apiClient.Rules.Update(newRuleResponse.Id, updateRuleRequest);
            updateRuleResponse.Should().NotBeNull();
            updateRuleResponse.Name.Should().Be(updateRuleRequest.Name);

            // Get a single rule
            var rule = await apiClient.Rules.Get(newRuleResponse.Id);
            rule.Should().NotBeNull();
            rule.Name.Should().Be(updateRuleRequest.Name);

            // Delete the rule, and ensure we get exception when trying to fetch it again
            await apiClient.Rules.Delete(rule.Id);
            Func<Task> getFunc = async () => await apiClient.Rules.Get(rule.Id);
            getFunc.ShouldThrow<ApiException>().And.ApiError.ErrorCode.Should().Be("inexistent_rule");
        }
Beispiel #5
0
        public async Task Test_rules_crud_sequence()
        {
            // Get all rules
            var rulesBefore = await _apiClient.Rules.GetAllAsync(new GetRulesRequest(), new PaginationInfo());

            // Add a new rule
            var newRuleRequest = new RuleCreateRequest
            {
                Name   = $"integration-test-rule-{Guid.NewGuid():N}",
                Script = @"function (user, context, callback) {
                              // TODO: implement your rule
                              callback(null, user, context);
                            }"
            };
            var newRuleResponse = await _apiClient.Rules.CreateAsync(newRuleRequest);

            newRuleResponse.Should().NotBeNull();
            newRuleResponse.Name.Should().Be(newRuleRequest.Name);

            // Get all the rules again, and check that we now have one more
            var rulesAfter = await _apiClient.Rules.GetAllAsync(new GetRulesRequest(), new PaginationInfo());

            rulesAfter.Count.Should().Be(rulesBefore.Count + 1);

            // Update the Rule
            var updateRuleRequest = new RuleUpdateRequest
            {
                Name = $"integration-test-rule-{Guid.NewGuid():N}"
            };
            var updateRuleResponse = await _apiClient.Rules.UpdateAsync(newRuleResponse.Id, updateRuleRequest);

            updateRuleResponse.Should().NotBeNull();
            updateRuleResponse.Name.Should().Be(updateRuleRequest.Name);

            // Get a single rule
            var rule = await _apiClient.Rules.GetAsync(newRuleResponse.Id);

            rule.Should().NotBeNull();
            rule.Name.Should().Be(updateRuleRequest.Name);

            // Delete the rule, and ensure we get exception when trying to fetch it again
            await _apiClient.Rules.DeleteAsync(rule.Id);

            Func <Task> getFunc = async() => await _apiClient.Rules.GetAsync(rule.Id);

            getFunc.Should().Throw <ApiException>().And.ApiError.ErrorCode.Should().Be("inexistent_rule");
        }
Beispiel #6
0
 /// <summary>
 /// Updates a rule.
 /// </summary>
 /// <param name="id">The ID of the rule to update.</param>
 /// <param name="request">A <see cref="RuleUpdateRequest" /> containing the information to update.</param>
 /// <returns>Task&lt;Rule&gt;.</returns>
 public Task<Rule> UpdateAsync(string id, RuleUpdateRequest request)
 {
     return Connection.PatchAsync<Rule>("rules/{id}", request, new Dictionary<string, string>
     {
         {"id", id}
     });
 }
Beispiel #7
0
 public Task<Rule> Update(string id, RuleUpdateRequest request)
 {
     return UpdateAsync(id, request);
 }
Beispiel #8
0
        public async Task <HttpResponseMessage> UpdateRule([FromBody] RuleUpdateRequest request)
        {
            var response = await _service.UpsertRule(request, SystemDbStatus.Updated, Request.GetSession()).ConfigureAwait(false);

            return(Request.SystemResponse(response));
        }
Beispiel #9
0
 /// <summary>
 /// Updates a rule.
 /// </summary>
 /// <param name="id">The ID of the rule to update.</param>
 /// <param name="request">A <see cref="RuleUpdateRequest" /> containing the information to update.</param>
 /// <returns>The newly updated <see cref="Rule"/>.</returns>
 public Task <Rule> UpdateAsync(string id, RuleUpdateRequest request)
 {
     return(Connection.SendAsync <Rule>(new HttpMethod("PATCH"), BuildUri($"rules/{EncodePath(id)}"), request, DefaultHeaders));
 }
Beispiel #10
0
 public Task <Rule> Update(string id, RuleUpdateRequest request)
 {
     return(UpdateAsync(id, request));
 }
Beispiel #11
0
        private static async Task TestRuleMethods(ManagementApiClient apiClient)
        {
            // Create a new rule
            var newRuleRequest = new RuleCreateRequest
            {
                Name = "New rule",
                Script = @"function (user, context, callback) {
                              // TODO: implement your rule
                              callback(null, user, context);
                            }"
            };
            var newRule = await apiClient.Rules.CreateAsync(newRuleRequest);

            // Get a single rule
            var rule = await apiClient.Rules.GetAsync(newRule.Id);

            // Get all rules
            var rules = await apiClient.Rules.GetAllAsync();

            // Update a rule
            var updateRuleRequest = new RuleUpdateRequest
            {
                Name = "Updated rule"
            };
            var updatedRule = await apiClient.Rules.UpdateAsync(newRule.Id, updateRuleRequest);

            // Delete a rule
            await apiClient.Rules.DeleteAsync(newRule.Id);
        }