def test_add_object_assignments(db): subject_category_id, object_category_id, action_category_id, meta_rule_id, policy_id = mock_data.create_new_policy( subject_category_name="subject_category1", object_category_name="object_category1", action_category_name="action_category1", meta_rule_name="meta_rule_1") object_id = mock_data.create_object(policy_id) data_id = mock_data.create_object_data(policy_id=policy_id, category_id=object_category_id) object_assignments = assignment_helper.add_object_assignment( policy_id, object_id, object_category_id, data_id) assert object_assignments object_id_1 = list(object_assignments.keys())[0] assert object_assignments[object_id_1]["policy_id"] == policy_id assert object_assignments[object_id_1]["object_id"] == object_id assert object_assignments[object_id_1]["category_id"] == object_category_id assert len(object_assignments[object_id_1].get("assignments")) == 1 assert data_id in object_assignments[object_id_1].get("assignments") with pytest.raises(ObjectAssignmentExisting) as exception_info: assignment_helper.add_object_assignment(policy_id, object_id, object_category_id, data_id) assert str(exception_info.value) == '409: Object Assignment Existing' assert str(exception_info.value.description ) == 'The given object assignment value is existing.'
def test_delete_policies_with_object_assignment(db): subject_category_id, object_category_id, action_category_id, meta_rule_id, policy_id = mock_data.create_new_policy() object_id = mock_data.create_object(policy_id) data_id = mock_data.create_object_data(policy_id=policy_id, category_id=object_category_id) assignment_helper.add_object_assignment(policy_id, object_id, object_category_id, data_id) with pytest.raises(DeletePolicyWithPerimeter) as exception_info: policy_helper.delete_policies(policy_id) assert '400: Policy With Perimeter Error' == str(exception_info.value)
def test_delete_object_category_with_assignment(db): subject_category_id, object_category_id, action_category_id, meta_rule_id, policy_id = mock_data.create_new_policy( ) object_id = mock_data.create_object(policy_id) data_id = mock_data.create_object_data(policy_id, object_category_id) assignment_helper.add_object_assignment(policy_id, object_id, object_category_id, data_id) with pytest.raises(DeleteObjectCategoryWithMetaRule) as exception_info: category_helper.delete_object_category(object_category_id) assert str( exception_info.value) == '400: Object Category With Meta Rule Error'
def test_get_object_assignments_by_policy_id(db): subject_category_id, object_category_id, action_category_id, meta_rule_id, policy_id = mock_data.create_new_policy( subject_category_name="subject_category1", object_category_name="object_category1", action_category_name="action_category1", meta_rule_name="meta_rule_1") object_id = mock_data.create_object(policy_id) data_id = mock_data.create_object_data(policy_id=policy_id, category_id=object_category_id) assignment_helper.add_object_assignment(policy_id, object_id, object_category_id, data_id) obj_assignments = assignment_helper.get_object_assignments(policy_id) assert len(obj_assignments) == 1
def test_delete_object_with_assignment(db): subject_category_id, object_category_id, action_category_id, meta_rule_id, policy_id = mock_data.create_new_policy( subject_category_name="subject_category" + uuid4().hex, object_category_name="object_category" + uuid4().hex, action_category_name="action_category" + uuid4().hex, meta_rule_name="meta_rule_" + uuid4().hex) object_id = mock_data.create_object(policy_id) data_id = mock_data.create_object_data(policy_id=policy_id, category_id=object_category_id) assignment_helper.add_object_assignment(policy_id, object_id, object_category_id, data_id) with pytest.raises(DeletePerimeterWithAssignment) as exception_info: data_helper.delete_object(policy_id, object_id) assert '400: Perimeter With Assignment Error' == str(exception_info.value)
def test_get_object_assignments(db): subject_category_id, object_category_id, action_category_id, meta_rule_id, policy_id = mock_data.create_new_policy( subject_category_name="subject_category1", object_category_name="object_category1", action_category_name="action_category1", meta_rule_name="meta_rule_1") object_id = mock_data.create_object(policy_id) data_id = mock_data.create_object_data(policy_id=policy_id, category_id=object_category_id) assignment_helper.add_object_assignment(policy_id, object_id, object_category_id, data_id) obj_assignments = assignment_helper.get_object_assignments( policy_id, object_id, object_category_id) object_id_1 = list(obj_assignments.keys())[0] assert obj_assignments[object_id_1]["policy_id"] == policy_id assert obj_assignments[object_id_1]["object_id"] == object_id assert obj_assignments[object_id_1]["category_id"] == object_category_id assert len(obj_assignments[object_id_1].get("assignments")) == 1 assert data_id in obj_assignments[object_id_1].get("assignments")