---
title: Updating and retesting a policy
description: Learn how to iterate a policy by updating and retesting it.
component: pingone
page_id: pingone:authorization_using_pingone_authorize:p1az_tutorial_updating_and_retesting_policies
canonical_url: https://docs.pingidentity.com/pingone/authorization_using_pingone_authorize/p1az_tutorial_updating_and_retesting_policies.html
revdate: May 15, 2024
section_ids:
  tutorial-update-policy: Updating the policy
  steps: Steps
  tutorial-retest-policy: Retesting the policy
  about-this-task: About this task
  steps-2: Steps
  result: Result:
  next-steps: Next steps
---

# Updating and retesting a policy

Learn how to iterate a policy by updating and retesting it.

## Updating the policy

Let's add another rule to allow payments that are less than $10,000 USD.

### Steps

1. Go to **Authorization > Policies** and make sure that the **Payment checks** policy is selected.

2. Click the **Details** tab, then click **[icon: plus, set=fa]Add Rule**.

3. For the rule **Name**, enter `Permit payments up to 10000 USD`.

4. Click the hamburger menu next to the **Name** field and select **Add "Applies When"**.

   1. In the **Applies When** section, click **[icon: plus, set=fa]Comparison**.

   2. In **Select an attribute**, select `Amount`, which is the same attribute you used before.

   3. For the comparator, select **Less Than**.

   4. For the constant value, enter `10000`.

      Your new rule looks like this:

      ![Screen capture of the Permit payments up to 10000 USD rule showing the comparison to determine if the payment amount is less than 10000.](_images/szw1637448884417.png)

5. Click **Save changes**.

   Rules are evaluated in order from top to bottom. Let's move the permit rule so it's first.

6. Make sure that the rule is collapsed so that you only see the name, then click the drag bar to the left of the green check mark and reposition the permit rule above the deny rule.

   ![Screen capture of the repositioned rule showing the cursor on the grab bar.](_images/ccr1637449237604.png)

   Now that there's a second rule, let's consider the combining algorithm. It determines how one or more rules are evaluated to make a decision. Instead of adding the permit rule, you could have used the combining algorithm alone to permit payments less than $10,000 USD. Let's change the combining algorithm as if you didn't already have the second rule.

7. For the **Combining Algorithm**, select **Unless one decision is deny, the decision will be permit**.

   ![Screen capture of the combining algorithm unless one decision is deny, the decision will be permit.](_images/p1az-tutorial-payment-policy-combining-algorithm.png)

   Learn more in [Combining algorithms](p1az_combining_algorithm.html).

8. Click **Save changes**.

## Retesting the policy

### About this task

Let's test your policy again to make sure it handles payment amounts under $10,000 USD.

### Steps

1. Go to **Authorization > Policies**, then select the **Payment checks** policy and click the **Test** tab.

2. In the **Request** section, in **Attributes**, enter `9900` as the value for the **Amount** attribute.

3. Click **Execute**.

   #### Result:

   The **Visualization** tab shows a permit result, so now your policy handles amounts less than $10,000 USD. Your original rule for payments over $10,000 USD is not applicable because the amount is less than $10,000 USD.

   ![Screen capture showing the visualization flow for the permit payments up to 10000 USD result.](_images/ggi1637450124918.png)

### Next steps

You added a second rule to your policy to account for payments less than $10,000 USD and used a combining algorithm. Then you retested your policy and found that it accounts for payments that are greater than or less than $10,000 USD.

So far, you've used the **Trust Framework** to create a basic attribute, then used the attribute in a policy with multiple rules and a combining algorithm. You've tested the policy and it does what you expect.

Now you're ready to [publish your policy](p1az_tutorial_policy_publishing_and_endpoint_configuration.html#tutorial-publish-policy).
