)]}'
{
  "commit": "35a77113fccfd5659c123adb2cc142836cdd764d",
  "tree": "b35dbf96aaec39fd83b3d07f7672b3bbbc8b4983",
  "parents": [
    "2fc2929882c211682219c5ab71f06e5954fc7b53"
  ],
  "author": {
    "name": "Cliff Parsons",
    "email": "cliff.parsons@att.com",
    "time": "Mon May 07 14:03:40 2018 -0500"
  },
  "committer": {
    "name": "Cliff Parsons",
    "email": "cliff.parsons@att.com",
    "time": "Sun Jun 17 04:37:17 2018 +0000"
  },
  "message": "Add support for handling multiple error codes\n\nPatrole currently cannot handle the scenario where two possible\nerror codes can returned by Neutron policy enforcement for a\nfailed policy check (403 Forbidden and 404 NotFound), depending\non what role is being tested. Patrole framework can only handle\none expected_exception.\n\nThis change builds upon the recent multi-policy support to allow\nthe tester to specify multiple policy actions for one API test.\nFor each policy action, the tester would need to specify an\nerror code that is expected if the action should fail. If multiple\npolicy actions fail, the error code for the first policy action\nthat fails will be expected to be returned from the service.\n\nThis handles the cases in Neutron where Neutron may use a second\npolicy rule to determine whether or not to return a 403 error\ncode or a 404 error code. The tester is expected to list out\nwhich policy rules are being tested by the API endpoint test.\n\nChange-Id: I5cd861e184da90bb27f8ba454c94fa4d4f99c269\nCloses-Bug: #1772710\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "69a43ea4c0280e4c11d6c51da8a9b5fb941b246c",
      "old_mode": 33188,
      "old_path": "patrole_tempest_plugin/rbac_rule_validation.py",
      "new_id": "7d48870ee2acffc890ab5d5874352fc9f35419f5",
      "new_mode": 33188,
      "new_path": "patrole_tempest_plugin/rbac_rule_validation.py"
    },
    {
      "type": "modify",
      "old_id": "ab8574518b14bc99afdf782cfbf676c82423ad8c",
      "old_mode": 33188,
      "old_path": "patrole_tempest_plugin/tests/api/network/test_routers_rbac.py",
      "new_id": "812b0c1d9f532bef2e8670cbaf184438dc248cc6",
      "new_mode": 33188,
      "new_path": "patrole_tempest_plugin/tests/api/network/test_routers_rbac.py"
    },
    {
      "type": "modify",
      "old_id": "0a4c44b2e4189bc57f5e01458d23d25e003adf9a",
      "old_mode": 33188,
      "old_path": "patrole_tempest_plugin/tests/unit/test_rbac_rule_validation.py",
      "new_id": "2ae860c3cb837c2f960daf7a27448aa03a5825fc",
      "new_mode": 33188,
      "new_path": "patrole_tempest_plugin/tests/unit/test_rbac_rule_validation.py"
    },
    {
      "type": "modify",
      "old_id": "3d192d9ee8a8f97cdffa8434c96b3067b0cc875f",
      "old_mode": 33188,
      "old_path": "releasenotes/notes/multi-policy-support-4e5c8b4e9e25ad9d.yaml",
      "new_id": "1f33d8f600d69da47d3532f8b9e4a3b7751a17f6",
      "new_mode": 33188,
      "new_path": "releasenotes/notes/multi-policy-support-4e5c8b4e9e25ad9d.yaml"
    }
  ]
}
