216 lines
6.4 KiB
YAML
216 lines
6.4 KiB
YAML
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 |