'Call ``GET /role_assignments?effective``.
Test Plan:
- Create 2 roles
- Create a hierarchy of projects with one root and one leaf project
- Issue the URL to add a non-inherited user role to the root project
- Issue the URL to add an inherited user role to the root project
- Issue the URL to get effective role assignments - this should return
1 role (non-inherited) on the root project and 1 role (inherited) on
the leaf project.'

def test_get_effective_role_assignments_for_project_hierarchy(self):

    (root_id, leaf_id, non_inherited_role_id, inherited_role_id) = self._setup_hierarchical_projects_scenario()
    non_inher_up_entity = self.build_role_assignment_entity(project_id=root_id, user_id=self.user['id'], role_id=non_inherited_role_id)
    self.put(non_inher_up_entity['links']['assignment'])
    inher_up_entity = self.build_role_assignment_entity(project_id=root_id, user_id=self.user['id'], role_id=inherited_role_id, inherited_to_projects=True)
    self.put(inher_up_entity['links']['assignment'])
    collection_url = '/role_assignments?effective'
    r = self.get(collection_url)
    self.assertValidRoleAssignmentListResponse(r, resource_url=collection_url)
    self.assertRoleAssignmentInListResponse(r, non_inher_up_entity)
    self.assertRoleAssignmentNotInListResponse(r, inher_up_entity)
    non_inher_up_entity = self.build_role_assignment_entity(project_id=leaf_id, user_id=self.user['id'], role_id=non_inherited_role_id)
    self.assertRoleAssignmentNotInListResponse(r, non_inher_up_entity)
    inher_up_entity['scope']['project']['id'] = leaf_id
    self.assertRoleAssignmentInListResponse(r, inher_up_entity)
