def create_excluded_resources_handler(event, context): trace_id = eventhelper.get_trace_id(event) user_id = trace_id email = eventhelper.get_email(event) organization_id = eventhelper.get_organization_id(event) project_id = eventhelper.get_project_id(event) coop_id = eventhelper.get_coop_id(event) check_item_code = eventhelper.get_check_item_code(event) # Get logging pm_logger = common_utils.begin_logger(trace_id, __name__, inspect.currentframe()) # アクセス権限チェックを行います。 response_authority = checkauthority.authority(trace_id, user_id, organization_id, Authority.Editor) if response_authority: return common_utils.response(response_authority, pm_logger) # return response data response = checkitemsettings_logic.create_excluded_resources( trace_id, user_id, organization_id, project_id, coop_id, check_item_code, email, event['body']) return common_utils.response(response, pm_logger)
def test_create_excluded_resources_case_parse_json_error(self): body_object = '{"json_invalid"}' # mock object patch_query_awscoop_coop_key = patch( "premembers.repository.pm_awsAccountCoops.query_awscoop_coop_key") # start mock object mock_query_awscoop_coop_key = patch_query_awscoop_coop_key.start() # mock function error_exception mock_error_exception = mock_common_utils.mock_error_exception(self) # mock data mock_query_awscoop_coop_key.return_value = data_pm_aws_account_coops # addCleanup stop mock object self.addCleanup(patch_query_awscoop_coop_key.stop) # call Function test response = checkitemsettings_logic.create_excluded_resources( trace_id, user_id, organization_id, project_id, coop_id, check_item_code, mail_address, body_object) # assert output function # check call function common write log error mock_error_exception.assert_called_once() # check response message_202 = MsgConst.ERR_REQUEST_202 actual_response_body = json.loads(response["body"]) self.assertEqual(actual_response_body["code"], message_202["code"]) self.assertEqual(actual_response_body["message"], message_202["message"]) self.assertEqual(actual_response_body["description"], message_202["description"]) self.assertEqual(response["statusCode"], HTTPStatus.BAD_REQUEST.value)
def test_create_excluded_resources_case_error_create_excluded_resourcess( self): trace_id = user_id_authority_owner param_body = { "regionName": region_name, "resourceName": resource_name, "resourceType": resource_type, "exclusionComment": exclusion_comment } body_object = json.dumps(param_body) # mock object patch_query_awscoop_coop_key = patch( "premembers.repository.pm_awsAccountCoops.query_awscoop_coop_key") patch_query_filter_region_name_and_resource_name = patch( "premembers.repository.pm_exclusionResources.query_filter_region_name_and_resource_name" ) patch_create_pm_exclusionResources = patch( "premembers.repository.pm_exclusionResources.create") # mock function error_exception mock_error_exception = mock_common_utils.mock_error_exception(self) mock_query_awscoop_coop_key = patch_query_awscoop_coop_key.start() mock_query_filter_region_name_and_resource_name = patch_query_filter_region_name_and_resource_name.start( ) mock_create_pm_exclusionResources = patch_create_pm_exclusionResources.start( ) # mock data mock_query_awscoop_coop_key.return_value = data_pm_aws_account_coops mock_query_filter_region_name_and_resource_name.return_value = None mock_create_pm_exclusionResources.side_effect = Exception() # addCleanup stop mock object self.addCleanup(patch_query_awscoop_coop_key.stop) self.addCleanup(patch_query_filter_region_name_and_resource_name.stop) self.addCleanup(patch_create_pm_exclusionResources.stop) # call Function test actual_response = checkitemsettings_logic.create_excluded_resources( trace_id, user_id_authority_owner, organization_id, project_id, coop_id, check_item_code, mail_address, body_object) # assert output function # check call function common write log error mock_error_exception.assert_called_once() # assert output function actual_response_body = json.loads(actual_response["body"]) err_db_403 = MsgConst.ERR_DB_403 self.assertEqual(err_db_403["code"], actual_response_body["code"]) self.assertEqual(err_db_403["message"], actual_response_body["message"]) self.assertEqual(err_db_403["description"], actual_response_body["description"]) self.assertEqual(HTTPStatus.INTERNAL_SERVER_ERROR.value, actual_response["statusCode"])
def test_create_excluded_resources_case_error_validate_param_lenght_exclusion_comment_is_301( self): trace_id = user_id_authority_owner param_body = { "regionName": region_name, "resourceType": resource_type, "resourceName": resource_name, "exclusionComment": "チェック項目除外コメントチェック項目除外コメントチェック項目除外コメントチェック項目除外コメントチェック項目除外コメントチェック項目除外コメントチェック項目除外コメントチェック項目除外コメントメントトチェック項目除外コメントチェック項目除外コメントチェック項目除外コメントチェック項目除外コメントチェック項目除外コメントチェック項目除外コメントチェック項目除外コメントチェック項目除外コメントメントトチェック項目除外コメントチェック項目除外コメントチェック項目除外コメントチェック項目除外コメントチェック項目除外コメントチェック項目除外コメントチェック項目除外コメントチェック項目除外コメントメントトト" } body_object = json.dumps(param_body) # mock object patch_query_awscoop_coop_key = patch( "premembers.repository.pm_awsAccountCoops.query_awscoop_coop_key") # mock function error_exception mock_error_validate = mock_common_utils.mock_error_validate(self) mock_query_awscoop_coop_key = patch_query_awscoop_coop_key.start() # mock data mock_query_awscoop_coop_key.return_value = data_pm_aws_account_coops # addCleanup stop mock object self.addCleanup(patch_query_awscoop_coop_key.stop) # call Function test actual_response = checkitemsettings_logic.create_excluded_resources( trace_id, user_id_authority_owner, organization_id, project_id, coop_id, check_item_code, mail_address, body_object) # assert output function # check call function common write log error mock_error_validate.assert_called_once() # check response response_body = json.loads(actual_response["body"]) message_201 = MsgConst.ERR_REQUEST_201 self.assertEqual(response_body["code"], message_201["code"]) self.assertEqual(response_body["message"], message_201["message"]) self.assertEqual(actual_response["statusCode"], HTTPStatus.UNPROCESSABLE_ENTITY.value) actual_response_error = response_body["errors"] err_val_303 = MsgConst.ERR_VAL_303 self.assertEqual(err_val_303["code"], actual_response_error[0]["code"]) self.assertEqual("exclusionComment", actual_response_error[0]["field"]) self.assertEqual(param_body["exclusionComment"], actual_response_error[0]["value"]) self.assertEqual(err_val_303["message"].format(300), actual_response_error[0]["message"])
def test_create_excluded_resources_case_get_record_aws_account_coops_is_zero( self): # mock object patch_query_awscoop_coop_key = patch( "premembers.repository.pm_awsAccountCoops.query_awscoop_coop_key") # start mock object mock_query_awscoop_coop_key = patch_query_awscoop_coop_key.start() mock_error_common = mock_common_utils.mock_error_common(self) # mock data mock_query_awscoop_coop_key.return_value = [] # addCleanup stop mock object self.addCleanup(patch_query_awscoop_coop_key.stop) body_object = json.dumps(param_body) # call Function test actual_response = checkitemsettings_logic.create_excluded_resources( trace_id, user_id, organization_id, project_id, coop_id, check_item_code, mail_address, body_object) # assert output function # check call function common write log error mock_error_common.assert_called_once() # assert output function actual_response_body = json.loads(actual_response["body"]) err_aws_401 = MsgConst.ERR_AWS_401 self.assertEqual(err_aws_401["code"], actual_response_body["code"]) self.assertEqual(err_aws_401["message"], actual_response_body["message"]) self.assertEqual(err_aws_401["description"], actual_response_body["description"]) self.assertEqual(HTTPStatus.UNPROCESSABLE_ENTITY.value, actual_response["statusCode"])