Files
apiautotest/interface/pms/projects/project/test_pms_edit_project.yaml
2024-04-09 11:44:17 +08:00

216 lines
6.4 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 项目
case_markers:
- pms
- pms_project
- usefixtures: gitlink_login
# 前提条件:当前存在组织, 组织下存在项目
common_dependence:
setup:
interface:
# 获取可选项目负责人列表
- pms_get_project_user_list_01
# 获取组织下成员,可选择作为项目成员
- pms_get_enterprise_user_list_01
# 新建项目
- pms_new_project_02
# 根据项目名称获取项目id
- pms_get_project_list_by_name_02
teardown:
interface:
# 清理数据:删除项目
- pms_delete_project_01
case_info:
- id: pms_edit_project_01
title: 组织下编辑项目接口 - 更新成功
run: True
severity: blocker
url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProject
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsEnterpriseId: ${env_enterprise_id}
id: ${pms_project_id}
status: ${random.choice([0,1,2])} # 0: 关闭 1:开启 2:暂停
projectName: ${generate_company_name(lan='zh')}_${generate_words}
projectAssigneeId: ${project_user}
projectDescription: ${generate_paragraph}
pmsProductId: ${env_pms_product_id}
pmsProjectMemberIds: ${list_to_str(${assignee_ids})}
projectRepositoryIds: ${repo_id}
startTime: ${generate_time(fmt='%Y-%m-%d')}
endTime: ${generate_time(fmt='%Y-%m-%d')}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
# 组织下新建仓库,便于项目关联仓库
interface: pms_new_repo_01
teardown:
interface:
# 清理数据:删除仓库
- pms_delete_repo_01
- id: pms_edit_project_03
title: 组织下编辑项目接口 - 项目名称长度51编辑失败
run: True
severity: normal
url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProject
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsEnterpriseId: ${env_enterprise_id}
id: ${pms_project_id}
projectName: ${faker.pystr(max_chars=51)}
projectAssigneeId: ${project_user}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[projectName]字段校验异常size must be between 0 and 50'
assert_type: ==
assert_sql:
extract:
case_dependence:
- id: pms_edit_project_04
title: 组织下编辑项目接口 - 项目名称为空,编辑失败
run: True
severity: normal
url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProject
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsEnterpriseId: ${env_enterprise_id}
id: ${pms_project_id}
projectName:
projectAssigneeId: ${project_user}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功 # 当传参为空时,当前设计为不更新;
assert_type: ==
assert_sql:
extract:
case_dependence:
- id: pms_edit_project_05
title: 组织下编辑项目接口 - 项目简介长度201编辑失败
run: True
severity: normal
url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProject
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsEnterpriseId: ${env_enterprise_id}
id: ${pms_project_id}
projectName: ${faker.pystr(max_chars=50)}
projectAssigneeId: ${project_user}
projectDescription: ${faker.pystr(max_chars=201)}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[projectDescription]字段校验异常size must be between 0 and 200'
assert_type: ==
assert_sql:
extract:
case_dependence:
- id: pms_edit_project_06
title: 组织下编辑项目接口 - 结束时间晚于开始时间,编辑失败
run: True
severity: normal
url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProject
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsEnterpriseId: ${env_enterprise_id}
id: ${pms_project_id}
projectName: ${faker.pystr(max_chars=50)}
projectAssigneeId: ${project_user}
projectDescription: ${faker.pystr(max_chars=200)}
startTime: ${generate_time_after_week}
endTime: ${generate_time(fmt='%Y-%m-%d')}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 结束时间不能早于开始时间
assert_type: ==
assert_sql:
extract:
case_dependence:
- id: pms_edit_project_related_product_07
title: 组织下编辑项目接口, 项目关联产品,关联成功 # 关联的是测试环境预置的产品
run: True
severity: blocker
url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProject
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsEnterpriseId: ${env_enterprise_id}
id: ${env_pms_project_id}
status: ${pms_project_status}
projectName: ${pms_project_name}
projectAssigneeId: ${pms_project_assignee_id}
projectDescription: ${pms_project_description}
pmsProductId: ${env_pms_product_id}
pmsProjectMemberIds: ${list_to_str(${pms_project_member_ids})}
projectRepositoryIds: ${list_to_str(${pms_project_repo_ids})}
startTime: ${pms_project_start_time}
endTime: ${pms_project_end_time}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface: pms_get_project_detail_01