diff --git a/config/settings.py b/config/settings.py index 8f1a241..5f22389 100644 --- a/config/settings.py +++ b/config/settings.py @@ -19,16 +19,21 @@ ENV_VARS = { # 示例测试环境及示例测试账号 "host": "https://testforgeplus.trustie.net", "wiki_host": "", - "client_id": "****client_id-test****", # 获取oauth_token需要的参数 - "client_secret": "****client_secret-test****", # 获取oauth_token需要的参数 - "green_code": "****green_code-test****", # 万能验证码 - "login": "autotest", - "password": "****autotest-test****", # 运行时需要手动更改密码 - "nickname": "autotest", - "user_id": 106, - "super_login": "floraachy", - "super_password": "****floraachy-test****", # 运行时需要手动更改密码 - "project_url": "/autotest/auotest", + "pms_host": "https://testpm.trustie.net", + "client_id": "****client_id****", # 获取oauth_token需要的参数 + "client_secret": "****client_secret****", # 获取oauth_token需要的参数 + "green_code": "****green_code****", # 万能验证码 + "env_login": "autotest", + "env_password": "****autotest_password_test****", # 运行时需要手动更改密码 + "env_nickname": "autotest", + "env_user_id": 106, + "env_super_login": "floraachy", + "env_super_password": "****floraachy_password_test****", # 运行时需要手动更改密码 + "env_project_url": "/autotest/auotest", + "env_project_id": "59", + "env_pms_product_id": "215", + "env_pms_product_identifier": "6E0453", + "env_pms_project_id": "135", "db_info": { "db_host": "xx.xx.xx.xx", "db_port": 3306, @@ -51,13 +56,13 @@ ENV_VARS = { "client_id": "****client_id-pre****", # 获取oauth_token需要的参数 "client_secret": "****client_secret-pre****", # 获取oauth_token需要的参数 "green_code": "****green_code-pre****", # 万能验证码 - "login": "autotest", - "password": "****autotest-pre****", # 运行时需要手动更改密码 - "nickname": "autotest", - "user_id": 115, - "super_login": "floraachy", - "super_password": "****floraachy-pre****", # 运行时需要手动更改密码 - "project_url": "/floraachy/autotest", + "env_login": "autotest", + "env_password": "****autotest-pre****", # 运行时需要手动更改密码 + "env_nickname": "autotest", + "env_user_id": 115, + "env_super_login": "floraachy", + "env_super_password": "****floraachy-pre****", # 运行时需要手动更改密码 + "env_project_url": "/floraachy/autotest", "db_info": { "db_host": "xx.xx.xx.xx", "db_port": 3306, @@ -79,13 +84,13 @@ ENV_VARS = { "client_id": "****client_id-live****", # 获取oauth_token需要的参数 "client_secret": "****client_secret-live****", # 获取oauth_token需要的参数 "green_code": "****green_code-live****", # 万能验证码 - "login": "floraachy", - "password": "****floraachy-live****", # 运行时需要手动更改密码 - "nickname": "🌼陈银花", - "user_id": 87611, - "super_login": "chenyh", - "super_password": "****chenyh-live****", # 运行时需要手动更改密码 - "project_url": "/floraachy/auotest", + "env_login": "floraachy", + "env_password": "****floraachy-live****", # 运行时需要手动更改密码 + "env_nickname": "🌼陈银花", + "env_user_id": 87611, + "env_super_login": "chenyh", + "env_super_password": "****chenyh-live****", # 运行时需要手动更改密码 + "env_project_url": "/floraachy/auotest", "db_info": { "db_host": "xx.xx.xx.xx", "db_port": 3306, @@ -115,7 +120,7 @@ class RunConfig: reruns_delay = 5 # 当达到最大失败数,停止执行 - max_fail = "10" + max_fail = "100" # ------------------------------------ 配置信息 ----------------------------------------------------# diff --git a/interface/gitlink/login_oauth_token.yaml b/interface/gitlink/login_oauth_token.yaml index 02c4a4a..d66ff23 100644 --- a/interface/gitlink/login_oauth_token.yaml +++ b/interface/gitlink/login_oauth_token.yaml @@ -22,8 +22,8 @@ case_info: request_type: json payload: grant_type: password - username: ${login} - password: ${password} + username: ${env_login} + password: ${env_password} client_id: ${client_id} client_secret: ${client_secret} files: diff --git a/interface/gitlink/organization/test_delete_organization.yaml b/interface/gitlink/organization/test_delete_organization.yaml index a0b43c3..b02dae7 100644 --- a/interface/gitlink/organization/test_delete_organization.yaml +++ b/interface/gitlink/organization/test_delete_organization.yaml @@ -23,7 +23,7 @@ case_info: cookies: request_type: params payload: - password: ${password} # 用户登录密码 + password: ${env_password} # 用户登录密码 files: assert_response: status_code: 200 diff --git a/interface/gitlink/projects/branch/test_branches.yaml b/interface/gitlink/projects/branch/test_branches.yaml index 52ebc12..107fdef 100644 --- a/interface/gitlink/projects/branch/test_branches.yaml +++ b/interface/gitlink/projects/branch/test_branches.yaml @@ -14,7 +14,7 @@ case_info: title: 获取项目分支列表 severity: run: True - url: /api/v1/${project_url}/branches.json + url: /api/v1/${env_project_url}/branches.json method: GET headers: Content-Type: application/json; charset=utf-8; diff --git a/interface/gitlink/projects/branch/test_branches_all.yaml b/interface/gitlink/projects/branch/test_branches_all.yaml index 54f7129..49cc0de 100644 --- a/interface/gitlink/projects/branch/test_branches_all.yaml +++ b/interface/gitlink/projects/branch/test_branches_all.yaml @@ -14,7 +14,7 @@ case_info: title: 获取项目分支列表(无分页) severity: run: True - url: /api/v1/${project_url}/branches/all.json + url: /api/v1/${env_project_url}/branches/all.json method: GET headers: Content-Type: application/json; charset=utf-8; diff --git a/interface/gitlink/projects/branch/test_delete_branch.yaml b/interface/gitlink/projects/branch/test_delete_branch.yaml index de0cc4e..8bbb2d3 100644 --- a/interface/gitlink/projects/branch/test_delete_branch.yaml +++ b/interface/gitlink/projects/branch/test_delete_branch.yaml @@ -15,7 +15,7 @@ case_info: title: 删除一个项目分支 severity: run: True - url: /api/v1/${project_url}/branches/${branch}.json + url: /api/v1/${env_project_url}/branches/${branch}.json method: DELETE headers: Content-Type: application/json; charset=utf-8; diff --git a/interface/gitlink/projects/branch/test_new_branch.yaml b/interface/gitlink/projects/branch/test_new_branch.yaml index 8ac035f..199ce3d 100644 --- a/interface/gitlink/projects/branch/test_new_branch.yaml +++ b/interface/gitlink/projects/branch/test_new_branch.yaml @@ -15,7 +15,7 @@ case_info: title: 创建一个项目分支 severity: run: True - url: /api/v1/${project_url}/branches.json + url: /api/v1/${env_project_url}/branches.json method: POST headers: Content-Type: application/json; charset=utf-8; diff --git a/interface/gitlink/projects/branch/test_set_default_branch.yaml b/interface/gitlink/projects/branch/test_set_default_branch.yaml index d00a989..5968ab5 100644 --- a/interface/gitlink/projects/branch/test_set_default_branch.yaml +++ b/interface/gitlink/projects/branch/test_set_default_branch.yaml @@ -15,7 +15,7 @@ case_info: title: 更新项目默认分支 severity: run: True - url: /api/${project_url}.json + url: /api/${env_project_url}.json method: PUT headers: Content-Type: application/json; charset=utf-8; @@ -30,7 +30,7 @@ case_info: assertProjectId: message: 断言projectid assert_type: == - expect_value: ${project_id} + expect_value: ${pms_project_id} type_jsonpath: $.id assert_sql: extract: diff --git a/interface/gitlink/projects/issues/get_issue_detail.yaml b/interface/gitlink/projects/issues/get_issue_detail.yaml index c52148e..bc93467 100644 --- a/interface/gitlink/projects/issues/get_issue_detail.yaml +++ b/interface/gitlink/projects/issues/get_issue_detail.yaml @@ -13,7 +13,7 @@ case_info: title: 项目内获取疑修详情接口 run: True severity: normal - url: /api/v1/${project_url}/issues/${issue_id} + url: /api/v1/${env_project_url}/issues/${issue_id} method: GET headers: {"Content-Type": "application/json; charset=utf-8;"} cookies: ${login_cookies} diff --git a/interface/gitlink/projects/issues/get_issue_journals_detail.yaml b/interface/gitlink/projects/issues/get_issue_journals_detail.yaml index dd119e9..afc3417 100644 --- a/interface/gitlink/projects/issues/get_issue_journals_detail.yaml +++ b/interface/gitlink/projects/issues/get_issue_journals_detail.yaml @@ -13,7 +13,7 @@ case_info: title: 项目内获取疑修列表接口 run: True severity: normal - url: /api/v1/${project_url}/issues/{issue_id}/journals?category=comment&page=${page}&limit=${limit} + url: /api/v1/${env_project_url}/issues/{issue_id}/journals?category=comment&page=${page}&limit=${limit} method: GET headers: {"Content-Type": "application/json; charset=utf-8;"} cookies: ${login_cookies} diff --git a/interface/gitlink/projects/issues/get_issue_list.yaml b/interface/gitlink/projects/issues/get_issue_list.yaml index ad8e25b..fd75077 100644 --- a/interface/gitlink/projects/issues/get_issue_list.yaml +++ b/interface/gitlink/projects/issues/get_issue_list.yaml @@ -13,7 +13,7 @@ case_info: title: 项目内获取疑修列表接口 run: True severity: normal - url: /api/v1/${project_url}/issues?participant_category=all&category=all&limit=${limit}&page=${page} + url: /api/v1/${env_project_url}/issues?participant_category=all&category=all&limit=${limit}&page=${page} method: GET headers: {"Content-Type": "application/json; charset=utf-8;"} cookies: ${login_cookies} diff --git a/interface/gitlink/projects/issues/new_issue_journals.yaml b/interface/gitlink/projects/issues/new_issue_journals.yaml index 6b2e862..a342e6b 100644 --- a/interface/gitlink/projects/issues/new_issue_journals.yaml +++ b/interface/gitlink/projects/issues/new_issue_journals.yaml @@ -13,7 +13,7 @@ case_info: title: 项目内新建疑修评论接口 run: True severity: normal - url: /api/v1/${project_url}/issues/${issue_id}/journals + url: /api/v1/${env_project_url}/issues/${issue_id}/journals method: POST headers: {"Content-Type": "application/json; charset=utf-8;"} cookies: ${login_cookies} diff --git a/interface/gitlink/projects/issues/new_issue_journals_reply.yaml b/interface/gitlink/projects/issues/new_issue_journals_reply.yaml index 15bdc36..3cfd02b 100644 --- a/interface/gitlink/projects/issues/new_issue_journals_reply.yaml +++ b/interface/gitlink/projects/issues/new_issue_journals_reply.yaml @@ -13,7 +13,7 @@ case_info: title: 项目内新建疑修评论回复接口 run: True severity: normal - url: /api/v1/${project_url}/issues/${issue_id}/journals + url: /api/v1/${env_project_url}/issues/${issue_id}/journals method: POST headers: {"Content-Type": "application/json; charset=utf-8;"} cookies: ${login_cookies} diff --git a/interface/gitlink/projects/issues/test_new_issue.yaml b/interface/gitlink/projects/issues/test_new_issue.yaml index 831c787..3ca42d3 100644 --- a/interface/gitlink/projects/issues/test_new_issue.yaml +++ b/interface/gitlink/projects/issues/test_new_issue.yaml @@ -16,7 +16,7 @@ case_info: title: 项目内新建疑修接口 run: True severity: normal - url: /api/v1/${project_url}/issues + url: /api/v1/${env_project_url}/issues method: POST headers: {"Content-Type": "application/json; charset=utf-8;"} cookies: ${cookies} diff --git a/interface/gitlink/projects/pull_request/test_edit_pull_request.yaml b/interface/gitlink/projects/pull_request/test_edit_pull_request.yaml index 3175669..7c6995c 100644 --- a/interface/gitlink/projects/pull_request/test_edit_pull_request.yaml +++ b/interface/gitlink/projects/pull_request/test_edit_pull_request.yaml @@ -15,7 +15,7 @@ case_info: title: 编辑一个合并请求 severity: run: True - url: /api/v1/${project_url}/edit/${pr_id}.json + url: /api/v1/${env_project_url}/edit/${pr_id}.json method: PUT headers: Content-Type: application/json; charset=utf-8; diff --git a/interface/gitlink/projects/pull_request/test_new_pull_request.yaml b/interface/gitlink/projects/pull_request/test_new_pull_request.yaml index 475322b..859364f 100644 --- a/interface/gitlink/projects/pull_request/test_new_pull_request.yaml +++ b/interface/gitlink/projects/pull_request/test_new_pull_request.yaml @@ -15,7 +15,7 @@ case_info: title: 创建一个合并请求 severity: run: True - url: /api/v1/${project_url}/pulls.json + url: /api/v1/${env_project_url}/pulls.json method: POST headers: Content-Type: application/json; charset=utf-8; diff --git a/interface/gitlink/projects/pull_request/test_pr_merge.yaml b/interface/gitlink/projects/pull_request/test_pr_merge.yaml index 4dd0960..7b8e0ee 100644 --- a/interface/gitlink/projects/pull_request/test_pr_merge.yaml +++ b/interface/gitlink/projects/pull_request/test_pr_merge.yaml @@ -15,7 +15,7 @@ case_info: title: 合并一个合并请求 severity: run: True - url: /api/v1/${project_url}/edit/${pr_id}/pr_merge.json + url: /api/v1/${env_project_url}/edit/${pr_id}/pr_merge.json method: POST headers: Content-Type: application/json; charset=utf-8; diff --git a/interface/gitlink/projects/pull_request/test_pull_request.yaml b/interface/gitlink/projects/pull_request/test_pull_request.yaml index 2848ec2..eddce18 100644 --- a/interface/gitlink/projects/pull_request/test_pull_request.yaml +++ b/interface/gitlink/projects/pull_request/test_pull_request.yaml @@ -14,7 +14,7 @@ case_info: title: 获取合并请求列表 severity: run: True - url: /api/v1/${project_url}/pulls.json + url: /api/v1/${env_project_url}/pulls.json method: GET headers: Content-Type: application/json; charset=utf-8; diff --git a/interface/gitlink/projects/pull_request/test_refuse_merge.yaml b/interface/gitlink/projects/pull_request/test_refuse_merge.yaml index aa01c72..b121d96 100644 --- a/interface/gitlink/projects/pull_request/test_refuse_merge.yaml +++ b/interface/gitlink/projects/pull_request/test_refuse_merge.yaml @@ -15,7 +15,7 @@ case_info: title: 拒绝一个合并请求 severity: run: True - url: /api/v1/${project_url}/edit/${pr_id}/refuse_merge.json + url: /api/v1/${env_project_url}/edit/${pr_id}/refuse_merge.json method: POST headers: Content-Type: application/json; charset=utf-8; diff --git a/interface/gitlink/projects/releases/test_new_releases.yaml b/interface/gitlink/projects/releases/test_new_releases.yaml index 482e3a6..36495d4 100644 --- a/interface/gitlink/projects/releases/test_new_releases.yaml +++ b/interface/gitlink/projects/releases/test_new_releases.yaml @@ -15,7 +15,7 @@ case_info: title: 创建发行版 severity: run: True - url: /api/${project_url}/releases.json + url: /api/${env_project_url}/releases.json method: POST headers: Content-Type: application/json; charset=utf-8; diff --git a/interface/gitlink/projects/repository/test_create_files.yaml b/interface/gitlink/projects/repository/test_create_files.yaml index 4b94659..c444c32 100644 --- a/interface/gitlink/projects/repository/test_create_files.yaml +++ b/interface/gitlink/projects/repository/test_create_files.yaml @@ -15,7 +15,7 @@ case_info: title: 代码库新建/上传文件,提交的分支是默认分支master severity: run: True - url: /api/${project_url}/create_file.json + url: /api/${env_project_url}/create_file.json method: POST headers: Content-Type: application/json; charset=utf-8; @@ -45,7 +45,7 @@ case_info: title: 代码库新建/上传文件,提交的分支是新的分支 severity: run: True - url: /api/${project_url}/create_file.json + url: /api/${env_project_url}/create_file.json method: POST headers: Content-Type: application/json; charset=utf-8; diff --git a/interface/gitlink/projects/repository/test_project_detail_full.yaml b/interface/gitlink/projects/repository/test_project_detail_full.yaml index 849abb5..492c7aa 100644 --- a/interface/gitlink/projects/repository/test_project_detail_full.yaml +++ b/interface/gitlink/projects/repository/test_project_detail_full.yaml @@ -14,7 +14,7 @@ case_info: title: 项目详情 severity: run: True - url: /api/${project_url}/detail.json + url: /api/${env_project_url}/detail.json method: GET headers: Content-Type: application/json; charset=utf-8; diff --git a/interface/gitlink/projects/repository/test_project_detail_simple.yaml b/interface/gitlink/projects/repository/test_project_detail_simple.yaml index a766f1d..e17fb7f 100644 --- a/interface/gitlink/projects/repository/test_project_detail_simple.yaml +++ b/interface/gitlink/projects/repository/test_project_detail_simple.yaml @@ -14,7 +14,7 @@ case_info: title: 项目详情(简版) severity: run: True - url: /api/${project_url}/simple.json + url: /api/${env_project_url}/simple.json method: GET headers: Content-Type: application/json; charset=utf-8; diff --git a/interface/gitlink/projects/repository/test_repo_contributors.yaml b/interface/gitlink/projects/repository/test_repo_contributors.yaml index 83b5ee3..10a008f 100644 --- a/interface/gitlink/projects/repository/test_repo_contributors.yaml +++ b/interface/gitlink/projects/repository/test_repo_contributors.yaml @@ -14,7 +14,7 @@ case_info: title: 获取项目贡献者列表 severity: run: True - url: /api/${project_url}/contributors.json + url: /api/${env_project_url}/contributors.json method: GET headers: Content-Type: application/json; charset=utf-8; diff --git a/interface/gitlink/projects/repository/test_repo_entries.yaml b/interface/gitlink/projects/repository/test_repo_entries.yaml index 7f369b4..8897242 100644 --- a/interface/gitlink/projects/repository/test_repo_entries.yaml +++ b/interface/gitlink/projects/repository/test_repo_entries.yaml @@ -14,7 +14,7 @@ case_info: title: 获取项目代码目录 severity: run: True - url: /api/${project_url}/entries.json + url: /api/${env_project_url}/entries.json method: GET headers: Content-Type: application/json; charset=utf-8; diff --git a/interface/gitlink/projects/repository/test_repo_sub_entries.yaml b/interface/gitlink/projects/repository/test_repo_sub_entries.yaml index 692cac0..c3a6c3c 100644 --- a/interface/gitlink/projects/repository/test_repo_sub_entries.yaml +++ b/interface/gitlink/projects/repository/test_repo_sub_entries.yaml @@ -15,7 +15,7 @@ case_info: title: 获取项目代码子目录或者文件 severity: run: True - url: /api/${project_url}/sub_entries.json + url: /api/${env_project_url}/sub_entries.json method: GET headers: Content-Type: application/json; charset=utf-8; diff --git a/interface/gitlink/projects/repository/test_update_files.yaml b/interface/gitlink/projects/repository/test_update_files.yaml index 78ab75f..c0b73cd 100644 --- a/interface/gitlink/projects/repository/test_update_files.yaml +++ b/interface/gitlink/projects/repository/test_update_files.yaml @@ -15,7 +15,7 @@ case_info: title: 代码库更新文件 severity: run: True - url: /api/${project_url}/update_file.json + url: /api/${env_project_url}/update_file.json method: POST headers: Content-Type: application/json; charset=utf-8; @@ -46,7 +46,7 @@ case_info: title: 代码库新建/上传文件,提交的分支是新的分支 severity: run: True - url: /api/${project_url}/create_file.json + url: /api/${env_project_url}/create_file.json method: POST headers: Content-Type: application/json; charset=utf-8; diff --git a/interface/gitlink/projects/test_new_project.yaml b/interface/gitlink/projects/test_new_project.yaml index 39612f8..c339d8d 100644 --- a/interface/gitlink/projects/test_new_project.yaml +++ b/interface/gitlink/projects/test_new_project.yaml @@ -131,7 +131,7 @@ case_info: assert_sql: eq: sql: select id,`name`, identifier from projects where user_id=${user_id} ORDER BY created_on DESC; - $.id: ${project_id} + $.id: ${pms_project_id} $.name: ${project_name} $.identifier: ${project_identifier} extract: diff --git a/interface/gitlink/projects/wiki/test_new_wiki.yaml b/interface/gitlink/projects/wiki/test_new_wiki.yaml index 9400235..679d002 100644 --- a/interface/gitlink/projects/wiki/test_new_wiki.yaml +++ b/interface/gitlink/projects/wiki/test_new_wiki.yaml @@ -25,7 +25,7 @@ case_info: payload: owner: ${repo_owner} repo: ${repo_identifier} - projectId: ${project_id} + projectId: ${env_project_id} pageName: 2023 title: 2023 message: diff --git a/interface/gitlink/test_login.yaml b/interface/gitlink/test_login.yaml index 66a0ec6..8592d00 100644 --- a/interface/gitlink/test_login.yaml +++ b/interface/gitlink/test_login.yaml @@ -22,20 +22,15 @@ case_info: cookies: request_type: json payload: - login: ${login} - password: ${password} + login: ${env_login} + password: ${env_password} autologin: 1 files: assert_response: status_code: 200 - user_id: - message: 断言接口返回的user_id - expect_value: ${user_id} - assert_type: == - type_jsonpath: $.user_id - login: + assertLogin: message: 断言接口返回的login - expect_value: ${login} + expect_value: ${env_login} assert_type: == type_jsonpath: $.login assert_sql: @@ -59,8 +54,8 @@ case_info: cookies: request_type: json payload: - login: ${login} - password: ${password} + login: ${env_login} + password: ${env_password} autologin: 1 files: assert_response: @@ -71,7 +66,7 @@ case_info: type_jsonpath: $.user_id login: message: 断言接口返回的login - expect_value: ${login} + expect_value: ${env_login} assert_type: == type_jsonpath: $.login assert_sql: @@ -84,7 +79,7 @@ case_info: message: 断言数据库:查询tokens表,表中存在该登录用户记录;预期 ${user_id} in 查询结果(jsonpath式匹配后的结果) sql: select * from tokens where user_id=${user_id}; type_jsonpath: $..user_id - expect_value: ${user_id} + expect_value: ${env_user_id} assert_type: == contains_user3: message: 断言数据库:查询tokens表,表中存在该登录用户记录;预期 ${user_id} in 查询结果(正则表达式匹配后的结果) @@ -110,7 +105,7 @@ case_info: cookies: request_type: json payload: - login: ${login} + login: ${env_login} password: 12345678900 autologin: 1 files: diff --git a/interface/gitlink/users/test_user_change_email.yaml b/interface/gitlink/users/test_user_change_email.yaml index 9970bb5..141ded8 100644 --- a/interface/gitlink/users/test_user_change_email.yaml +++ b/interface/gitlink/users/test_user_change_email.yaml @@ -16,7 +16,7 @@ case_info: title: 用户修改邮箱 run: True severity: normal - url: /api/v1/${login}/update_email.json + url: /api/v1/${env_login}/update_email.json method: PATCH headers: Content-Type: application/json; charset=utf-8; @@ -25,7 +25,7 @@ case_info: request_type: json payload: email: ${generate_email()} - password: ${password} + password: ${env_password} code: ${green_code} files: assert_response: diff --git a/interface/gitlink/users/test_user_change_password.yaml b/interface/gitlink/users/test_user_change_password.yaml index 0682b4d..1ef82c6 100644 --- a/interface/gitlink/users/test_user_change_password.yaml +++ b/interface/gitlink/users/test_user_change_password.yaml @@ -24,10 +24,10 @@ case_info: cookies: request_type: json payload: - login: ${login} - old_password: ${password} # 原始密码 - password: ${password} # 新密码 - new_password_repeat: ${password} # 确认密码 + login: ${env_login} + old_password: ${env_password} # 原始密码 + password: ${env_password} # 新密码 + new_password_repeat: ${env_password} # 确认密码 files: assert_response: status_code: 200 @@ -57,8 +57,8 @@ case_info: cookies: request_type: json payload: - login: ${login} - old_password: ${password} # 原始密码 + login: ${env_login} + old_password: ${env_password} # 原始密码 password: ${generate_identifier()} # 新密码 new_password_repeat: ${generate_identifier()} # 确认密码 files: diff --git a/interface/gitlink/users/test_user_change_phone.yaml b/interface/gitlink/users/test_user_change_phone.yaml index a066e1d..f7be419 100644 --- a/interface/gitlink/users/test_user_change_phone.yaml +++ b/interface/gitlink/users/test_user_change_phone.yaml @@ -15,7 +15,7 @@ case_info: title: 用户修改手机号码 run: True severity: normal - url: /api/v1/${login}/update_phone.json + url: /api/v1/${env_login}/update_phone.json method: PATCH headers: Content-Type: application/json; charset=utf-8; @@ -24,7 +24,7 @@ case_info: request_type: json payload: phone: ${generate_phone(lan='zh')} - password: ${password} + password: ${env_password} code: ${green_code} files: assert_response: diff --git a/interface/gitlink/users/test_user_register.yaml b/interface/gitlink/users/test_user_register.yaml index 2e3afdb..2e791ac 100644 --- a/interface/gitlink/users/test_user_register.yaml +++ b/interface/gitlink/users/test_user_register.yaml @@ -22,8 +22,8 @@ case_info: payload: namespace: ${generate_identifier} login: ${generate_email()} - password: ${password} - password_confirmation: ${password} + password: ${env_password} + password_confirmation: ${env_password} code: ${green_code} files: assert_response: @@ -45,8 +45,8 @@ case_info: payload: namespace: ${generate_identifier} login: ${generate_phone(lan='zh')} - password: ${password} - password_confirmation: ${password} + password: ${env_password} + password_confirmation: ${env_password} code: ${green_code} files: assert_response: diff --git a/interface/pms/products/product_module/test_pms_delete_product_module.yaml b/interface/pms/products/product_module/test_pms_delete_product_module.yaml new file mode 100644 index 0000000..4ef4dd4 --- /dev/null +++ b/interface/pms/products/product_module/test_pms_delete_product_module.yaml @@ -0,0 +1,37 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 产品 + allure_story: 产品模块 + case_markers: + - pms + - product + - module + - usefixtures: gitlink_login + +case_info: +- + id: pms_delete_product_module_01 + title: 产品下删除模块接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProductModule/${module_id} + method: DELETE + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_product_list_01 + - pms_new_product_module_01 \ No newline at end of file diff --git a/interface/pms/products/product_module/test_pms_edit_product_module.yaml b/interface/pms/products/product_module/test_pms_edit_product_module.yaml new file mode 100644 index 0000000..6c0d301 --- /dev/null +++ b/interface/pms/products/product_module/test_pms_edit_product_module.yaml @@ -0,0 +1,40 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 产品 + allure_story: 产品模块 + case_markers: + - pms + - product + - module + - usefixtures: gitlink_login + +case_info: +- + id: pms_edit_product_module_01 + title: 产品下编辑模块接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProductModule + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + id: ${module_id} + moduleName: ${generate_words(nb=2)} + parentId: 0 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_product_list_01 + - pms_new_product_module_01 \ No newline at end of file diff --git a/interface/pms/products/product_module/test_pms_get_product_module_list.yaml b/interface/pms/products/product_module/test_pms_get_product_module_list.yaml new file mode 100644 index 0000000..82f93f1 --- /dev/null +++ b/interface/pms/products/product_module/test_pms_get_product_module_list.yaml @@ -0,0 +1,89 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 产品 + allure_story: 产品模块 + case_markers: + - pms + - product + - module + - usefixtures: gitlink_login + +case_info: +- + id: pms_get_product_module_list_01 + title: 获取产品下的模块接口(树状) + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProductModule/treeList + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmsProductIdentifier: ${env_pms_product_identifier} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + module_ids: $.data[*].children[*].id + case_dependence: + +- + id: pms_get_product_module_list_02 + title: 获取产品下的模块接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProductModule/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmsProductIdentifier: ${env_pms_product_identifier} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + module_ids: $.rows[*].id + case_dependence: + + +- + id: pms_get_product_module_list_03 + title: 获取产品下的模块接口 - 提取第一个模块id + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProductModule/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmsProductIdentifier: ${env_pms_product_identifier} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + module_id: $.rows[0].id + case_dependence: \ No newline at end of file diff --git a/interface/pms/products/product_module/test_pms_new_product_module.yaml b/interface/pms/products/product_module/test_pms_new_product_module.yaml new file mode 100644 index 0000000..0449a58 --- /dev/null +++ b/interface/pms/products/product_module/test_pms_new_product_module.yaml @@ -0,0 +1,42 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 产品 + allure_story: 产品模块 + case_markers: + - pms + - product + - module + - usefixtures: gitlink_login + + +case_info: +- + id: pms_new_product_module_01 + title: 产品下新建模块接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProductModule + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + moduleName: ${generate_words(lan='zh', nb=2)} + pmsProductIdentifier: ${env_pms_product_identifier} + parentId: 0 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + module_id: $.data + case_dependence: + teardown: + interface: + - pms_delete_product_module_01 \ No newline at end of file diff --git a/interface/pms/products/product_plan/test_pms_delete_product_plan.yaml b/interface/pms/products/product_plan/test_pms_delete_product_plan.yaml new file mode 100644 index 0000000..25dbc21 --- /dev/null +++ b/interface/pms/products/product_plan/test_pms_delete_product_plan.yaml @@ -0,0 +1,36 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 产品 + allure_story: 产品计划 + case_markers: + - pms + - product + - plan + - usefixtures: gitlink_login + +case_info: +- + id: pms_delete_product_plan_01 + title: 产品下删除计划接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProductPlan/${product_plan_id} + method: DELETE + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_new_product_plan_01 \ No newline at end of file diff --git a/interface/pms/products/product_plan/test_pms_edit_product_plan.yaml b/interface/pms/products/product_plan/test_pms_edit_product_plan.yaml new file mode 100644 index 0000000..5c0868f --- /dev/null +++ b/interface/pms/products/product_plan/test_pms_edit_product_plan.yaml @@ -0,0 +1,43 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 产品 + allure_story: 产品计划 + case_markers: + - pms + - product + - plan + - usefixtures: gitlink_login + +case_info: +- + id: pms_edit_product_plan_01 + title: 产品下编辑计划接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProductPlan + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + id: ${product_plan_id} + planTitle: ${generate_company_name(lan='zh', fix='pre')}_${generate_today_date} + planDescription: ${generate_paragraph} + priorityId: ${random.choice([1,2,3,4])} + startTime: ${generate_today_date} + endTime: ${generate_time_after_week} + pmsProductIdentifier: ${env_pms_product_identifier} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_new_product_plan_01 diff --git a/interface/pms/products/product_plan/test_pms_get_product_plan_list.yaml b/interface/pms/products/product_plan/test_pms_get_product_plan_list.yaml new file mode 100644 index 0000000..7283f45 --- /dev/null +++ b/interface/pms/products/product_plan/test_pms_get_product_plan_list.yaml @@ -0,0 +1,67 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 产品 + allure_story: 产品计划 + case_markers: + - pms + - product + - plan + - usefixtures: gitlink_login + +case_info: +- + id: pms_get_product_plan_list_01 + title: 获取产品下的计划接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProductPlan/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pageNum: 1 + pageSize: 20 + pmsProductIdentifier: ${env_pms_product_identifier} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + product_plan_ids: $.rows[*].id + case_dependence: + +- + id: pms_get_product_plan_list_by_name_02 + title: 获取产品下的计划接口 - 通过计划名称关键字搜索 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProductPlan/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pageNum: 1 + pageSize: 20 + pmsProductIdentifier: ${env_pms_product_identifier} + planTitle: 新计划 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + product_plan_id: $.rows[0].id + case_dependence: \ No newline at end of file diff --git a/interface/pms/products/product_plan/test_pms_get_product_plan_requirement_list.yaml b/interface/pms/products/product_plan/test_pms_get_product_plan_requirement_list.yaml new file mode 100644 index 0000000..8737b8c --- /dev/null +++ b/interface/pms/products/product_plan/test_pms_get_product_plan_requirement_list.yaml @@ -0,0 +1,41 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 产品 + allure_story: 产品计划 + case_markers: + - pms + - product + - plan + - usefixtures: gitlink_login + +case_info: +- + id: pms_get_product_plan_requirement_list_01 + title: 获取产品下的计划的关联需求列表接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProductRequirement/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmsProductIdentifier: ${env_pms_product_identifier} + pmsProductPlanId: ${product_plan_id} + pageNum: 1 + pageSize: 20 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_new_product_plan_01 + - pms_get_product_plan_list_by_name_02 \ No newline at end of file diff --git a/interface/pms/products/product_plan/test_pms_new_product_plan.yaml b/interface/pms/products/product_plan/test_pms_new_product_plan.yaml new file mode 100644 index 0000000..0753bf6 --- /dev/null +++ b/interface/pms/products/product_plan/test_pms_new_product_plan.yaml @@ -0,0 +1,41 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 产品 + allure_story: 产品计划 + case_markers: + - pms + - product + - plan + - usefixtures: gitlink_login + +case_info: +- + id: pms_new_product_plan_01 + title: 产品下新建计划接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProductPlan + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + planTitle: 新计划 - ${generate_company_name(lan='zh', fix='pre')}_${generate_today_date} + planDescription: ${generate_paragraph} + priorityId: ${random.choice([1,2,3,4])} + startTime: ${generate_today_date} + endTime: ${generate_time_after_week} + pmsProductIdentifier: ${env_pms_product_identifier} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + product_plan_id: $.data + case_dependence: \ No newline at end of file diff --git a/interface/pms/products/product_requirement/test_pms_delete_product_requirement.yaml b/interface/pms/products/product_requirement/test_pms_delete_product_requirement.yaml new file mode 100644 index 0000000..ef88225 --- /dev/null +++ b/interface/pms/products/product_requirement/test_pms_delete_product_requirement.yaml @@ -0,0 +1,39 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 产品 + allure_story: 产品需求 + case_markers: + - pms + - product + - product_requirement + - usefixtures: gitlink_login + +case_info: +- + id: pms_delete_product_requirement_01 + title: 产品下删除需求接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProductRequirement/${product_requirement_id} + method: DELETE + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_product_module_list_03 + - pms_get_enterprise_user_list_01 + - pms_upload_file_01 + - pms_new_product_requirement_01 \ No newline at end of file diff --git a/interface/pms/products/product_requirement/test_pms_edit_product_requirement.yaml b/interface/pms/products/product_requirement/test_pms_edit_product_requirement.yaml new file mode 100644 index 0000000..f3b0c79 --- /dev/null +++ b/interface/pms/products/product_requirement/test_pms_edit_product_requirement.yaml @@ -0,0 +1,87 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 产品 + allure_story: 产品需求 + case_markers: + - pms + - product + - product_requirement + - plan + - usefixtures: gitlink_login + +case_info: +- + id: pms_edit_product_requirement_01 + title: 产品下编辑需求接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProductRequirement + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + id: ${product_requirement_id} + status: ${random.choice([6, 7, 8, 9, 10])} + title: ${generate_paragraph(lan='zh',nb=1)} + content: ${generate_paragraph(lan='zh', nb=10)} + requirementAssigneeGitlinkIds: ${random.choice(${assignee_ids})} + priorityId: ${random.choice([5,6,7,8])} + tags: ${random.choice(${tag_ids})} + pmsProductModuleId: ${module_id} + startTime: ${generate_time(fmt='%Y-%m-%d')} + endTime: ${generate_time_after_week} + pmsProjectId: + pmsProductPlanId: + pmsProductIdentifier: ${env_pms_product_identifier} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_product_module_list_03 + - pms_get_enterprise_user_list_01 + - pms_get_product_requirement_tags_01 + - pms_upload_file_01 + - pms_new_product_requirement_01 + +- + id: pms_edit_product_requirement_02 + title: 产品需求移入计划 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProductRequirement + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + id: ${product_requirement_id} + pmsProductModuleId: ${product_requirement_module_id} + pmsProductPlanId: ${product_plan_id} + pmsProjectId: ${${product_requirement_project_id} if ${product_requirement_project_id} else ''} + requirementAssigneeGitlinkIds: ${${product_requirement_assignee_id} if ${product_requirement_assignee_id} else ''} + tags: ${${product_requirement_tags} if ${product_requirement_tags} else ''} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_product_requirement_list_02 + - pms_new_product_plan_01 \ No newline at end of file diff --git a/interface/pms/products/product_requirement/test_pms_get_product_requirement_list.yaml b/interface/pms/products/product_requirement/test_pms_get_product_requirement_list.yaml new file mode 100644 index 0000000..729da16 --- /dev/null +++ b/interface/pms/products/product_requirement/test_pms_get_product_requirement_list.yaml @@ -0,0 +1,70 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 产品 + allure_story: 产品需求 + case_markers: + - pms + - product + - product_requirement + - usefixtures: gitlink_login + +case_info: +- + id: pms_get_product_requirement_list_01 + title: 获取产品下全部模块需求列表 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProductRequirement/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmsProductIdentifier: ${env_pms_product_identifier} + pageNum: 1 + pageSize: 20 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + product_requirement_ids: $.rows[*].id + case_dependence: + +- + id: pms_get_product_requirement_list_02 + title: 获取产品下全部模块需求列表的第一条数据 + run: false + severity: normal + url: ${pms_host}/api/pms/pmsProductRequirement/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmsProductIdentifier: ${env_pms_product_identifier} + pageNum: 1 + pageSize: 20 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + product_requirement_id: $.rows[0].id + product_requirement_module_id: $.rows[0].pmsProductModule.id + product_requirement_project_id: $.rows[0].pmsProjectId + product_requirement_assignee_id: $.rows[0].requirementAssigneeList[*].gitlinkUserId + product_requirement_tags: $.rows[0].tags + case_dependence: \ No newline at end of file diff --git a/interface/pms/products/product_requirement/test_pms_get_product_requirement_plans.yaml b/interface/pms/products/product_requirement/test_pms_get_product_requirement_plans.yaml new file mode 100644 index 0000000..352babd --- /dev/null +++ b/interface/pms/products/product_requirement/test_pms_get_product_requirement_plans.yaml @@ -0,0 +1,36 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 产品 + allure_story: 产品需求 + case_markers: + - pms + - product + - product_requirement + - usefixtures: gitlink_login + +case_info: +- + id: pms_get_product_requirement_plans_01 + title: 获取产品需求下可选计划列表接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProductPlan/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmsProductIdentifier: ${env_pms_product_identifier} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + plan_ids: $.rows[*].id + case_dependence: \ No newline at end of file diff --git a/interface/pms/products/product_requirement/test_pms_get_product_requirement_tags.yaml b/interface/pms/products/product_requirement/test_pms_get_product_requirement_tags.yaml new file mode 100644 index 0000000..0b04eef --- /dev/null +++ b/interface/pms/products/product_requirement/test_pms_get_product_requirement_tags.yaml @@ -0,0 +1,36 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 产品 + allure_story: 产品需求 + case_markers: + - pms + - product + - product_requirement + - usefixtures: gitlink_login + +case_info: +- + id: pms_get_product_requirement_tags_01 + title: 获取产品需求下可选标记列表接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProductRequirementTag/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmsEnterpriseId: 1 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + tag_ids: $.rows[*].id + case_dependence: \ No newline at end of file diff --git a/interface/pms/products/product_requirement/test_pms_new_product_requirement.yaml b/interface/pms/products/product_requirement/test_pms_new_product_requirement.yaml new file mode 100644 index 0000000..5f31d2c --- /dev/null +++ b/interface/pms/products/product_requirement/test_pms_new_product_requirement.yaml @@ -0,0 +1,51 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 产品 + allure_story: 产品需求 + case_markers: + - pms + - product + - product_requirement + - usefixtures: gitlink_login + +case_info: +- + id: pms_new_product_requirement_01 + title: 产品下新建需求接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProductRequirement + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + title: ${generate_paragraph(lan='zh',nb=1)} + content: ${generate_paragraph(lan='zh', nb=10)} + requirementAssigneeGitlinkIds: ${random.choice(${assignee_ids})} + priorityId: ${random.choice([5,6,7,8])} + pmsProductModuleId: ${module_id} + startTime: ${generate_time(fmt='%Y-%m-%d')} + endTime: ${generate_time_after_week} + pmsProjectId: + pmsProductPlanId: + fileIdentifiers: ${file_identifier} + pmsProductIdentifier: ${env_pms_product_identifier} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + product_requirement_id: $.data + case_dependence: + setup: + interface: + - pms_get_product_module_list_03 + - pms_get_enterprise_user_list_01 + - pms_upload_file_01 \ No newline at end of file diff --git a/interface/pms/products/product_requirement/test_pms_pms_batch_edit_product_requirement.yaml b/interface/pms/products/product_requirement/test_pms_pms_batch_edit_product_requirement.yaml new file mode 100644 index 0000000..6a65556 --- /dev/null +++ b/interface/pms/products/product_requirement/test_pms_pms_batch_edit_product_requirement.yaml @@ -0,0 +1,48 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 产品 + allure_story: 产品需求 + case_markers: + - pms + - product + - product_requirement + - usefixtures: gitlink_login + +case_info: +- + id: pms_batch_edit_product_requirement_01 + title: 批量更新产品需求接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProductRequirement/batch + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + idList: + - ${product_requirement_id} + requirementAssigneeGitlinkId: ${random.choice(${assignee_ids})} + priorityId: ${random.choice([5,6,7,8])} + pmsProductModuleId: ${module_id} + statusId: ${random.choice([6, 7, 8, 9, 10])} + pmsProductPlanId: + tags: ${random.choice(${tag_ids})} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_product_module_list_03 + - pms_get_enterprise_user_list_01 + - pms_get_product_requirement_tags_01 + - pms_upload_file_01 + - pms_new_product_requirement_01 \ No newline at end of file diff --git a/interface/pms/products/product_requirement_journal/test_pms_add_journal.yaml b/interface/pms/products/product_requirement_journal/test_pms_add_journal.yaml new file mode 100644 index 0000000..e502521 --- /dev/null +++ b/interface/pms/products/product_requirement_journal/test_pms_add_journal.yaml @@ -0,0 +1,83 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 产品 + allure_story: 产品需求评论 + case_markers: + - pms + - product + - product_requirement + - journal + - usefixtures: gitlink_login + +case_info: +- + id: pms_add_journal_01 + title: 产品需求下添加评论 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsJournals + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + journalized_type: productRequirement + journalized_id: ${product_requirement_id} # 产品需求id + notes: ${generate_paragraph(nb=6)} + attachment_identifiers: ${file_identifier} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_product_module_list_03 + - pms_get_enterprise_user_list_01 + - pms_upload_file_01 + - pms_new_product_requirement_01 + - pms_upload_file_01 +- + id: pms_add_journal_reply_02 + title: 产品需求下的评论添加回复 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsJournals + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + journalized_type: productRequirement + journalized_id: ${product_requirement_id} # 产品需求id + notes: ${generate_paragraph(nb=6)} + attachment_identifiers: ${file_identifier} + parent_id: ${${journal_ids}[0] if isinstance(${journal_ids}, list) else ${journal_ids}} + reply_id: ${${journal_ids}[0] if isinstance(${journal_ids}, list) else ${journal_ids}} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_product_module_list_03 + - pms_get_enterprise_user_list_01 + - pms_upload_file_01 + - pms_new_product_requirement_01 + - pms_upload_file_01 + - pms_add_journal_01 + - pms_upload_file_01 + - pms_get_journal_list_01 \ No newline at end of file diff --git a/interface/pms/products/product_requirement_journal/test_pms_delete_journal.yaml b/interface/pms/products/product_requirement_journal/test_pms_delete_journal.yaml new file mode 100644 index 0000000..16f6e7e --- /dev/null +++ b/interface/pms/products/product_requirement_journal/test_pms_delete_journal.yaml @@ -0,0 +1,77 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 产品 + allure_story: 产品需求评论 + case_markers: + - pms + - product + - product_requirement + - journal + - usefixtures: gitlink_login + +case_info: +- + id: pms_delete_journal_01 + title: 产品需求下删除评论 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsJournals/${${journal_ids}[0] if isinstance(${journal_ids}, list) else ${journal_ids}} + method: DELETE + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_product_module_list_03 + - pms_get_enterprise_user_list_01 + - pms_upload_file_01 + - pms_new_product_requirement_01 + - pms_upload_file_01 + - pms_add_journal_01 + +- + id: pms_delete_journal_reply_02 + title: 产品需求下删除回复 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsJournals/${${children_journal_ids}[0] if isinstance(${children_journal_ids}, list) else ${children_journal_ids}} + method: DELETE + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_product_module_list_03 + - pms_get_enterprise_user_list_01 + - pms_upload_file_01 + - pms_new_product_requirement_01 + - pms_upload_file_01 + - pms_add_journal_01 + - pms_upload_file_01 + - pms_get_journal_list_01 + - pms_add_journal_reply_02 + - pms_get_journal_list_01 \ No newline at end of file diff --git a/interface/pms/products/product_requirement_journal/test_pms_edit_journal.yaml b/interface/pms/products/product_requirement_journal/test_pms_edit_journal.yaml new file mode 100644 index 0000000..16310ef --- /dev/null +++ b/interface/pms/products/product_requirement_journal/test_pms_edit_journal.yaml @@ -0,0 +1,85 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 产品 + allure_story: 产品需求评论 + case_markers: + - pms + - product + - product_requirement + - journal + - usefixtures: gitlink_login + +case_info: +- + id: pms_edit_journal_01 + title: 产品需求下修改评论 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsJournals + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + id: ${${journal_ids}[0] if isinstance(${journal_ids}, list) else ${journal_ids}} + notes: ${generate_paragraph(nb=6)} + attachment_identifiers: ${file_identifier} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_product_module_list_03 + - pms_get_enterprise_user_list_01 + - pms_upload_file_01 + - pms_new_product_requirement_01 + - pms_upload_file_01 + - pms_add_journal_01 + - pms_upload_file_01 + +- + id: pms_edit_journal_reply_02 + title: 产品需求下修改回复 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsJournals + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + id: ${${children_journal_ids}[0] if isinstance(${children_journal_ids}, list) else ${children_journal_ids}} + notes: ${generate_paragraph(nb=6)} + attachment_identifiers: ${file_identifier} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_product_module_list_03 + - pms_get_enterprise_user_list_01 + - pms_upload_file_01 + - pms_new_product_requirement_01 + - pms_upload_file_01 + - pms_add_journal_01 + - pms_upload_file_01 + - pms_get_journal_list_01 + - pms_add_journal_reply_02 + - pms_upload_file_01 + - pms_get_journal_list_01 \ No newline at end of file diff --git a/interface/pms/products/product_requirement_journal/test_pms_get_journal_list.yaml b/interface/pms/products/product_requirement_journal/test_pms_get_journal_list.yaml new file mode 100644 index 0000000..97ee39a --- /dev/null +++ b/interface/pms/products/product_requirement_journal/test_pms_get_journal_list.yaml @@ -0,0 +1,45 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 产品 + allure_story: 产品需求评论 + case_markers: + - pms + - product + - product_requirement + - journal + - usefixtures: gitlink_login + +case_info: +- + id: pms_get_journal_list_01 + title: 获取产品需求下评论列表 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsJournals/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + journalized_type: productRequirement + journalized_id: ${product_requirement_id} # 产品需求id + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + journal_ids: $.data.journals[*].id + children_journal_ids: $.data.journals[*].children_journals[*].id + case_dependence: + setup: + interface: + - pms_get_product_module_list_03 + - pms_get_enterprise_user_list_01 + - pms_upload_file_01 + - pms_new_product_requirement_01 \ No newline at end of file diff --git a/interface/pms/products/test_pms_delete_product.yaml b/interface/pms/products/test_pms_delete_product.yaml new file mode 100644 index 0000000..3d13c8b --- /dev/null +++ b/interface/pms/products/test_pms_delete_product.yaml @@ -0,0 +1,37 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 产品 + allure_story: 产品 + case_markers: + - pms + - product + - usefixtures: gitlink_login + +case_info: +- + id: pms_delete_product_01 + title: 企业下删除产品接口 + run: true + severity: normal + url: ${pms_host}/api/pms/pmsProduct/ByIdentifier/${pms_product_identifier} + method: DELETE + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_enterprise_user_list_01 + - pms_new_product_01 + - pms_get_product_list_by_name_02 \ No newline at end of file diff --git a/interface/pms/products/test_pms_edit_product.yaml b/interface/pms/products/test_pms_edit_product.yaml new file mode 100644 index 0000000..0cf5e57 --- /dev/null +++ b/interface/pms/products/test_pms_edit_product.yaml @@ -0,0 +1,44 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 产品 + allure_story: 产品 + case_markers: + - pms + - product + - usefixtures: gitlink_login + +case_info: +- + id: pms_edit_product_01 + title: 企业下编辑产品接口 + run: true + severity: normal + url: ${pms_host}/api/pms/pmsProduct + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + productName: ${generate_company_name(lan='zh', fix='pre')}_${generate_words()} + productAssigneeGitlinkId: ${random.choice(${assignee_ids})} + productDescription: ${generate_paragraph} + productIdentifier: ${pms_product_identifier} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_enterprise_user_list_01 + - pms_new_product_01 + - pms_get_product_list_by_name_02 + teardown: + interface: + - pms_delete_product_01 \ No newline at end of file diff --git a/interface/pms/products/test_pms_get_product_list.yaml b/interface/pms/products/test_pms_get_product_list.yaml new file mode 100644 index 0000000..6967afd --- /dev/null +++ b/interface/pms/products/test_pms_get_product_list.yaml @@ -0,0 +1,64 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 产品 + allure_story: 产品 + case_markers: + - pms + - product + - usefixtures: gitlink_login + +case_info: +- + id: pms_get_product_list_01 + title: 获取企业下产品列表接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProduct/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pageSize: 20 + pageNum: 1 + pmsEnterpriseIdentifier: prefecture + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + pms_product_identifiers: $.rows[*].productIdentifier + +- + id: pms_get_product_list_by_name_02 + title: 获取企业下产品列表接口 - 根据产品关键字搜索产品 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProduct/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pageSize: 20 + pageNum: 1 + pmsEnterpriseIdentifier: prefecture + productName: 新产品 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + pms_product_identifier: $.rows[0].productIdentifier \ No newline at end of file diff --git a/interface/pms/products/test_pms_new_product.yaml b/interface/pms/products/test_pms_new_product.yaml new file mode 100644 index 0000000..6f3c37f --- /dev/null +++ b/interface/pms/products/test_pms_new_product.yaml @@ -0,0 +1,45 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 产品 + allure_story: 产品 + case_markers: + - pms + - product + - repeat(1) + - usefixtures: gitlink_login + +case_info: +- + id: pms_new_product_01 + title: 企业下新建产品接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProduct + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + productName: 新产品_${generate_company_name(lan='zh', fix='pre')}_${generate_words} + productAssigneeGitlinkId: ${random.choice(${assignee_ids})} + productDescription: ${generate_paragraph} + pmsEnterpriseIdentifier: prefecture + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + pms_product_identifier: $.data + case_dependence: + setup: + interface: + - pms_get_enterprise_user_list_01 + teardown: + interface: + - pms_delete_product_01 \ No newline at end of file diff --git a/interface/pms/products/test_pms_operate_top.yaml b/interface/pms/products/test_pms_operate_top.yaml new file mode 100644 index 0000000..abbb467 --- /dev/null +++ b/interface/pms/products/test_pms_operate_top.yaml @@ -0,0 +1,71 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 产品 + allure_story: 产品 + case_markers: + - pms + - product + - usefixtures: gitlink_login + +case_info: +- + id: pms_operate_top_01 + title: 企业下置顶产品接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProduct/operateTop/${pms_product_identifier} + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_enterprise_user_list_01 + - pms_new_product_01 + - pms_get_product_list_by_name_02 + teardown: + interface: + - pms_delete_product_01 + +- + id: pms_operate_top_02 + title: 企业下取消置顶产品接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProduct/operateTop/${pms_product_identifier} + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_enterprise_user_list_01 + - pms_new_product_01 + - pms_get_product_list_by_name_02 + teardown: + interface: + - pms_delete_product_01 \ No newline at end of file diff --git a/interface/pms/projects/repository/test_pms_get_project_repo_list.yaml b/interface/pms/projects/repository/test_pms_get_project_repo_list.yaml new file mode 100644 index 0000000..2392011 --- /dev/null +++ b/interface/pms/projects/repository/test_pms_get_project_repo_list.yaml @@ -0,0 +1,35 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 代码库 + case_markers: + - pms + - pms_project + - usefixtures: gitlink_login + +case_info: +- + id: pms_get_project_repo_list_01 + title: 获取项目内所有代码库列表 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectRepository/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmsProjectId: ${env_pms_project_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + project_repo_ids: $.data.projects[*].id + case_dependence: \ No newline at end of file diff --git a/interface/pms/projects/sprint/test_pms_delete_sprint.yaml b/interface/pms/projects/sprint/test_pms_delete_sprint.yaml new file mode 100644 index 0000000..23beb66 --- /dev/null +++ b/interface/pms/projects/sprint/test_pms_delete_sprint.yaml @@ -0,0 +1,37 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目模块 + allure_story: 迭代 + case_markers: + - pms + - pms_project + - sprint + - usefixtures: gitlink_login + +case_info: + - id: pms_delete_sprint_01 + title: 项目下删除迭代接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectSprint/${project_sprint_id} + method: DELETE + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_new_sprint_01 + - pms_get_sprint_list_by_name_02 \ No newline at end of file diff --git a/interface/pms/projects/sprint/test_pms_edit_sprint.yaml b/interface/pms/projects/sprint/test_pms_edit_sprint.yaml new file mode 100644 index 0000000..332e70e --- /dev/null +++ b/interface/pms/projects/sprint/test_pms_edit_sprint.yaml @@ -0,0 +1,140 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目模块 + allure_story: 迭代 + case_markers: + - pms + - pms_project + - sprint + - usefixtures: gitlink_login + +case_info: + - id: pms_edit_sprint_01 + title: 项目下编辑迭代接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectSprint + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + id: ${project_sprint_id} + sprintName: 迭代 - ${generate_company_name(lan='zh', fix='pre')}_${generate_words} + sprintDescription: ${generate_paragraph} + sprintAssigneeId: ${random.choice(${project_member_ids})} + pmsProjectId: ${env_pms_project_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_get_project_member_list_01 + - pms_new_sprint_01 + - pms_get_sprint_list_by_name_02 + + - id: pms_edit_sprint_start_02 + title: 项目下编辑迭代接口 - 未开始迭代 --> 开始迭代 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectSprint + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + id: ${project_sprint_id} + status: 1 # 进行中1 + 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_get_project_member_list_01 + - pms_new_sprint_01 + - pms_get_sprint_list_by_name_02 + + - id: pms_edit_sprint_finish_03 + title: 项目下编辑迭代接口 - 进行中迭代 --> 完成迭代 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectSprint + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + id: ${project_sprint_id} + status: 2 # 已关闭2 + 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_get_project_member_list_01 + - pms_new_sprint_01 + - pms_get_sprint_list_by_name_02 + - pms_edit_sprint_start_02 + + - id: pms_edit_sprint_reopen_04 + title: 项目下编辑迭代接口 - 已关闭迭代 --> 重开迭代 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectSprint + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + id: ${project_sprint_id} + status: 1 # 进行中1 + 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_get_project_member_list_01 + - pms_new_sprint_01 + - pms_get_sprint_list_by_name_02 + - pms_edit_sprint_start_02 + - pms_edit_sprint_finish_03 \ No newline at end of file diff --git a/interface/pms/projects/sprint/test_pms_get_sprint_list.yaml b/interface/pms/projects/sprint/test_pms_get_sprint_list.yaml new file mode 100644 index 0000000..146c2e5 --- /dev/null +++ b/interface/pms/projects/sprint/test_pms_get_sprint_list.yaml @@ -0,0 +1,61 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目模块 + allure_story: 迭代 + case_markers: + - pms + - pms_project + - sprint + - usefixtures: gitlink_login + +case_info: + - id: pms_get_sprint_list_01 + title: 项目下获取迭代列表接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectSprint/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmsProjectId: ${env_pms_project_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + project_sprint_ids: $.rows[*].id + case_dependence: + + - id: pms_get_sprint_list_by_name_02 + title: 项目下获取迭代列表接口 - 通过迭代名称关键字搜索 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectSprint/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmsProjectId: ${env_pms_project_id} + sprintName: 迭代 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + project_sprint_id: $.rows[0].id + case_dependence: \ No newline at end of file diff --git a/interface/pms/projects/sprint/test_pms_new_sprint.yaml b/interface/pms/projects/sprint/test_pms_new_sprint.yaml new file mode 100644 index 0000000..1017da5 --- /dev/null +++ b/interface/pms/projects/sprint/test_pms_new_sprint.yaml @@ -0,0 +1,42 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目模块 + allure_story: 迭代 + case_markers: + - pms + - pms_project + - sprint + - repeat(1) + - usefixtures: gitlink_login + +case_info: + - id: pms_new_sprint_01 + title: 项目下新建迭代接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectSprint + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + sprintName: 迭代 - ${generate_company_name(lan='zh', fix='pre')}_${generate_words} + sprintDescription: ${generate_paragraph} + sprintAssigneeId: ${random.choice(${project_member_ids})} + pmsProjectId: ${env_pms_project_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_get_project_member_list_01 \ No newline at end of file diff --git a/interface/pms/projects/sprint/test_pms_work_item_out_sprint.yaml b/interface/pms/projects/sprint/test_pms_work_item_out_sprint.yaml new file mode 100644 index 0000000..4499629 --- /dev/null +++ b/interface/pms/projects/sprint/test_pms_work_item_out_sprint.yaml @@ -0,0 +1,35 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目模块 + allure_story: 迭代 + case_markers: + - pms + - pms_project + - sprint + - usefixtures: gitlink_login + - skip: 暂时略过,规划迭代,需要有未关联迭代的工作项,前提条件有点多 + +case_info: + - id: pms_work_item_out_sprint_01 + title: 规划迭代 - 工作项移出迭代 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/edit/${work_item_id} + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmProjectId: ${env_pms_project_id} + pmSprintId: 0 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: diff --git a/interface/pms/projects/sprint/test_pms_work_item_to_sprint.yaml b/interface/pms/projects/sprint/test_pms_work_item_to_sprint.yaml new file mode 100644 index 0000000..44f7d75 --- /dev/null +++ b/interface/pms/projects/sprint/test_pms_work_item_to_sprint.yaml @@ -0,0 +1,40 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目模块 + allure_story: 迭代 + case_markers: + - pms + - pms_project + - sprint + - usefixtures: gitlink_login + - skip: 暂时略过,规划迭代,需要有已关联迭代的工作项,前提条件有点多 + +case_info: + - id: pms_work_item_to_sprint_01 + title: 规划迭代 - 工作项移入迭代 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/edit/${work_item_id} + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmProjectId: ${env_pms_project_id} + pmSprintId: ${${project_sprint_ids}[0]} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_get_sprint_list_01 + - diff --git a/interface/pms/projects/test_get_project_member_list.yaml b/interface/pms/projects/test_get_project_member_list.yaml new file mode 100644 index 0000000..f08e6b5 --- /dev/null +++ b/interface/pms/projects/test_get_project_member_list.yaml @@ -0,0 +1,34 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 成员 + case_markers: + - pms + - usefixtures: gitlink_login + +case_info: +- + id: pms_get_project_member_list_01 + title: 获取项目内成员列表 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectMembers/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmsProjectId: ${env_pms_project_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + project_member_ids: $.rows[*].pmsProjectMemberId + case_dependence: \ No newline at end of file diff --git a/interface/pms/projects/test_module/test_delete_testcase_module.yaml b/interface/pms/projects/test_module/test_delete_testcase_module.yaml new file mode 100644 index 0000000..445d4cc --- /dev/null +++ b/interface/pms/projects/test_module/test_delete_testcase_module.yaml @@ -0,0 +1,59 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 测试用例模块 + case_markers: + - pms + - pms_project + - testcases + - usefixtures: gitlink_login + +case_info: +- + id: pms_delete_testcase_module_01 + title: 删除测试用例模块接口 - 存在子级模块的父级模块 + run: false + severity: normal + url: ${pms_host}/api/pms/pmsProjectTestcaseModule/${testcase_module_id} + method: DELETE + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 该模块下存在子模块,请先删除子模块 + assert_type: == + assert_sql: + extract: + case_dependence: + +- + id: pms_delete_testcase_module_02 + title: 删除测试用例模块接口 - 不存在子级模块的模块 + run: true + severity: normal + url: ${pms_host}/api/pms/pmsProjectTestcaseModule/${testcase_module_id} + method: DELETE + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_new_testcase_module_01 \ No newline at end of file diff --git a/interface/pms/projects/test_module/test_edit_testcase_module.yaml b/interface/pms/projects/test_module/test_edit_testcase_module.yaml new file mode 100644 index 0000000..25b7904 --- /dev/null +++ b/interface/pms/projects/test_module/test_edit_testcase_module.yaml @@ -0,0 +1,67 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 测试用例模块 + case_markers: + - pms + - pms_project + - testcases + - usefixtures: gitlink_login + +case_info: +- + id: pms_edit_testcase_module_01 + title: 编辑测试用例模块接口 - 父级模块 + run: true + severity: normal + url: ${pms_host}/api/pms/pmsProjectTestcaseModule + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + id: ${testcase_module_id} + parentId: 0 + moduleName: ${generate_words(lan='zh', nb=2)} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_new_testcase_module_01 + +- + id: pms_edit_testcase_module_02 + title: 编辑测试用例模块接口 - 子级模块 # 前提条件:需要有一个存在子级的父级模块 + run: false + severity: normal + url: ${pms_host}/api/pms/pmsProjectTestcaseModule + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + id: ${testcase_module_id} + parentId: 0 + moduleName: ${generate_words(lan='zh', nb=2)} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + testcase_module_id: $.data + case_dependence: \ No newline at end of file diff --git a/interface/pms/projects/test_module/test_get_testcase_module.yaml b/interface/pms/projects/test_module/test_get_testcase_module.yaml new file mode 100644 index 0000000..799862e --- /dev/null +++ b/interface/pms/projects/test_module/test_get_testcase_module.yaml @@ -0,0 +1,36 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 测试用例模块 + case_markers: + - pms + - pms_project + - testcases + - usefixtures: gitlink_login + +case_info: +- + id: pms_get_testcase_module_01 + title: 获取测试用例模块列表接口 + run: false + severity: normal + url: ${pms_host}/api/pms/pmsProjectTestcaseModule/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmsProjectId: ${env_pms_project_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + testcase_module_ids: $.rows[*].id + case_dependence: \ No newline at end of file diff --git a/interface/pms/projects/test_module/test_new_testcase_module.yaml b/interface/pms/projects/test_module/test_new_testcase_module.yaml new file mode 100644 index 0000000..85308d9 --- /dev/null +++ b/interface/pms/projects/test_module/test_new_testcase_module.yaml @@ -0,0 +1,75 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 测试用例模块 + case_markers: + - pms + - pms_project + - testcases + - usefixtures: gitlink_login + +case_info: +- + id: pms_new_testcase_module_01 + title: 新建测试用例模块接口 - 父级模块 + run: true + severity: normal + url: ${pms_host}/api/pms/pmsProjectTestcaseModule + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmsProjectId: ${env_pms_project_id} + parentId: 0 + moduleName: ${generate_words(lan='zh', nb=2)} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + testcase_module_id: $.data + case_dependence: + teardown: + interface: + - pms_delete_testcase_module_02 + +- + id: pms_new_testcase_module_02 + title: 新建测试用例模块接口 - 子级模块 + run: true + severity: normal + url: ${pms_host}/api/pms/pmsProjectTestcaseModule + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmsProjectId: ${env_pms_project_id} + parentId: ${testcase_module_id} + moduleName: ${generate_words(lan='zh', nb=2)} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + testcase_module_id: $.data + case_dependence: + setup: + interface: + - pms_new_testcase_module_01 + teardown: + interface: + - pms_delete_testcase_module_02 \ No newline at end of file diff --git a/interface/pms/projects/test_module/test_pms_sync_product_module.yaml b/interface/pms/projects/test_module/test_pms_sync_product_module.yaml new file mode 100644 index 0000000..1dccaed --- /dev/null +++ b/interface/pms/projects/test_module/test_pms_sync_product_module.yaml @@ -0,0 +1,57 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 测试用例模块 + case_markers: + - pms + - pms_project + - testcases + - sync + - usefixtures: gitlink_login + +case_info: +- + id: pms_sync_product_module_01 + title: 同步产品模块 - 当前存在关联产品,产品存在模块,未同步过产品模块 # 待补充前置条件 + run: false + severity: normal + url: ${pms_host}/api/pms/pmsProjectTestcaseModule/byProjectId/${env_pms_project_id}/syncByProductModule + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + +- + id: pms_sync_product_module_02 + title: 同步产品模块 - 已同步过产品模块 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectTestcaseModule/byProjectId/${env_pms_project_id}/syncByProductModule + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 当前测试用例已存在模块,不允许进行同步模块操作 + assert_type: == + assert_sql: + extract: + case_dependence: \ No newline at end of file diff --git a/interface/pms/projects/test_pms_delete_project.yaml b/interface/pms/projects/test_pms_delete_project.yaml new file mode 100644 index 0000000..04363e2 --- /dev/null +++ b/interface/pms/projects/test_pms_delete_project.yaml @@ -0,0 +1,37 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目模块 + allure_story: 项目 + case_markers: + - pms + - pms_project + - usefixtures: gitlink_login +case_info: +- + id: pms_delete_project_01 + title: 企业下删除项目接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProject/${pms_project_id} + method: DELETE + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_enterprise_user_list_01 + - pms_get_enterprise_repo_list_01 + - pms_new_project_01 + - pms_get_project_list_by_name_02 \ No newline at end of file diff --git a/interface/pms/projects/test_pms_edit_project.yaml b/interface/pms/projects/test_pms_edit_project.yaml new file mode 100644 index 0000000..213ddeb --- /dev/null +++ b/interface/pms/projects/test_pms_edit_project.yaml @@ -0,0 +1,51 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目模块 + allure_story: 项目 + case_markers: + - pms + - pms_project + - usefixtures: gitlink_login + +case_info: + - id: pms_edit_project_01 + title: 企业下编辑项目接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProject + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + id: ${pms_project_id} + status: ${random.choice([0,1,2])} # 0: 关闭 1:开启 2:暂停 + projectName: ${generate_company_name(lan='zh')}_${generate_words} + projectAssigneeId: ${random.choice(${assignee_ids})} + projectDescription: ${generate_paragraph} + pmsEnterpriseId: 1 + pmsProductId: ${env_pms_product_id} + pmsProjectMemberIds: ${list_to_str(${assignee_ids})} + projectRepositoryIds: ${list_to_str(${repo_ids})} + 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_get_enterprise_user_list_01 + - pms_get_enterprise_repo_list_01 + - pms_new_project_01 + - pms_get_project_list_by_name_02 + teardown: + interface: + - pms_delete_project_01 \ No newline at end of file diff --git a/interface/pms/projects/test_pms_get_project_list.yaml b/interface/pms/projects/test_pms_get_project_list.yaml new file mode 100644 index 0000000..7c437fe --- /dev/null +++ b/interface/pms/projects/test_pms_get_project_list.yaml @@ -0,0 +1,64 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目模块 + allure_story: 项目 + case_markers: + - pms + - pms_project + - usefixtures: gitlink_login + +case_info: +- + id: pms_get_project_list_01 + title: 企业下获取项目列表接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProject/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pageNum: 1 + pageSize: 20 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + pms_project_ids: $.rows[*].id + case_dependence: + +- + id: pms_get_project_list_by_name_02 + title: 企业下获取项目列表接口 - 项目关键字搜索 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProject/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pageNum: 1 + pageSize: 20 + projectName: 新项目 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + pms_project_id: $.rows[0].id + case_dependence: \ No newline at end of file diff --git a/interface/pms/projects/test_pms_new_project.yaml b/interface/pms/projects/test_pms_new_project.yaml new file mode 100644 index 0000000..65ca0b2 --- /dev/null +++ b/interface/pms/projects/test_pms_new_project.yaml @@ -0,0 +1,44 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目模块 + allure_story: 项目 + case_markers: + - pms + - pms_project + - usefixtures: gitlink_login + +case_info: + - id: pms_new_project_01 + title: 企业下新建项目接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProject + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + projectName: 新项目 - ${generate_company_name(lan='zh', fix='pre')}_${generate_words} + projectAssigneeId: ${random.choice(${assignee_ids})} + projectDescription: ${generate_paragraph} + pmsEnterpriseId: 1 + pmsProductId: ${env_pms_product_id} + pmsProjectMemberIds: ${list_to_str(${assignee_ids})} + projectRepositoryIds: ${list_to_str(${repo_ids})} + 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_get_enterprise_user_list_01 + - pms_get_enterprise_repo_list_01 \ No newline at end of file diff --git a/interface/pms/projects/test_pms_top_project.yaml b/interface/pms/projects/test_pms_top_project.yaml new file mode 100644 index 0000000..df5f583 --- /dev/null +++ b/interface/pms/projects/test_pms_top_project.yaml @@ -0,0 +1,79 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目模块 + allure_story: 项目 + case_markers: + - pms + - pms_project + - demo + - usefixtures: gitlink_login + +case_info: + - id: pms_top_project_01 + title: 企业下置顶项目接口 + run: False + severity: normal + url: ${pms_host}/api/pms/pmsProject + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + id: ${pms_project_id} + isTop: 1 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_enterprise_user_list_01 + - pms_get_enterprise_repo_list_01 + - pms_new_project_01 + - pms_get_project_list_by_name_02 + teardown: + interface: + - pms_delete_project_01 + + - id: pms_top_project_02 + title: 企业下取消置顶项目接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProject + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + id: ${pms_project_id} + isTop: 0 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + # 正常情况下,取消置顶的前提条件是:存在一个已经置顶的项目。但是由于pms_top_project_01是置顶操作,pms_top_project_01与pms_top_project_02在一个session内,会用到pms_top_project_01的数据,因此该接口可以直接执行,不需要依赖。 + # 但是如果想要该接口能够单独运行成功,还是需要执行全部的前置依赖接口。 + case_dependence: + setup: + interface: + - pms_get_enterprise_user_list_01 + - pms_get_enterprise_repo_list_01 + - pms_new_project_01 + - pms_get_project_list_by_name_02 + - pms_top_project_01 + teardown: + interface: + - pms_delete_project_01 \ No newline at end of file diff --git a/interface/pms/projects/test_sheet/test_pms_delete_test_sheet.yaml b/interface/pms/projects/test_sheet/test_pms_delete_test_sheet.yaml new file mode 100644 index 0000000..ba82231 --- /dev/null +++ b/interface/pms/projects/test_sheet/test_pms_delete_test_sheet.yaml @@ -0,0 +1,39 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 测试单 + case_markers: + - pms + - pms_project + - test_sheet + - usefixtures: gitlink_login + +case_info: +- + id: pms_delete_test_sheet_01 + title: 项目下删除测试单接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectTestsheet/${${test_sheet_ids}[0]} + method: DELETE + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_get_sprint_list_01 + - pms_new_test_sheet_01 + - pms_get_test_sheet_list_01 \ No newline at end of file diff --git a/interface/pms/projects/test_sheet/test_pms_edit_test_sheet.yaml b/interface/pms/projects/test_sheet/test_pms_edit_test_sheet.yaml new file mode 100644 index 0000000..b1f745f --- /dev/null +++ b/interface/pms/projects/test_sheet/test_pms_edit_test_sheet.yaml @@ -0,0 +1,46 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 测试单 + case_markers: + - pms + - pms_project + - test_sheet + - usefixtures: gitlink_login + +case_info: +- + id: pms_edit_test_sheet_01 + title: 项目下编辑测试单接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectTestsheet + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + id: ${${test_sheet_ids}[0]} + pmsProjectId: ${env_pms_project_id} + name: ${generate_paragraph(lan='zh', nb=1)} + assigneeId: ${random.choice(${project_member_ids})} + beginTime: ${generate_time(fmt='%Y-%m-%d')} + endTime: ${generate_time(fmt='%Y-%m-%d')} + projectSprintId: ${random.choice(${project_sprint_ids})} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_get_sprint_list_01 + - pms_new_test_sheet_01 + - pms_get_test_sheet_list_01 \ No newline at end of file diff --git a/interface/pms/projects/test_sheet/test_pms_get_test_sheet_list.yaml b/interface/pms/projects/test_sheet/test_pms_get_test_sheet_list.yaml new file mode 100644 index 0000000..9b279fb --- /dev/null +++ b/interface/pms/projects/test_sheet/test_pms_get_test_sheet_list.yaml @@ -0,0 +1,36 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 测试单 + case_markers: + - pms + - pms_project + - test_sheet + - usefixtures: gitlink_login + +case_info: +- + id: pms_get_test_sheet_list_01 + title: 项目下获取测试单列表接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectTestsheet/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmsProjectId: ${env_pms_project_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + test_sheet_ids: $.rows[*].id + case_dependence: \ No newline at end of file diff --git a/interface/pms/projects/test_sheet/test_pms_get_unadd_testcases_list.yaml b/interface/pms/projects/test_sheet/test_pms_get_unadd_testcases_list.yaml new file mode 100644 index 0000000..bdc8a20 --- /dev/null +++ b/interface/pms/projects/test_sheet/test_pms_get_unadd_testcases_list.yaml @@ -0,0 +1,43 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 测试单 + case_markers: + - pms + - pms_project + - test_sheet + - usefixtures: gitlink_login + +case_info: +- + id: pms_get_testcases_list_01 + title: 获取所有模块可添加到测试单内的测试用例列表 + run: true + severity: normal + url: ${pms_host}/api/pms/pmsProjectTestsheetCases/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pageNum: 1 + pageSize: 1000 + add: true + pmsProjectId: ${env_pms_project_id} + projectTestsheetId: ${${test_sheet_ids}[0]} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + test_sheet_ids: $.rows[*].id + case_dependence: + setup: + interface: + - pms_get_test_sheet_list_01 \ No newline at end of file diff --git a/interface/pms/projects/test_sheet/test_pms_new_test_sheet.yaml b/interface/pms/projects/test_sheet/test_pms_new_test_sheet.yaml new file mode 100644 index 0000000..fe1667a --- /dev/null +++ b/interface/pms/projects/test_sheet/test_pms_new_test_sheet.yaml @@ -0,0 +1,44 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 测试单 + case_markers: + - pms + - pms_project + - test_sheet + - repeat(1) + - usefixtures: gitlink_login + +case_info: +- + id: pms_new_test_sheet_01 + title: 项目下新建测试单接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectTestsheet + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmsProjectId: ${env_pms_project_id} + name: 测试单 - ${generate_paragraph(lan='zh', nb=1)} + assigneeId: ${random.choice(${project_member_ids})} + beginTime: ${generate_time(fmt='%Y-%m-%d')} + endTime: ${generate_time(fmt='%Y-%m-%d')} + projectSprintId: ${random.choice(${project_sprint_ids})} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_get_sprint_list_01 \ No newline at end of file diff --git a/interface/pms/projects/test_sheet/test_pms_test_sheet_add_testcase.yaml b/interface/pms/projects/test_sheet/test_pms_test_sheet_add_testcase.yaml new file mode 100644 index 0000000..610f49f --- /dev/null +++ b/interface/pms/projects/test_sheet/test_pms_test_sheet_add_testcase.yaml @@ -0,0 +1,39 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 测试单 + case_markers: + - pms + - pms_project + - test_sheet + - usefixtures: gitlink_login + - skip: 用例暂未完成,跳过 + +case_info: +- + id: pms_test_sheet_add_testcase_01 + title: 测试单添加测试用例接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectTestsheetCases + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + idList: + projectTestsheetId: ${${test_sheet_ids}[0]} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_test_sheet_list_01 \ No newline at end of file diff --git a/interface/pms/projects/testcases/test_pms_delete_testcases.yaml b/interface/pms/projects/testcases/test_pms_delete_testcases.yaml new file mode 100644 index 0000000..d030ecc --- /dev/null +++ b/interface/pms/projects/testcases/test_pms_delete_testcases.yaml @@ -0,0 +1,39 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 测试用例 + case_markers: + - pms + - pms_project + - testcases + - usefixtures: gitlink_login + +case_info: +- + id: pms_delete_testcases_01 + title: 项目下删除测试用例接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectTestcase/${testcase_id} + method: DELETE + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_upload_file_01 + - pms_new_testcase_module_01 + - pms_new_testcases_01 diff --git a/interface/pms/projects/testcases/test_pms_edit_testcases.yaml b/interface/pms/projects/testcases/test_pms_edit_testcases.yaml new file mode 100644 index 0000000..1bf1073 --- /dev/null +++ b/interface/pms/projects/testcases/test_pms_edit_testcases.yaml @@ -0,0 +1,87 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 测试用例 + case_markers: + - pms + - pms_project + - testcases + - usefixtures: gitlink_login + +case_info: +- + id: pms_edit_testcases_01 + title: 项目下编辑测试用例接口 - 仅编辑标题 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectTestcase + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + id: ${testcase_id} + title: ${generate_paragraph(nb=1)} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_upload_file_01 + - pms_new_testcase_module_01 + - pms_new_testcases_01 + +- + id: pms_edit_testcases_02 + title: 项目下编辑测试用例接口 - 编辑所有字段 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectTestcase + method: PUT + headers: {"Content-Type": "application/json; charset=utf-8;"} + cookies: ${cookies} + request_type: json + payload: + id: ${testcase_id} + pmsProjectId: ${${project_ids}[0]} + title: ${generate_paragraph(nb=1)} + preconditions: ${generate_words(lan='zh', nb=2)} + assigneeGitlinkId: ${${project_member_ids}[0]} + tags: + typeId: ${random.choice([1,2,3,4,5,6,7])} # 用例类型 功能测试1 性能测试2 接口测试3 安装部署4 安全相关5 配置相关6 其他7 + testcaseStepInputVoList: + - + index: 0 + content: ${generate_words(lan='zh', nb=2)} + expectedResult: ${generate_words(lan='zh', nb=2)} + - index: 1 + content: ${generate_words(lan='zh', nb=2)} + expectedResult: ${generate_words(lan='zh', nb=2)} + remark: ${generate_paragraph(nb=2)} + fileIdentifiers: ${file_identifier} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_upload_file_01 + - pms_new_testcase_module_01 + - pms_new_testcases_01 + - pms_upload_file_01 \ No newline at end of file diff --git a/interface/pms/projects/testcases/test_pms_get_testcases_list.yaml b/interface/pms/projects/testcases/test_pms_get_testcases_list.yaml new file mode 100644 index 0000000..a2c50e5 --- /dev/null +++ b/interface/pms/projects/testcases/test_pms_get_testcases_list.yaml @@ -0,0 +1,40 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 测试用例 + case_markers: + - pms + - pms_project + - testcases + - usefixtures: gitlink_login + +case_info: +- + id: pms_get_testcases_01 + title: 项目下获取测试用例列表接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectTestcase/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmsProjectId: ${env_pms_project_id} + pageNum: 1 + pageSize: 20 + isAsc: desc + orderByColumn: createTime + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + testcase_ids: $.rows[*].id + case_dependence: diff --git a/interface/pms/projects/testcases/test_pms_new_testcases.yaml b/interface/pms/projects/testcases/test_pms_new_testcases.yaml new file mode 100644 index 0000000..a609786 --- /dev/null +++ b/interface/pms/projects/testcases/test_pms_new_testcases.yaml @@ -0,0 +1,102 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 测试用例 + case_markers: + - pms + - pms_project + - testcases + - repeat(1) + - usefixtures: gitlink_login + +case_info: +- + id: pms_new_testcases_01 + title: 项目下新建测试用例接口 - 有所属模块 + run: false + severity: normal + url: ${pms_host}/api/pms/pmsProjectTestcase + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmsProjectId: ${env_pms_project_id} + title: ${generate_paragraph(nb=1)} + preconditions: ${generate_words(lan='zh', nb=2)} + assigneeGitlinkId: ${${project_member_ids}[0]} + tags: + typeId: ${random.choice([1,2,3,4,5,6,7])} # 用例类型 功能测试1 性能测试2 接口测试3 安装部署4 安全相关5 配置相关6 其他7 + pmsModuleId: ${testcase_module_id} + testcaseStepInputVoList: + - + index: 0 + content: ${generate_words(lan='zh', nb=2)} + expectedResult: ${generate_words(lan='zh', nb=2)} + - index: 1 + content: ${generate_words(lan='zh', nb=2)} + expectedResult: ${generate_words(lan='zh', nb=2)} + remark: ${generate_paragraph(nb=2)} + fileIdentifiers: ${file_identifier} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + testcase_id: $.data + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_upload_file_01 + - pms_new_testcase_module_01 + +- + id: pms_new_testcases_02 + title: 项目下新建测试用例接口 - 无所属模块 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectTestcase + method: POST + headers: {"Content-Type": "application/json; charset=utf-8;"} + cookies: ${cookies} + request_type: json + payload: + pmsProjectId: ${env_pms_project_id} + title: ${generate_paragraph(nb=1)} + preconditions: ${generate_words(lan='zh', nb=2)} + assigneeGitlinkId: ${${project_member_ids}[0]} + tags: + typeId: ${random.choice([1,2,3,4,5,6,7])} # 用例类型 功能测试1 性能测试2 接口测试3 安装部署4 安全相关5 配置相关6 其他7 + testcaseStepInputVoList: + - + index: 0 + content: ${generate_words(lan='zh', nb=2)} + expectedResult: ${generate_words(lan='zh', nb=2)} + - index: 1 + content: ${generate_words(lan='zh', nb=2)} + expectedResult: ${generate_words(lan='zh', nb=2)} + remark: ${generate_paragraph(nb=2)} + fileIdentifiers: ${file_identifier} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + testcase_id: $.data + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_upload_file_01 \ No newline at end of file diff --git a/interface/pms/projects/work_item/test_pms_batch_edit_work_item.yaml b/interface/pms/projects/work_item/test_pms_batch_edit_work_item.yaml new file mode 100644 index 0000000..9d82841 --- /dev/null +++ b/interface/pms/projects/work_item/test_pms_batch_edit_work_item.yaml @@ -0,0 +1,218 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目模块 + allure_story: 工作项 + case_markers: + - pms + - project + - work_item + - usefixtures: gitlink_login + +case_info: +- + id: pms_batch_edit_work_item_requirement_01 + title: 项目下批量编辑工作项(需求) + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/edit/batch?pmProjectId=${env_pms_project_id} + method: put + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + projectId: ${${project_repo_ids}[0]} # 项目下的代码库 + ids: ${project_requirement_ids} + issueTagIds: ${${project_tag_ids}[1:4]} + assignerIds: ${${project_member_ids}[1:2]} + priorityId: ${random.choice([1,2,3,4])} + statusId: ${random.choice([1,2,3,5,6])} # 待评审1 进行中2 已完成3 已关闭5 已拒绝6 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_project_issue_attachment_01 + - pms_get_project_issue_tags_01 + - pms_get_project_repo_list_01 + - pms_new_work_item_requirement_01 + - pms_get_work_item_list_requirement_01 + +- + id: pms_batch_edit_work_item_task_02 + title: 项目下批量编辑工作项(任务) + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/edit/batch?pmProjectId=${env_pms_project_id} + method: put + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + projectId: ${${project_repo_ids}[0]} # 项目下的代码库 + ids: ${project_task_ids} + issueTagIds: ${${project_tag_ids}[1:4]} + assignerIds: ${${project_member_ids}[1:2]} + priorityId: ${random.choice([1,2,3,4])} + statusId: ${random.choice([1,2,3,5,6])} # 待处理 1 进行中2 已完成3 已关闭5 已拒绝6 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_project_issue_attachment_01 + - pms_get_project_issue_tags_01 + - pms_get_project_repo_list_01 + - pms_new_work_item_task_02 + - pms_get_work_item_list_task_02 + +- + id: pms_batch_edit_work_item_bug_03 + title: 项目下批量编辑工作项(缺陷) + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/edit/batch?pmProjectId=${env_pms_project_id} + method: put + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + ids: ${project_bug_ids} + issueTagIds: ${${project_tag_ids}[1:4]} + assignerIds: ${${project_member_ids}[1:2]} + priorityId: ${random.choice([1,2,3,4])} + projectId: ${${project_repo_ids}[0]} # 项目下的代码库 + statusId: ${random.choice([1,2,3,5,6])} # 待修复1 修复中2 已修复3 已关闭5 已拒绝6 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_project_issue_attachment_01 + - pms_get_project_issue_tags_01 + - pms_get_project_repo_list_01 + - pms_new_work_item_bug_03 + - pms_get_work_item_list_bug_03 + +- + id: pms_batch_edit_work_item_requirement_04 + title: 项目下批量编辑工作项(需求)- 关联子需求 + run: False + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/edit/batch?pmProjectId=${env_pms_project_id} + method: put + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + ids: # 关联子需求id, 子需求需要是无父级无子级的需求 + - ${project_requirement_id} + rootId: ${${project_requirement_ids}[-1]} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_project_list_01 + - pms_new_work_item_requirement_01 + - pms_new_work_item_requirement_01 + - pms_get_work_item_list_requirement_01 + +- + id: pms_batch_edit_work_item_task_05 + title: 项目下批量编辑工作项(任务)- 关联子任务 + run: False + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/edit/batch?pmProjectId=${env_pms_project_id} + method: put + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + ids: # 关联子任务id, 子任务需要是无父级无子级的任务 + - ${project_task_id} + rootId: ${${project_task_ids}[-1]} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_project_list_01 + - pms_new_work_item_task_02 + - pms_new_work_item_task_02 + - pms_get_work_item_list_task_02 + + +- + id: pms_batch_edit_work_item_bug_06 + title: 项目下批量编辑工作项(缺陷)- 关联子缺陷 + run: False + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/edit/batch?pmProjectId=${env_pms_project_id} + method: put + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + ids: # 关联子缺陷id, 子缺陷需要是无父级无子级的缺陷 + - ${project_bug_id} + rootId: ${${project_bug_ids}[-1]} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_project_list_01 + - pms_new_work_item_bug_02 + - pms_new_work_item_bug_02 + - pms_get_work_item_list_bug_02 \ No newline at end of file diff --git a/interface/pms/projects/work_item/test_pms_delete_work_item.yaml b/interface/pms/projects/work_item/test_pms_delete_work_item.yaml new file mode 100644 index 0000000..bef7f23 --- /dev/null +++ b/interface/pms/projects/work_item/test_pms_delete_work_item.yaml @@ -0,0 +1,112 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目模块 + allure_story: 工作项 + case_markers: + - pms + - project + - work_item + - usefixtures: gitlink_login + +case_info: +- + id: pms_delete_work_item_requirement_01 + title: 项目下删除工作项接口(需求) + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/${${project_requirement_ids}[0]} + method: DELETE + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmProjectId: ${env_pms_project_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + project_requirement_id: $.data.id + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_project_issue_attachment_01 + - pms_get_project_issue_tags_01 + - pms_get_project_repo_list_01 + - pms_new_work_item_requirement_01 + - pms_get_work_item_list_requirement_01 + +- + id: pms_delete_work_item_task_02 + title: 项目下删除工作项接口(任务) + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/${${project_task_ids}[0]} + method: DELETE + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmProjectId: ${env_pms_project_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + project_requirement_id: $.data.id + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_project_issue_attachment_01 + - pms_get_project_issue_tags_01 + - pms_get_project_repo_list_01 + - pms_new_work_item_task_02 + - pms_get_work_item_list_task_02 + +- + id: pms_delete_work_item_bug_03 + title: 项目下删除工作项接口(缺陷) + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/${${project_bug_ids}[0]} + method: DELETE + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmProjectId: ${env_pms_project_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + project_requirement_id: $.data.id + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_project_issue_attachment_01 + - pms_get_project_issue_tags_01 + - pms_get_project_repo_list_01 + - pms_new_work_item_bug_03 + - pms_get_work_item_list_bug_03 \ No newline at end of file diff --git a/interface/pms/projects/work_item/test_pms_edit_work_item.yaml b/interface/pms/projects/work_item/test_pms_edit_work_item.yaml new file mode 100644 index 0000000..6796a74 --- /dev/null +++ b/interface/pms/projects/work_item/test_pms_edit_work_item.yaml @@ -0,0 +1,441 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目模块 + allure_story: 工作项 + case_markers: + - pms + - project + - work_item + - usefixtures: gitlink_login + +case_info: +- + id: pms_edit_work_item_requirement_01 + title: 项目下编辑工作项(需求)- 仅编辑标题 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/edit/${project_requirement_id} + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmProjectId: ${env_pms_project_id} + pmIssueType: 1 # 1 需求 2 任务 3 缺陷 + subject: 工作项_${generate_paragraph(lan='zh',nb=1)}_${generate_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_member_list_01 + - pms_project_issue_attachment_01 + - pms_get_project_issue_tags_01 + - pms_get_project_repo_list_01 + - pms_new_work_item_requirement_01 + +- + id: pms_edit_work_item_task_02 + title: 项目下编辑工作项(任务)- 仅编辑标题 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/edit/${project_task_id} + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmProjectId: ${env_pms_project_id} + pmIssueType: 2 # 1 需求 2 任务 3 缺陷 + subject: 工作项_${generate_paragraph(lan='zh',nb=1)}_${generate_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_member_list_01 + - pms_project_issue_attachment_01 + - pms_get_project_issue_tags_01 + - pms_get_project_repo_list_01 + - pms_new_work_item_task_02 + +- + id: pms_edit_work_item_bug_03 + title: 项目下编辑工作项(缺陷)- 仅编辑标题 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/edit/${project_bug_id} + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmProjectId: ${env_pms_project_id} + pmIssueType: 3 # 1 需求 2 任务 3 缺陷 + subject: 工作项_${generate_paragraph(lan='zh',nb=1)}_${generate_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_member_list_01 + - pms_project_issue_attachment_01 + - pms_get_project_issue_tags_01 + - pms_get_project_repo_list_01 + - pms_new_work_item_bug_03 + +- + id: pms_edit_work_item_requirement_04 + title: 项目下编辑工作项(需求) + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/edit/${project_requirement_id} + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + statusId: ${random.choice([1,2,3,5,6])} # 待评审1 进行中2 已完成3 已关闭5 已拒绝6 + pmProjectId: ${env_pms_project_id} + pmIssueType: 1 + subject: 工作项_${generate_paragraph(lan='zh',nb=1)}_${generate_time} + description: ${generate_paragraph(nb=6)} + assignerIds: ${${project_member_ids}[1:4]} + attachmentIds: + - ${file_id} + priorityId: ${random.choice([1,2,3,4])} + issueTagIds: ${${project_tag_ids}[1:4]} + sprintId: + projectId: ${${project_repo_ids}[0]} + branchName: master + startDate: ${generate_time(fmt='%Y-%m-%d')} + dueDate: ${generate_time(fmt='%Y-%m-%d')} + timeScale: ${generate_random_int(1,100)} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_project_issue_attachment_01 + - pms_get_project_issue_tags_01 + - pms_get_project_repo_list_01 + - pms_new_work_item_requirement_01 + - pms_project_issue_attachment_01 + +- + id: pms_edit_work_item_task_05 + title: 项目下编辑工作项(任务) + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/edit/${project_task_id} + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + statusId: ${random.choice([1,2,3,5,6])} # 待处理 1 进行中2 已完成3 已关闭5 已拒绝6 + pmProjectId: ${env_pms_project_id} + pmIssueType: 2 + subject: 工作项_${generate_paragraph(lan='zh',nb=1)}_${generate_time} + description: ${generate_paragraph(nb=6)} + assignerIds: ${${project_member_ids}[1:4]} + attachmentIds: + - ${file_id} + priorityId: ${random.choice([1,2,3,4])} + issueTagIds: ${${project_tag_ids}[1:4]} + sprintId: + projectId: ${${project_repo_ids}[0]} + branchName: master + startDate: ${generate_time(fmt='%Y-%m-%d')} + dueDate: ${generate_time(fmt='%Y-%m-%d')} + timeScale: ${generate_random_int(1,100)} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_project_issue_attachment_01 + - pms_get_project_issue_tags_01 + - pms_get_project_repo_list_01 + - pms_new_work_item_task_02 + - pms_project_issue_attachment_01 + +- + id: pms_edit_work_item_bug_06 + title: 项目下编辑工作项(缺陷) + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/edit/${project_bug_id} + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + statusId: ${random.choice([1,2,3,5,6])} # 待修复1 修复中2 已修复3 已关闭5 已拒绝6 + pmProjectId: ${env_pms_project_id} + pmIssueType: 2 + subject: 工作项_${generate_paragraph(lan='zh',nb=1)}_${generate_time} + description: ${generate_paragraph(nb=6)} + assignerIds: ${${project_member_ids}[1:4]} + attachmentIds: + - ${file_id} + priorityId: ${random.choice([1,2,3,4])} + issueTagIds: ${${project_tag_ids}[1:4]} + sprintId: + projectId: ${${project_repo_ids}[0]} + branchName: master + startDate: ${generate_time(fmt='%Y-%m-%d')} + dueDate: ${generate_time(fmt='%Y-%m-%d')} + timeScale: ${generate_random_int(1,100)} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_project_issue_attachment_01 + - pms_get_project_issue_tags_01 + - pms_get_project_repo_list_01 + - pms_new_work_item_bug_03 + - pms_project_issue_attachment_01 + + +- + id: pms_edit_work_item_requirement_07 + title: 项目下编辑工作项(需求) - 取消父子关系 + run: false + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/edit/${project_requirement_id} # TODO 如何获取存在父子关系的id + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmProjectId: ${env_pms_project_id} + rootId: 0 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + +- + id: pms_edit_work_item_task_08 + title: 项目下编辑工作项(任务) - 取消父子关系 + run: false + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/edit/${project_task_id} # TODO 如何获取存在父子关系的id + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmProjectId: ${env_pms_project_id} + rootId: 0 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + +- + id: pms_edit_work_item_bug_09 + title: 项目下编辑工作项(缺陷) - 取消父子关系 + run: false + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/edit/${project_bug_id} # TODO 如何获取存在父子关系的id + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmProjectId: ${env_pms_project_id} + rootId: 0 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + + +- + id: pms_edit_work_item_requirement_10 + title: 项目下编辑工作项(需求)- 关联父需求 + run: false + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/edit/${project_requirement_id} + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + statusId: ${requirement_status_id} + pmProjectId: ${${project_ids}[0]} + assignerIds: ${requirement_assignee_ids} + priorityId: ${requirement_priority_id} + issueTagIds: ${requirement_tag_ids} + sprintId: ${requirement_sprint_id} + projectId: ${env_pms_project_id} + branchName: ${requirement_branch_name} + startDate: ${requirement_start_date} + dueDate: ${requirement_due_date} + timeScale: ${requirement_time_scale} + rootId: # 父级需求可选范围:当前需求的同级需求或父级需求; + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_work_item_detail_requirement_01 + +- + id: pms_edit_work_item_task_11 + title: 项目下编辑工作项(任务)- 关联父任务 + run: false + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/edit/${project_task_id} + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + statusId: ${task_status_id} + pmProjectId: ${env_pms_project_id} + assignerIds: ${task_assignee_ids} + priorityId: ${task_priority_id} + issueTagIds: ${task_tag_ids} + sprintId: ${task_sprint_id} + projectId: ${task_project_id} + branchName: ${task_branch_name} + startDate: ${task_start_date} + dueDate: ${task_due_date} + timeScale: ${task_time_scale} + rootId: # 父级任务可选范围:当前需求的同级任务或父级任务; + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_work_item_detail_task_02 + +- + id: pms_edit_work_item_bug_12 + title: 项目下编辑工作项(缺陷)- 关联父缺陷 + run: false + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/edit/${project_bug_id} + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + statusId: ${bug_status_id} + pmProjectId: ${env_pms_project_id} + assignerIds: ${bug_assignee_ids} + priorityId: ${bug_priority_id} + issueTagIds: ${bug_tag_ids} + sprintId: ${bug_sprint_id} + projectId: ${bug_project_id} + branchName: ${bug_branch_name} + startDate: ${bug_start_date} + dueDate: ${bug_due_date} + timeScale: ${bug_time_scale} + rootId: # 父级缺陷可选范围:当前需求的同级缺陷或父级缺陷; + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_work_item_detail_bug_03 diff --git a/interface/pms/projects/work_item/test_pms_get_project_issue_tags.yaml b/interface/pms/projects/work_item/test_pms_get_project_issue_tags.yaml new file mode 100644 index 0000000..590db4e --- /dev/null +++ b/interface/pms/projects/work_item/test_pms_get_project_issue_tags.yaml @@ -0,0 +1,35 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目模块 + allure_story: 项目 + case_markers: + - pms + - pms_project + - usefixtures: gitlink_login + +case_info: +- + id: pms_get_project_issue_tags_01 + title: 获取项目内标记列表接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/issueTags + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmProjectId: ${env_pms_project_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + project_tag_ids: $.data.issue_tags[*].id + case_dependence: \ No newline at end of file diff --git a/interface/pms/projects/work_item/test_pms_get_work_item_detail.yaml b/interface/pms/projects/work_item/test_pms_get_work_item_detail.yaml new file mode 100644 index 0000000..16aae56 --- /dev/null +++ b/interface/pms/projects/work_item/test_pms_get_work_item_detail.yaml @@ -0,0 +1,151 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目模块 + allure_story: 工作项 + case_markers: + - pms + - pms_project + - work_item + - usefixtures: gitlink_login + +case_info: +- + id: pms_get_work_item_detail_requirement_01 + title: 获取项目内工作项详情(需求) + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/${project_requirement_id} + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmProjectId: ${env_pms_project_id} + id: ${project_requirement_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + requirement_status_id: $.data.status.id + requirement_issue_type: $.data.pm_issue_type + requirement_subject: $.data.subject + requirement_description: $.data.description + requirement_assignee_ids: $.data.assigners[*].id + requirement_attachment_ids: $.data.attachments[*].id + requirement_priority_id: $.data.priority.id + requirement_tag_ids: $.data.tags[*].id + requirement_sprint_id: $.data.pm_sprint_id + requirement_project_id: $.data.project.id + requirement_branch_name: $.data.branch_name + requirement_start_date: $.data.start_date + requirement_due_date: $.data.due_date + requirement_time_scale: $.data.time_scale + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_project_issue_attachment_01 + - pms_get_project_issue_tags_01 + - pms_get_project_repo_list_01 + - pms_new_work_item_requirement_01 + +- + id: pms_get_work_item_detail_task_02 + title: 获取项目内工作项详情(任务) + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/${project_task_id} + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmProjectId: ${env_pms_project_id} + id: ${project_task_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + task_status_id: $.data.status.id + task_issue_type: $.data.pm_issue_type + task_subject: $.data.subject + task_description: $.data.description + task_assignee_ids: $.data.assigners[*].id + task_attachment_ids: $.data.attachments[*].id + task_priority_id: $.data.priority.id + task_tag_ids: $.data.tags[*].id + task_sprint_id: $.data.pm_sprint_id + task_project_id: $.data.project.id + task_branch_name: $.data.branch_name + task_start_date: $.data.start_date + task_due_date: $.data.due_date + task_time_scale: $.data.time_scale + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_project_issue_attachment_01 + - pms_get_project_issue_tags_01 + - pms_get_project_repo_list_01 + - pms_new_work_item_task_02 + +- + id: pms_get_work_item_detail_bug_03 + title: 获取项目内工作项详情(缺陷) + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/${project_bug_id} + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmProjectId: ${env_pms_project_id} + id: ${project_bug_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + bug_status_id: $.data.status.id + bug_issue_type: $.data.pm_issue_type + bug_subject: $.data.subject + bug_description: $.data.description + bug_assignee_ids: $.data.assigners[*].id + bug_attachment_ids: $.data.attachments[*].id + bug_priority_id: $.data.priority.id + bug_tag_ids: $.data.tags[*].id + bug_sprint_id: $.data.pm_sprint_id + bug_project_id: $.data.project.id + bug_branch_name: $.data.branch_name + bug_start_date: $.data.start_date + bug_due_date: $.data.due_date + bug_time_scale: $.data.time_scale + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_project_issue_attachment_01 + - pms_get_project_issue_tags_01 + - pms_get_project_repo_list_01 + - pms_new_work_item_bug_03 diff --git a/interface/pms/projects/work_item/test_pms_get_work_item_list.yaml b/interface/pms/projects/work_item/test_pms_get_work_item_list.yaml new file mode 100644 index 0000000..0019b88 --- /dev/null +++ b/interface/pms/projects/work_item/test_pms_get_work_item_list.yaml @@ -0,0 +1,106 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目模块 + allure_story: 工作项 + case_markers: + - pms + - pms_project + - work_item + - usefixtures: gitlink_login + +case_info: +- + id: pms_get_work_item_list_requirement_01 + title: 获取项目内工作项列表(需求) + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmProjectId: ${env_pms_project_id} + page: 1 + limit: 20 + category: all + participantCategory: all + pmIssueType: 1 + rootId: -1 # 为空查所有,-1查一级 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + project_requirement_ids: $.data.issues[*].id + case_dependence: + +- + id: pms_get_work_item_list_task_02 + title: 获取项目内工作项列表(任务) + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmProjectId: ${env_pms_project_id} + page: 1 + limit: 20 + category: all + participantCategory: all + pmIssueType: 2 + rootId: -1 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + project_task_ids: $.data.issues[*].id + case_dependence: + +- + id: pms_get_work_item_list_bug_03 + title: 获取项目内工作项列表(缺陷) + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmProjectId: ${env_pms_project_id} + page: 1 + limit: 20 + category: all + participantCategory: all + pmIssueType: 3 + rootId: -1 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + project_bug_ids: $.data.issues[*].id + case_dependence: \ No newline at end of file diff --git a/interface/pms/projects/work_item/test_pms_new_work_item.yaml b/interface/pms/projects/work_item/test_pms_new_work_item.yaml new file mode 100644 index 0000000..6274bf0 --- /dev/null +++ b/interface/pms/projects/work_item/test_pms_new_work_item.yaml @@ -0,0 +1,401 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目模块 + allure_story: 工作项 + case_markers: + - pms + - project + - work_item + - repeat(1) + - usefixtures: gitlink_login + +case_info: +- + id: pms_new_work_item_requirement_01 + title: 项目下新建工作项接口(父级工作项-需求) + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/add + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmProjectId: ${env_pms_project_id} + pmIssueType: 1 # 1 需求 2 任务 3 缺陷 + subject: 需求_${generate_paragraph(lan='zh',nb=1)}_${generate_time} + description: ${generate_paragraph(nb=6)} + statusId: 1 + assignerIds: ${${project_member_ids}[1:4]} + attachmentIds: + - ${file_id} + priorityId: ${random.choice([1,2,3,4])} + issueTagIds: ${${project_tag_ids}[1:4]} + sprintId: + projectId: ${${project_repo_ids}[0]} + branchName: master + startDate: ${generate_time(fmt='%Y-%m-%d')} + dueDate: ${generate_time(fmt='%Y-%m-%d')} + timeScale: ${generate_random_int(1,100)} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + project_requirement_id: $.data.id + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_project_issue_attachment_01 + - pms_get_project_issue_tags_01 + - pms_get_project_repo_list_01 + +- + id: pms_new_work_item_task_02 + title: 项目下新建工作项接口(父级工作项-任务) + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/add + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmProjectId: ${env_pms_project_id} + pmIssueType: 2 # 1 需求 2 任务 3 缺陷 + subject: 任务_${generate_paragraph(lan='zh',nb=1)}_${generate_time} + description: ${generate_paragraph(nb=6)} + statusId: 1 + assignerIds: ${${project_member_ids}[1:4]} + attachmentIds: + - ${file_id} + priorityId: ${random.choice([1,2,3,4])} + issueTagIds: ${${project_tag_ids}[1:4]} + sprintId: + projectId: ${${project_repo_ids}[0]} + branchName: master + startDate: ${generate_time(fmt='%Y-%m-%d')} + dueDate: ${generate_time(fmt='%Y-%m-%d')} + timeScale: ${generate_random_int(1,100)} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + project_task_id: $.data.id + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_project_issue_attachment_01 + - pms_get_project_issue_tags_01 + - pms_get_project_repo_list_01 + +- + id: pms_new_work_item_bug_03 + title: 项目下新建工作项接口(父级工作项-缺陷) + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/add + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmProjectId: ${env_pms_project_id} + pmIssueType: 3 # 1 需求 2 任务 3 缺陷 + subject: 缺陷_${generate_paragraph(lan='zh',nb=1)}_${generate_time} + description: ${generate_paragraph(nb=6)} + statusId: 1 + assignerIds: ${${project_member_ids}[1:4]} + attachmentIds: + - ${file_id} + priorityId: ${random.choice([1,2,3,4])} + issueTagIds: ${${project_tag_ids}[1:4]} + sprintId: + projectId: ${${project_repo_ids}[0]} + branchName: master + startDate: ${generate_time(fmt='%Y-%m-%d')} + dueDate: ${generate_time(fmt='%Y-%m-%d')} + timeScale: ${generate_random_int(1,100)} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + project_bug_id: $.data.id + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_project_issue_attachment_01 + - pms_get_project_issue_tags_01 + - pms_get_project_repo_list_01 + +- + id: pms_new_work_item_children_requirement_04 + title: 项目下新建工作项接口(子级工作项-需求) + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/add + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmProjectId: ${env_pms_project_id} + pmIssueType: 1 + subject: 需求_${generate_paragraph(lan='zh',nb=1)}_${generate_time} + description: ${generate_paragraph(nb=6)} + statusId: 1 + assignerIds: ${${project_member_ids}[1:4]} + attachmentIds: + - ${file_id} + priorityId: ${random.choice([1,2,3,4])} + issueTagIds: ${${project_tag_ids}[1:4]} + sprintId: + projectId: ${${project_repo_ids}[0]} + branchName: master + startDate: ${generate_time(fmt='%Y-%m-%d')} + dueDate: ${generate_time(fmt='%Y-%m-%d')} + timeScale: ${generate_random_int(1,100)} + rootId: ${${project_requirement_ids}[0]} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + project_requirement_id: $.data.id + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_project_issue_attachment_01 + - pms_get_project_issue_tags_01 + - pms_get_project_repo_list_01 + - pms_get_work_item_list_requirement_01 + +- + id: pms_new_work_item_children_task_05 + title: 项目下新建工作项接口(子级工作项-任务) + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/add + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmProjectId: ${env_pms_project_id} + pmIssueType: 2 + subject: 任务_${generate_paragraph(lan='zh',nb=1)}_${generate_time} + description: ${generate_paragraph(nb=6)} + statusId: 1 + assignerIds: ${${project_member_ids}[1:4]} + attachmentIds: + - ${file_id} + priorityId: ${random.choice([1,2,3,4])} + issueTagIds: ${${project_tag_ids}[1:4]} + sprintId: + projectId: ${${project_repo_ids}[0]} + branchName: master + startDate: ${generate_time(fmt='%Y-%m-%d')} + dueDate: ${generate_time(fmt='%Y-%m-%d')} + timeScale: ${generate_random_int(1,100)} + rootId: ${${project_task_ids}[0]} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + project_task_id: $.data.id + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_project_issue_attachment_01 + - pms_get_project_issue_tags_01 + - pms_get_project_repo_list_01 + - pms_get_work_item_list_task_02 + +- + id: pms_new_work_item__children_bug_06 + title: 项目下新建工作项接口(子级工作项-缺陷) + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/add + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmProjectId: ${env_pms_project_id} + pmIssueType: 3 + subject: 缺陷_${generate_paragraph(lan='zh',nb=1)}_${generate_time} + description: ${generate_paragraph(nb=6)} + statusId: 1 + assignerIds: ${${project_member_ids}[1:4]} + attachmentIds: + - ${file_id} + priorityId: ${random.choice([1,2,3,4])} + issueTagIds: ${${project_tag_ids}[1:4]} + sprintId: + projectId: ${${project_repo_ids}[0]} + branchName: master + startDate: ${generate_time(fmt='%Y-%m-%d')} + dueDate: ${generate_time(fmt='%Y-%m-%d')} + timeScale: ${generate_random_int(1,100)} + rootId: ${${project_bug_ids}[0]} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + project_bug_id: $.data.id + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_project_issue_attachment_01 + - pms_get_project_issue_tags_01 + - pms_get_project_repo_list_01 + - pms_get_work_item_list_bug_03 + +- + id: pms_new_work_item__children_bug_07 + title: 项目下新建工作项接口(子级工作项-需求) - 仅输入标题新建 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/add + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmProjectId: ${env_pms_project_id} + pmIssueType: 1 + subject: 工作项_${generate_paragraph(lan='zh',nb=1)}_${generate_time} + statusId: 1 + priorityId: 1 + rootId: ${${project_requirement_ids}[0]} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + project_bug_id: $.data.id + case_dependence: + setup: + interface: + - pms_get_work_item_list_requirement_01 + +- + id: pms_new_work_item__children_bug_08 + title: 项目下新建工作项接口(子级工作项-任务) - 仅输入标题新建 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/add + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmProjectId: ${env_pms_project_id} + pmIssueType: 2 + subject: 任务_${generate_paragraph(lan='zh',nb=1)}_${generate_time} + statusId: 1 + priorityId: 1 + rootId: ${${project_task_ids}[0]} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + project_task_id: $.data.id + case_dependence: + setup: + interface: + - pms_get_work_item_list_task_02 + +- + id: pms_new_work_item__children_bug_09 + title: 项目下新建工作项接口(子级工作项-缺陷) - 仅输入标题新建 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/add + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmProjectId: ${env_pms_project_id} + pmIssueType: 3 + subject: 缺陷_${generate_paragraph(lan='zh',nb=1)}_${generate_time} + statusId: 1 + priorityId: 1 + rootId: ${${project_task_ids}[0]} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + project_task_id: $.data.id + case_dependence: + setup: + interface: + - pms_get_work_item_list_bug_03 \ No newline at end of file diff --git a/interface/pms/projects/work_item/test_pms_project_issue_attachment.yaml b/interface/pms/projects/work_item/test_pms_project_issue_attachment.yaml new file mode 100644 index 0000000..b57c4a3 --- /dev/null +++ b/interface/pms/projects/work_item/test_pms_project_issue_attachment.yaml @@ -0,0 +1,34 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目模块 + allure_story: 上传文件 + case_markers: + - pms + - pms_project + - upload_file + - usefixtures: gitlink_login + +case_info: +- + id: pms_project_issue_attachment_01 + title: 项目内上传附件 + severity: + run: False + url: ${pms_host}/api/pms/pmsProjectIssues/attachments + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: file + payload: + files: demo_test_upload.yaml + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + file_id: $.data.id diff --git a/interface/pms/projects/work_item_journal/test_pms_work_item_add_journal.yaml b/interface/pms/projects/work_item_journal/test_pms_work_item_add_journal.yaml new file mode 100644 index 0000000..3f3ca09 --- /dev/null +++ b/interface/pms/projects/work_item_journal/test_pms_work_item_add_journal.yaml @@ -0,0 +1,239 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目模块 + allure_story: 工作项 + case_markers: + - pms + - pms_project + - work_item + - usefixtures: gitlink_login + + +case_info: +- + id: pms_work_item_add_journal_requirement_01 + title: 工作项下添加评论 - 需求 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_requirement_id} + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmProjectId: ${env_pms_project_id} + notes: ${generate_paragraph(nb=6)} + attachmentIds: + - ${file_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + requirement_journal_id: $.data.id + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_project_issue_attachment_01 + - pms_get_project_issue_tags_01 + - pms_get_project_repo_list_01 + - pms_new_work_item_requirement_01 + - pms_project_issue_attachment_01 + +- + id: pms_work_item_add_journal_task_02 + title: 工作项下添加评论 - 任务 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_task_id} + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmProjectId: ${env_pms_project_id} + notes: ${generate_paragraph(nb=6)} + attachmentIds: + - ${file_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + task_journal_id: $.data.id + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_project_issue_attachment_01 + - pms_get_project_issue_tags_01 + - pms_get_project_repo_list_01 + - pms_new_work_item_task_02 + - pms_project_issue_attachment_01 + +- + id: pms_work_item_add_journal_bug_03 + title: 工作项下添加评论 - 缺陷 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_bug_id} + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmProjectId: ${env_pms_project_id} + notes: ${generate_paragraph(nb=6)} + attachmentIds: + - ${file_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + bug_journal_id: $.data.id + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_project_issue_attachment_01 + - pms_get_project_issue_tags_01 + - pms_get_project_repo_list_01 + - pms_new_work_item_bug_03 + - pms_project_issue_attachment_01 + +- + id: pms_work_item_add_journal_reply_requirement_04 + title: 工作项下添加评论回复 - 需求 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_requirement_id} + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmProjectId: ${env_pms_project_id} + notes: ${generate_paragraph(nb=6)} + attachmentIds: + - ${file_id} + parentId: ${requirement_journal_id} + replyId: ${requirement_journal_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_project_issue_attachment_01 + - pms_get_project_issue_tags_01 + - pms_get_project_repo_list_01 + - pms_new_work_item_requirement_01 + - pms_project_issue_attachment_01 + - pms_work_item_add_journal_requirement_01 + - pms_project_issue_attachment_01 + +- + id: pms_work_item_add_journal_reply_task_05 + title: 工作项下添加评论回复 - 任务 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_task_id} + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmProjectId: ${env_pms_project_id} + notes: ${generate_paragraph(nb=6)} + attachmentIds: + - ${file_id} + parentId: ${task_journal_id} + replyId: ${task_journal_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_project_issue_attachment_01 + - pms_get_project_issue_tags_01 + - pms_get_project_repo_list_01 + - pms_new_work_item_task_02 + - pms_project_issue_attachment_01 + - pms_work_item_add_journal_task_02 + - pms_project_issue_attachment_01 + +- + id: pms_work_item_add_journal_reply_bug_06 + title: 工作项下添加评论回复 - 缺陷 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_bug_id} + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmProjectId: ${env_pms_project_id} + notes: ${generate_paragraph(nb=6)} + attachmentIds: + - ${file_id} + parentId: ${bug_journal_id} + replyId: ${bug_journal_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_get_project_member_list_01 + - pms_project_issue_attachment_01 + - pms_get_project_issue_tags_01 + - pms_get_project_repo_list_01 + - pms_new_work_item_bug_03 + - pms_project_issue_attachment_01 + - pms_work_item_add_journal_bug_03 + - pms_project_issue_attachment_01 \ No newline at end of file diff --git a/interface/pms/projects/work_item_journal/test_pms_work_item_delete_journal.yaml b/interface/pms/projects/work_item_journal/test_pms_work_item_delete_journal.yaml new file mode 100644 index 0000000..994cc11 --- /dev/null +++ b/interface/pms/projects/work_item_journal/test_pms_work_item_delete_journal.yaml @@ -0,0 +1,171 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目模块 + allure_story: 工作项 + case_markers: + - pms + - pms_project + - work_item + - usefixtures: gitlink_login + - skip: 还未完成,待后续完善 + + +case_info: +- + id: pms_work_item_delete_journal_requirement_01 + title: 工作项下删除评论 - 需求 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_requirement_id}/${requirement_journal_id} + method: DELETE + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmProjectId: ${env_pms_project_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + + +- + id: pms_work_item_delete_journal_task_02 + title: 工作项下删除评论 - 任务 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_task_id}/${task_journal_id} + method: DELETE + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmProjectId: ${env_pms_project_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + + +- + id: pms_work_item_delete_journal_bug_03 + title: 工作项下删除评论 - 缺陷 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_bug_id}/${bug_journal_id} + method: DELETE + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmProjectId: ${env_pms_project_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + + +- + id: pms_work_item_delete_journal_reply_requirement_04 + title: 工作项下删除评论回复 - 需求 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_requirement_id}/${requirement_journal_id} + method: DELETE + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmProjectId: ${env_pms_project_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + +- + id: pms_work_item_delete_journal_reply_task_05 + title: 工作项下删除评论回复 - 任务 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_task_id}/${task_journal_id} + method: DELETE + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmProjectId: ${env_pms_project_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + +- + id: pms_work_item_delete_journal_reply_bug_06 + title: 工作项下删除评论回复 - 缺陷 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_bug_id}/${bug_journal_id} + method: DELETE + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmProjectId: ${env_pms_project_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: \ No newline at end of file diff --git a/interface/pms/projects/work_item_journal/test_pms_work_item_edit_journal.yaml b/interface/pms/projects/work_item_journal/test_pms_work_item_edit_journal.yaml new file mode 100644 index 0000000..fce8729 --- /dev/null +++ b/interface/pms/projects/work_item_journal/test_pms_work_item_edit_journal.yaml @@ -0,0 +1,185 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目模块 + allure_story: 工作项 + case_markers: + - pms + - pms_project + - work_item + - usefixtures: gitlink_login + - skip: 还未完成,待后续完善 + + +case_info: +- + id: pms_work_item_edit_journal_requirement_01 + title: 工作项下编辑评论 - 需求 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_requirement_id} + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmProjectId: ${env_pms_project_id} + notes: ${generate_paragraph(nb=6)} + attachmentIds: + - ${file_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + + +- + id: pms_work_item_edit_journal_task_02 + title: 工作项下编辑评论 - 任务 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_task_id} + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmProjectId: ${env_pms_project_id} + notes: ${generate_paragraph(nb=6)} + attachmentIds: + - ${file_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + task_journal_id: $.data.id + case_dependence: + +- + id: pms_work_item_edit_journal_bug_03 + title: 工作项下编辑评论 - 缺陷 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_bug_id} + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmProjectId: ${env_pms_project_id} + notes: ${generate_paragraph(nb=6)} + attachmentIds: + - ${file_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + bug_journal_id: $.data.id + case_dependence: + +- + id: pms_work_item_edit_journal_reply_requirement_04 + title: 工作项下编辑评论回复 - 需求 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_requirement_id} + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmProjectId: ${env_pms_project_id} + notes: ${generate_paragraph(nb=6)} + attachmentIds: + - ${file_id} + parentId: ${requirement_journal_id} + replayId: ${requirement_journal_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + +- + id: pms_work_item_edit_journal_reply_task_05 + title: 工作项下编辑评论回复 - 任务 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_task_id} + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmProjectId: ${env_pms_project_id} + notes: ${generate_paragraph(nb=6)} + attachmentIds: + - ${file_id} + parentId: ${task_journal_id} + replayId: ${task_journal_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + +- + id: pms_work_item_edit_journal_reply_bug_06 + title: 工作项下编辑评论回复 - 缺陷 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_bug_id} + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmProjectId: ${env_pms_project_id} + notes: ${generate_paragraph(nb=6)} + attachmentIds: + - ${file_id} + parentId: ${bug_journal_id} + replayId: ${bug_journal_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: \ No newline at end of file diff --git a/interface/pms/repository/test_pms_get_enterprise_repo_list.yaml b/interface/pms/repository/test_pms_get_enterprise_repo_list.yaml new file mode 100644 index 0000000..3442b28 --- /dev/null +++ b/interface/pms/repository/test_pms_get_enterprise_repo_list.yaml @@ -0,0 +1,34 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 代码库 + allure_story: 代码库 + case_markers: + - pms + - pms_project + - usefixtures: gitlink_login + +case_info: +- + id: pms_get_enterprise_repo_list_01 + title: 获取企业下的代码库列表 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsRepository/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + enterpriseIdentifier: prefecture + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + repo_ids: $.rows[*].id \ No newline at end of file diff --git a/interface/pms/test_pms_get_enterprise_user_list.yaml b/interface/pms/test_pms_get_enterprise_user_list.yaml new file mode 100644 index 0000000..8596ab4 --- /dev/null +++ b/interface/pms/test_pms_get_enterprise_user_list.yaml @@ -0,0 +1,33 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 企业相关接口 + allure_story: 成员 + case_markers: + - pms + - usefixtures: gitlink_login + +case_info: +- + id: pms_get_enterprise_user_list_01 + title: 通过企业标识查询企业下用户列表 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsEnterprise/ByIdentifier/prefecture/userList + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + identifier: prefecture + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + assignee_ids: $.rows[*].gitlinkUserId \ No newline at end of file diff --git a/interface/pms/test_pms_upload_files.yaml b/interface/pms/test_pms_upload_files.yaml new file mode 100644 index 0000000..8b0a6ba --- /dev/null +++ b/interface/pms/test_pms_upload_files.yaml @@ -0,0 +1,33 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 上传文件模块 + allure_story: 上传文件 + case_markers: + - pms + - upload_file + - usefixtures: gitlink_login + +case_info: +- + id: pms_upload_file_01 + title: 上传附件(type=pms) + severity: + run: true + url: ${pms_host}/api/file/common/upload?type=pms + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: file + payload: + files: demo_test_upload.yaml + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + file_identifier: $.fileIdentifier diff --git a/test_case/conftest.py b/test_case/conftest.py index b5493e0..bbdba17 100644 --- a/test_case/conftest.py +++ b/test_case/conftest.py @@ -81,7 +81,7 @@ def pytest_collection_modifyitems(config, items): item.add_marker(allure.severity(allure.severity_level.NORMAL)) -@pytest.fixture(scope="session") +@pytest.fixture(scope="module") def gitlink_login(): """ 获取登录的cookie diff --git a/utils/data_utils/data_handle.py b/utils/data_utils/data_handle.py index fbaf8ad..cafd03a 100644 --- a/utils/data_utils/data_handle.py +++ b/utils/data_utils/data_handle.py @@ -205,6 +205,20 @@ def get_file_content(file_name): return None +def list_to_str(target: list): + """ + 将列表中的元素转换为字符串,并用逗号分隔。 + + :param target: 要转换为字符串的列表。 + :return: 以逗号分隔的字符串。 + """ + + # 过滤掉列表中的None值 + filtered_list = [str(item) for item in target if item is not None] + # 使用逗号连接字符串 + return ",".join(filtered_list) + + # 声明data_handle方法,这样外部就可以直接import data_handle来使用了 data_handle = DataHandle().data_handle diff --git a/utils/data_utils/faker_handle.py b/utils/data_utils/faker_handle.py index 8a3018b..eda70fe 100644 --- a/utils/data_utils/faker_handle.py +++ b/utils/data_utils/faker_handle.py @@ -226,16 +226,17 @@ class FakerData: @classmethod def generate_today_date(cls, fmt='%Y-%m-%d'): """获取今日0点整时间""" - - _today = date.today().strftime(fmt) + " 00:00:00" - return str(_today) + today = datetime.now().date() + if fmt == '%Y-%m-%d %H:%M:%S': + return today.strftime(fmt) + " 00:00:00" + return today.strftime(fmt) @classmethod def generate_time_after_week(cls, fmt='%Y-%m-%d'): """获取一周后12点整的时间""" - - _time_after_week = (date.today() + timedelta(days=+6)).strftime(fmt) + " 00:00:00" - return _time_after_week + if fmt == '%Y-%m-%d %H:%M:%S': + return (date.today() + timedelta(days=+6)).strftime(fmt) + " 00:00:00" + return (date.today() + timedelta(days=+6)).strftime(fmt) @classmethod def remove_special_characters(cls, target: str): diff --git a/utils/requests_utils/case_dependence.py b/utils/requests_utils/case_dependence.py index f2ab144..8182c2b 100644 --- a/utils/requests_utils/case_dependence.py +++ b/utils/requests_utils/case_dependence.py @@ -24,15 +24,15 @@ def case_dependence_handle(case_dependence, source): if case_dependence.get("interface"): interfaces = case_dependence["interface"] if isinstance(interfaces, str): - with allure.step(f"依赖接口:{interfaces}"): - api_data = get_api_data(api_file_path=INTERFACE_DIR, key=interfaces) + api_data = get_api_data(api_file_path=INTERFACE_DIR, key=interfaces) + with allure.step(f"依赖接口:{api_data['title']}({interfaces})"): result = api_work_flow(req_data=api_data, source=source) GLOBAL_VARS.update(result) elif isinstance(interfaces, list): for interface in interfaces: - with allure.step(f"依赖接口:{interface}"): - api_data = get_api_data(api_file_path=INTERFACE_DIR, key=interface) + api_data = get_api_data(api_file_path=INTERFACE_DIR, key=interface) + with allure.step(f"依赖接口:{api_data['title']}({interface})"): result = api_work_flow(req_data=api_data, source=source) GLOBAL_VARS.update(result) else: diff --git a/utils/requests_utils/request_control.py b/utils/requests_utils/request_control.py index 1d72c32..657c2eb 100644 --- a/utils/requests_utils/request_control.py +++ b/utils/requests_utils/request_control.py @@ -305,4 +305,5 @@ def after_request_extract(response: Response, extract): logger.info("\n-------------End:所有提取到的结果--------------------\n" f"后置提取参数(新): {result}\n" \ "================================================================================") + allure_step(f"参数提取结果:{result}") return result