diff --git a/config/settings.py b/config/settings.py index d922c27..ffa155f 100644 --- a/config/settings.py +++ b/config/settings.py @@ -41,15 +41,15 @@ ENV_VARS = { # 测试仓库 env_repo_owner/env_repo_identifier "env_repo_owner": "******", "env_repo_identifier": "******", - "env_project_id": "******", + "env_project_id": "", # pms相关环境变量 - 产品 - "env_pms_product_id": "******", + "env_pms_product_id": "", "env_pms_product_identifier": "******", # pms相关环境变量 - 项目 - "env_pms_project_id": "******", + "env_pms_project_id": "", # pms相关环境变量 - 企业 - "env_enterprise_identifier": "******", - "env_enterprise_id": "******", + "env_enterprise_identifier": "", + "env_enterprise_id": "", "env_organization_id": 249, "env_dept_id": 349, # 数据库配置 @@ -88,18 +88,23 @@ ENV_VARS = { "env_super_password": "******", "env_super_nickname": "******", "env_super_user_id": 36661, + # 测试账号 - 普通用户(测试仓库报告者) + "t_login": "******", + "t_password": "******", + "t_nickname": "******", + "t_user_id": 36670, # 测试仓库 env_repo_owner/env_repo_identifier "env_repo_owner": "****", "env_repo_identifier": "****", "env_project_id": "****", # pms相关环境变量 - 产品 - "env_pms_product_id": "******", - "env_pms_product_identifier": "******", + "env_pms_product_id": "", + "env_pms_product_identifier": "", # pms相关环境变量 - 项目 - "env_pms_project_id": "******", + "env_pms_project_id": "", # pms相关环境变量 - 企业 - "env_enterprise_identifier": "******", - "env_enterprise_id": "******", + "env_enterprise_identifier": "", + "env_enterprise_id": "", "env_organization_id": 36663, "env_dept_id": 331, # 数据库配置 @@ -145,7 +150,7 @@ ENV_VARS = { # 测试仓库 env_repo_owner/env_repo_identifier "env_repo_owner": "******", "env_repo_identifier": "******", - "env_project_id": "******", + "env_project_id": "", # pms相关环境变量 "env_pms_product_id": "", "env_pms_product_identifier": "", diff --git a/interface/gitlink/organization/test_gitlink_get_organization_detail.yaml b/interface/gitlink/organization/test_gitlink_get_organization_detail.yaml new file mode 100644 index 0000000..1f7a041 --- /dev/null +++ b/interface/gitlink/organization/test_gitlink_get_organization_detail.yaml @@ -0,0 +1,42 @@ +case_common: + allure_epic: GitLink接口 + allure_feature: 开源项目模块 + allure_story: 组织 + case_markers: + - gitlink + - projects + - gitea + - organization + - usefixtures: gitlink_login + +case_info: +- + id: gitlink_get_organization_detail_01 + title: 获取组织详情,获取成功 + severity: normal + run: True + url: /api/organizations/${org_identifier}.json + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + cookies: + request_type: json + payload: + files: + assert_response: + status_code: 200 + assert_id_in_response: + message: 断言接口返回的组织标识 + assert_type: == + expect_value: ${org_identifier} + type_jsonpath: $.name + assert_sql: + extract: + case_dependence: + setup: + # 新建组织 + interface: gitlink_new_organization_01 + teardown: + # 删除组织 + interface: gitlink_delete_organization_01 \ No newline at end of file diff --git a/interface/gitlink/organization/test_gitlink_new_organization.yaml b/interface/gitlink/organization/test_gitlink_new_organization.yaml index 57af51b..a6499c6 100644 --- a/interface/gitlink/organization/test_gitlink_new_organization.yaml +++ b/interface/gitlink/organization/test_gitlink_new_organization.yaml @@ -41,6 +41,9 @@ case_info: extract: type_jsonpath: org_id: $.id + org_identifier: $.name + org_name: $.nickname case_dependence: teardown: + # 删除组织 interface: gitlink_delete_organization_01 \ No newline at end of file diff --git a/interface/gitlink/projects/dataset/test_gitlink_repo_upload_dataset_file.yaml b/interface/gitlink/projects/dataset/test_gitlink_repo_upload_dataset_file.yaml index 5cc4515..3046af3 100644 --- a/interface/gitlink/projects/dataset/test_gitlink_repo_upload_dataset_file.yaml +++ b/interface/gitlink/projects/dataset/test_gitlink_repo_upload_dataset_file.yaml @@ -6,7 +6,6 @@ case_common: - gitlink - repo - dataset - - debug - usefixtures: gitlink_login # 前提条件:当前存找一个仓库,仓库已经创建数据集 diff --git a/interface/pms/docs/dir/test_pms_doc_delete_dir.yaml b/interface/pms/docs/dir/test_pms_doc_delete_dir.yaml index a6598a8..769b364 100644 --- a/interface/pms/docs/dir/test_pms_doc_delete_dir.yaml +++ b/interface/pms/docs/dir/test_pms_doc_delete_dir.yaml @@ -1,19 +1,20 @@ case_common: allure_epic: 项目管理 - allure_feature: 知识库 + allure_feature: 组织知识库 allure_story: 文件夹 case_markers: - pms - pms_docs - usefixtures: gitlink_login +# 前提条件:当前存在组织,组织下知识库存在文件夹 case_info: - - id: pms_doc_delete_dir_01 - title: 删除文件夹 + - id: pms_org_doc_delete_dir_01 + title: 组织知识库,删除文件夹,删除成功 run: True severity: blocker - url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/${dir_id} + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/${org_dir_id} method: DELETE headers: Content-Type: application/json; charset=utf-8; @@ -21,7 +22,6 @@ case_info: request_type: params payload: enterpriseId: ${env_enterprise_id} - projectId: 0 # 0表示不归属项目,是组件知识库 files: assert_response: status_code: 200 @@ -34,5 +34,7 @@ case_info: case_dependence: setup: interface: - - pms_doc_new_dir_01 - - pms_doc_get_dir_list_01 \ No newline at end of file + # 新建文件夹 + - pms_org_doc_new_dir_01 + # 获取文件夹id + - pms_org_doc_get_dir_list_by_name_02 \ No newline at end of file diff --git a/interface/pms/docs/dir/test_pms_doc_edit_dir.yaml b/interface/pms/docs/dir/test_pms_doc_edit_dir.yaml index b95e1fb..08446c7 100644 --- a/interface/pms/docs/dir/test_pms_doc_edit_dir.yaml +++ b/interface/pms/docs/dir/test_pms_doc_edit_dir.yaml @@ -1,26 +1,31 @@ case_common: allure_epic: 项目管理 - allure_feature: 知识库 + allure_feature: 组织知识库 allure_story: 文件夹 case_markers: - pms - pms_docs - usefixtures: gitlink_login +# 前提条件:当前存在组织,知识库存在文件夹 + common_dependence: setup: interface: - - pms_doc_new_dir_01 - - pms_doc_get_dir_list_01 + # 新建文件夹 + - pms_org_doc_new_dir_01 + # 获取文件夹id + - pms_org_doc_get_dir_list_01 teardown: interface: - - pms_doc_delete_dir_01 + # 删除文件夹 + - pms_org_doc_delete_dir_01 case_info: - - id: pms_doc_edit_dir_01 - title: 编辑文件夹 + - id: pms_org_doc_edit_dir_01 + title: 组织知识库,编辑文件夹,编辑成功 run: True severity: blocker url: ${pms_host}/api/pms/${env_enterprise_identifier}/document @@ -31,9 +36,9 @@ case_info: request_type: json payload: pmsEnterpriseId: ${env_enterprise_id} - pmsProjectId: 0 # 0表示不归属项目,是组件知识库 + pmsProjectId: 0 docType: 2 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 - id: ${dir_id} + id: ${org_dir_id} name: ${generate_paragraph(nb=1)} permission: ${random.choice([1,2,3])} # 权限 1-私有 2-全员读 3-全员读写 files: @@ -45,4 +50,70 @@ case_info: assert_type: == assert_sql: extract: + case_dependence: + + - id: pms_org_doc_edit_dir_02 + title: 组织知识库,编辑文件夹,名称为空,新增失败 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: 0 + parentId: 0 + docType: 1 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + id: ${org_dir_id} + name: + permission: ${random.choice([1,2,3])} # 权限 1-私有 2-全员读 3-全员读写 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: '[name]字段校验异常:must not be null' + assert_type: == + assertCode: + type_jsonpath: $.code + expect_value: 500 + assert_type: == + assert_sql: + extract: + case_dependence: + + - id: pms_org_doc_edit_dir_03 + title: 组织知识库,编辑文件夹,名称长度51,新增失败 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: 0 + parentId: 0 + docType: 1 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + id: ${org_dir_id} + name: ${faker.pystr(max_chars=51)} + permission: ${random.choice([1,2,3])} # 权限 1-私有 2-全员读 3-全员读写 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: '[name]字段校验异常:size must be between 1 and 50' + assert_type: == + assertCode: + type_jsonpath: $.code + expect_value: 500 + assert_type: == + assert_sql: + extract: case_dependence: \ No newline at end of file diff --git a/interface/pms/docs/dir/test_pms_doc_get_dir_detail.yaml b/interface/pms/docs/dir/test_pms_doc_get_dir_detail.yaml index a749e93..77e4b35 100644 --- a/interface/pms/docs/dir/test_pms_doc_get_dir_detail.yaml +++ b/interface/pms/docs/dir/test_pms_doc_get_dir_detail.yaml @@ -1,28 +1,32 @@ case_common: allure_epic: 项目管理 - allure_feature: 知识库 + allure_feature: 组织知识库 allure_story: 文件夹 case_markers: - pms - pms_docs - usefixtures: gitlink_login +# 前提条件:当前存在组织,组织下下知识库存在文件夹 + common_dependence: setup: interface: - - pms_doc_new_dir_01 - - pms_doc_get_dir_list_01 + # 新建文件夹 + - pms_org_doc_new_dir_01 + # 获取文件夹id + - pms_org_doc_get_dir_list_01 teardown: interface: - - pms_doc_delete_dir_01 - + # 删除文件夹 + - pms_org_doc_delete_dir_01 case_info: - - id: pms_doc_get_dir_detail_01 - title: 获取文件夹详情 + - id: pms_org_doc_get_dir_detail_01 + title: 组织知识库,获取文件夹详情,获取成功 run: True severity: blocker - url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/${dir_id} + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/${org_dir_id} method: GET headers: Content-Type: application/json; charset=utf-8; @@ -30,7 +34,6 @@ case_info: request_type: params payload: enterpriseId: ${env_enterprise_id} - projectId: 0 # 0表示不归属项目,是组件知识库 files: assert_response: status_code: 200 diff --git a/interface/pms/docs/dir/test_pms_doc_get_dir_list.yaml b/interface/pms/docs/dir/test_pms_doc_get_dir_list.yaml index 8a4f401..3bc66fe 100644 --- a/interface/pms/docs/dir/test_pms_doc_get_dir_list.yaml +++ b/interface/pms/docs/dir/test_pms_doc_get_dir_list.yaml @@ -1,16 +1,17 @@ case_common: allure_epic: 项目管理 - allure_feature: 知识库 + allure_feature: 组织知识库 allure_story: 文件夹 case_markers: - pms - pms_docs - usefixtures: gitlink_login +# 前提条件:当前存在组织,组织下下知识库存在文件夹 case_info: - - id: pms_doc_get_dir_list_01 - title: 获取文档列表 + - id: pms_org_doc_get_dir_list_01 + title: 组织知识库,获取文件夹列表,获取成功 run: True severity: blocker url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/list @@ -21,13 +22,13 @@ case_info: request_type: params payload: pmsEnterpriseId: ${env_enterprise_id} - pmsProjectId: 0 # 0表示不归属项目,是组件知识库 + pmsProjectId: 0 parentId: 0 pageNum: 1 pageSize: 10 - isCreatedOnly: false - name: test + isCreatedOnly: false # 是否仅筛选我创建的文档 true是 false否 docType: 1 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + isAsc: desc # 排序的方向desc或者asc,默认asc files: assert_response: status_code: 200 @@ -38,5 +39,39 @@ case_info: assert_sql: extract: type_jsonpath: - dir_id: $.rows[0].id + org_dir_id: $.rows[0].id + case_dependence: + + + - id: pms_org_doc_get_dir_list_by_name_02 + title: 组织知识库,通过文件夹名称关键字获取文件夹列表,获取成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: 0 + parentId: 0 + pageNum: 1 + pageSize: 10 + isCreatedOnly: false # 是否仅筛选我创建的文档 true是 false否 + name: test # 文档名称 + docType: 1 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + isAsc: desc # 排序的方向desc或者asc,默认asc + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + org_dir_id: $.rows[0].id case_dependence: \ No newline at end of file diff --git a/interface/pms/docs/dir/test_pms_doc_new_dir.yaml b/interface/pms/docs/dir/test_pms_doc_new_dir.yaml index 61908ec..c534dd8 100644 --- a/interface/pms/docs/dir/test_pms_doc_new_dir.yaml +++ b/interface/pms/docs/dir/test_pms_doc_new_dir.yaml @@ -1,16 +1,17 @@ case_common: allure_epic: 项目管理 - allure_feature: 知识库 + allure_feature: 组织知识库 allure_story: 文件夹 case_markers: - pms - pms_docs - usefixtures: gitlink_login +# 前提条件:当前存在组织 case_info: - - id: pms_doc_new_dir_01 - title: 新增文件夹 + - id: pms_org_doc_new_dir_01 + title: 组织知识库,新增文件夹,新增成功 run: True severity: blocker url: ${pms_host}/api/pms/${env_enterprise_identifier}/document @@ -21,10 +22,10 @@ case_info: request_type: json payload: pmsEnterpriseId: ${env_enterprise_id} - pmsProjectId: 0 # 0表示不归属项目,是组件知识库 + pmsProjectId: 0 parentId: 0 docType: 1 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 - name: test_${generate_words(nb=3)} + name: test_${generate_words(nb=3)} # 必填,长度50 permission: ${random.choice([1,2,3])} # 权限 1-私有 2-全员读 3-全员读写 files: assert_response: @@ -33,10 +34,80 @@ case_info: type_jsonpath: $.msg expect_value: 操作成功 assert_type: == + assertCode: + type_jsonpath: $.code + expect_value: 200 + assert_type: == assert_sql: extract: case_dependence: teardown: interface: - - pms_doc_get_dir_list_01 - - pms_doc_delete_dir_01 \ No newline at end of file + # 获取文件夹id + - pms_org_doc_get_dir_list_by_name_02 + # 删除文件夹 + - pms_org_doc_delete_dir_01 + + - id: pms_org_doc_new_dir_02 + title: 组织知识库,新增文件夹,名称为空,新增失败 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: 0 + parentId: 0 + docType: 1 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + name: + permission: ${random.choice([1,2,3])} # 权限 1-私有 2-全员读 3-全员读写 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: '[name]字段校验异常:must not be null' + assert_type: == + assertCode: + type_jsonpath: $.code + expect_value: 500 + assert_type: == + assert_sql: + extract: + case_dependence: + + - id: pms_org_doc_new_dir_03 + title: 组织知识库,新增文件夹,名称长度51,新增失败 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: 0 + parentId: 0 + docType: 1 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + name: ${faker.pystr(max_chars=51)} + permission: ${random.choice([1,2,3])} # 权限 1-私有 2-全员读 3-全员读写 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: '[name]字段校验异常:size must be between 1 and 50' + assert_type: == + assertCode: + type_jsonpath: $.code + expect_value: 500 + assert_type: == + assert_sql: + extract: + case_dependence: \ No newline at end of file diff --git a/interface/pms/docs/document/test_pms_doc_delete_document.yaml b/interface/pms/docs/document/test_pms_doc_delete_document.yaml index 66c4023..6c19b6f 100644 --- a/interface/pms/docs/document/test_pms_doc_delete_document.yaml +++ b/interface/pms/docs/document/test_pms_doc_delete_document.yaml @@ -1,19 +1,20 @@ case_common: allure_epic: 项目管理 - allure_feature: 知识库 + allure_feature: 组织知识库 allure_story: 文档 case_markers: - pms - pms_docs - usefixtures: gitlink_login +# 前提条件:当前存在组织,组织下知识库存在文档 case_info: - - id: pms_doc_delete_document_01 - title: 删除文档 + - id: pms_org_doc_delete_document_01 + title: 组织知识库,删除文档,删除成功 run: True severity: blocker - url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/${doc_id} + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/${org_document_id} method: DELETE headers: Content-Type: application/json; charset=utf-8; @@ -21,7 +22,6 @@ case_info: request_type: params payload: enterpriseId: ${env_enterprise_id} - projectId: 0 # 0表示不归属项目,是组件知识库 files: assert_response: status_code: 200 @@ -34,5 +34,7 @@ case_info: case_dependence: setup: interface: - - pms_doc_new_document_01 - - pms_doc_get_document_list_01 \ No newline at end of file + # 新建文档 + - pms_org_doc_new_document_01 + # 获取文档id + - pms_org_doc_get_document_list_by_name_02 \ No newline at end of file diff --git a/interface/pms/docs/document/test_pms_doc_edit_document.yaml b/interface/pms/docs/document/test_pms_doc_edit_document.yaml index cb8305e..31ad679 100644 --- a/interface/pms/docs/document/test_pms_doc_edit_document.yaml +++ b/interface/pms/docs/document/test_pms_doc_edit_document.yaml @@ -1,25 +1,30 @@ case_common: allure_epic: 项目管理 - allure_feature: 知识库 + allure_feature: 组织知识库 allure_story: 文档 case_markers: - pms - pms_docs - usefixtures: gitlink_login +# 前提条件:当前存在组织,组织下知识库存在文档 + common_dependence: setup: interface: - - pms_doc_new_document_01 - - pms_doc_get_document_list_01 + # 新建文档 + - pms_org_doc_new_document_01 + # 获取文档id + - pms_org_doc_get_document_list_01 teardown: interface: - - pms_doc_delete_document_01 + # 删除文档 + - pms_org_doc_delete_document_01 case_info: - - id: pms_doc_edit_document_01 - title: 编辑文档 + - id: pms_org_doc_edit_document_01 + title: 组织知识库,编辑文档,编辑成功 run: True severity: blocker url: ${pms_host}/api/pms/${env_enterprise_identifier}/document @@ -30,9 +35,9 @@ case_info: request_type: json payload: pmsEnterpriseId: ${env_enterprise_id} - pmsProjectId: 0 # 0表示不归属项目,是组件知识库 + pmsProjectId: 0 docType: 2 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 - id: ${doc_id} + id: ${org_document_id} name: ${generate_paragraph(nb=1)} permission: ${random.choice([1,2,3])} # 权限 1-私有 2-全员读 3-全员读写 content: ${generate_paragraph} @@ -45,4 +50,72 @@ case_info: assert_type: == assert_sql: extract: + case_dependence: + + - id: pms_org_doc_new_document_02 + title: 组织知识库,编辑文档,名称为空,编辑失败 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: 0 + parentId: 0 + docType: 2 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + id: ${org_document_id} + name: + permission: ${random.choice([1,2,3])} # 权限 1-私有 2-全员读 3-全员读写 + content: ${generate_paragraph} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: '[name]字段校验异常:must not be null' + assert_type: == + assertCode: + type_jsonpath: $.code + expect_value: 500 + assert_type: == + assert_sql: + extract: + case_dependence: + + - id: pms_org_doc_new_document_03 + title: 组织知识库,编辑文档,名称长度51,编辑失败 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: 0 + parentId: 0 + docType: 2 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + id: ${org_document_id} + name: ${faker.pystr(max_chars=51)} + permission: ${random.choice([1,2,3])} # 权限 1-私有 2-全员读 3-全员读写 + content: ${generate_paragraph} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: '[name]字段校验异常:size must be between 1 and 50' + assert_type: == + assertCode: + type_jsonpath: $.code + expect_value: 500 + assert_type: == + assert_sql: + extract: case_dependence: \ No newline at end of file diff --git a/interface/pms/docs/document/test_pms_doc_get_document_detail.yaml b/interface/pms/docs/document/test_pms_doc_get_document_detail.yaml index f4f82ed..965afd4 100644 --- a/interface/pms/docs/document/test_pms_doc_get_document_detail.yaml +++ b/interface/pms/docs/document/test_pms_doc_get_document_detail.yaml @@ -1,28 +1,32 @@ case_common: allure_epic: 项目管理 - allure_feature: 知识库 + allure_feature: 组织知识库 allure_story: 文档 case_markers: - pms - pms_docs - usefixtures: gitlink_login +# 前提条件:当前存在组织,组织下知识库存在文档 + common_dependence: setup: interface: - - pms_doc_new_document_01 - - pms_doc_get_document_list_01 + # 新建文档 + - pms_org_doc_new_document_01 + # 获取文档id + - pms_org_doc_get_document_list_01 teardown: interface: - - pms_doc_delete_document_01 - + # 删除文档 + - pms_org_doc_delete_document_01 case_info: - - id: pms_doc_get_document_detail_01 - title: 获取文档详情 + - id: pms_org_doc_get_document_detail_01 + title: 组织知识库,获取文档详情,获取成功 run: True severity: blocker - url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/${doc_id} + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/${org_document_id} method: GET headers: Content-Type: application/json; charset=utf-8; @@ -30,7 +34,6 @@ case_info: request_type: params payload: enterpriseId: ${env_enterprise_id} - projectId: 0 # 0表示不归属项目,是组件知识库 files: assert_response: status_code: 200 diff --git a/interface/pms/docs/document/test_pms_doc_get_document_list.yaml b/interface/pms/docs/document/test_pms_doc_get_document_list.yaml index d693dff..145aa3b 100644 --- a/interface/pms/docs/document/test_pms_doc_get_document_list.yaml +++ b/interface/pms/docs/document/test_pms_doc_get_document_list.yaml @@ -1,15 +1,17 @@ case_common: allure_epic: 项目管理 - allure_feature: 知识库 + allure_feature: 组织知识库 allure_story: 文档 case_markers: - pms - pms_docs - usefixtures: gitlink_login +# 前提条件:当前存在组织,组织知识库存在文档 + case_info: - - id: pms_doc_get_document_list_01 - title: 获取文档列表 + - id: pms_org_doc_get_document_list_01 + title: 组织知识库,获取文档列表,获取成功 run: True severity: blocker url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/list @@ -20,13 +22,13 @@ case_info: request_type: params payload: pmsEnterpriseId: ${env_enterprise_id} - pmsProjectId: 0 # 0表示不归属项目,是组件知识库 + pmsProjectId: 0 parentId: 0 pageNum: 1 pageSize: 10 - isCreatedOnly: false - name: test + isCreatedOnly: false # 是否仅筛选我创建的文档 true是 false否 docType: 2 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + isAsc: desc # 排序的方向desc或者asc,默认asc files: assert_response: status_code: 200 @@ -37,5 +39,39 @@ case_info: assert_sql: extract: type_jsonpath: - doc_id: $.rows[0].id + org_document_id: $.rows[0].id + case_dependence: + + + - id: pms_org_doc_get_document_list_by_name_02 + title: 组织知识库,通过文档名称关键字获取文档列表,获取成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: 0 + parentId: 0 + pageNum: 1 + pageSize: 10 + isCreatedOnly: false # 是否仅筛选我创建的文档 true是 false否 + name: test # 文档名称 + docType: 2 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + isAsc: desc # 排序的方向desc或者asc,默认asc + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + org_document_id: $.rows[0].id case_dependence: \ No newline at end of file diff --git a/interface/pms/docs/document/test_pms_doc_new_document.yaml b/interface/pms/docs/document/test_pms_doc_new_document.yaml index f6cba5d..cb77a35 100644 --- a/interface/pms/docs/document/test_pms_doc_new_document.yaml +++ b/interface/pms/docs/document/test_pms_doc_new_document.yaml @@ -1,15 +1,17 @@ case_common: allure_epic: 项目管理 - allure_feature: 知识库 + allure_feature: 组织知识库 allure_story: 文档 case_markers: - pms - pms_docs - usefixtures: gitlink_login +# 前提条件:当前存在组织 + case_info: - - id: pms_doc_new_document_01 - title: 新增文档 + - id: pms_org_doc_new_document_01 + title: 组织知识库,新增文档,新建成功 run: True severity: blocker url: ${pms_host}/api/pms/${env_enterprise_identifier}/document @@ -20,7 +22,7 @@ case_info: request_type: json payload: pmsEnterpriseId: ${env_enterprise_id} - pmsProjectId: 0 # 0表示不归属项目,是组件知识库 + pmsProjectId: 0 parentId: 0 docType: 2 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 name: test_${generate_words(nb=3)} @@ -38,5 +40,73 @@ case_info: case_dependence: teardown: interface: - - pms_doc_get_document_list_01 - - pms_doc_delete_document_01 \ No newline at end of file + # 通过名称关键字获取文档id + - pms_org_doc_get_document_list_by_name_02 + # 删除文档 + - pms_org_doc_delete_document_01 + + - id: pms_org_doc_new_document_02 + title: 组织知识库,新增文档,名称为空,新增失败 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: 0 + parentId: 0 + docType: 2 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + name: + permission: ${random.choice([1,2,3])} # 权限 1-私有 2-全员读 3-全员读写 + content: ${generate_paragraph} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: '[name]字段校验异常:must not be null' + assert_type: == + assertCode: + type_jsonpath: $.code + expect_value: 500 + assert_type: == + assert_sql: + extract: + case_dependence: + + - id: pms_org_doc_new_document_03 + title: 组织知识库,新增文档,名称长度51,新增失败 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: 0 + parentId: 0 + docType: 2 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + name: ${faker.pystr(max_chars=51)} + permission: ${random.choice([1,2,3])} # 权限 1-私有 2-全员读 3-全员读写 + content: ${generate_paragraph} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: '[name]字段校验异常:size must be between 1 and 50' + assert_type: == + assertCode: + type_jsonpath: $.code + expect_value: 500 + assert_type: == + assert_sql: + extract: + case_dependence: \ No newline at end of file diff --git a/interface/pms/docs/file/test_pms_doc_delete_file.yaml b/interface/pms/docs/file/test_pms_doc_delete_file.yaml index 51e2244..b56c249 100644 --- a/interface/pms/docs/file/test_pms_doc_delete_file.yaml +++ b/interface/pms/docs/file/test_pms_doc_delete_file.yaml @@ -1,19 +1,20 @@ case_common: allure_epic: 项目管理 - allure_feature: 知识库 + allure_feature: 组织知识库 allure_story: 文件 case_markers: - pms - pms_docs - usefixtures: gitlink_login +# 前提条件:当前存在组织,组织下知识库存文件 case_info: - - id: pms_doc_delete_file_01 - title: 删除文件 + - id: pms_org_doc_delete_file_01 + title: 组织知识库,删除文件,删除成功 run: True severity: blocker - url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/${file_id} + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/${org_file_id} method: DELETE headers: Content-Type: application/json; charset=utf-8; @@ -21,7 +22,6 @@ case_info: request_type: params payload: enterpriseId: ${env_enterprise_id} - projectId: 0 # 0表示不归属项目,是组件知识库 files: assert_response: status_code: 200 @@ -34,5 +34,7 @@ case_info: case_dependence: setup: interface: - - pms_doc_upload_file_01 - - pms_doc_get_file_list_01 \ No newline at end of file + # 上传文件 + - pms_org_doc_upload_file_01 + # 获取文件id + - pms_org_doc_get_file_list_by_name_02 \ No newline at end of file diff --git a/interface/pms/docs/file/test_pms_doc_get_file_detail.yaml b/interface/pms/docs/file/test_pms_doc_get_file_detail.yaml index 229b54a..f4a6896 100644 --- a/interface/pms/docs/file/test_pms_doc_get_file_detail.yaml +++ b/interface/pms/docs/file/test_pms_doc_get_file_detail.yaml @@ -1,29 +1,33 @@ - case_common: allure_epic: 项目管理 - allure_feature: 知识库 + allure_feature: 组织知识库 allure_story: 文件 case_markers: - pms - pms_docs - usefixtures: gitlink_login +# 前提条件:当前存在组织,组织下知识库存文件 + common_dependence: setup: interface: - - pms_doc_upload_file_01 - - pms_doc_get_file_list_01 + # 上传文件 + - pms_org_doc_upload_file_01 + # 获取文件id + - pms_org_doc_get_file_list_by_name_02 teardown: interface: - - pms_doc_delete_file_01 + # 删除文件 + - pms_org_doc_delete_file_01 case_info: - - id: pms_doc_get_file_detail_01 - title: 获取文件详情 + - id: pms_org_doc_get_file_detail_01 + title: 组织知识库,获取文件详情,获取成功 run: True severity: blocker - url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/${file_id} + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/${org_file_id} method: GET headers: Content-Type: application/json; charset=utf-8; @@ -31,7 +35,6 @@ case_info: request_type: params payload: enterpriseId: ${env_enterprise_id} - projectId: 0 # 0表示不归属项目,是组件知识库 files: assert_response: status_code: 200 diff --git a/interface/pms/docs/file/test_pms_doc_get_file_list.yaml b/interface/pms/docs/file/test_pms_doc_get_file_list.yaml index 4edced6..65b7119 100644 --- a/interface/pms/docs/file/test_pms_doc_get_file_list.yaml +++ b/interface/pms/docs/file/test_pms_doc_get_file_list.yaml @@ -1,16 +1,17 @@ case_common: allure_epic: 项目管理 - allure_feature: 知识库 - allure_story: 文件 + allure_feature: 组织知识库 + allure_story: 文档 case_markers: - pms - pms_docs - usefixtures: gitlink_login +# 前提条件:当前存在组织,组织下知识库存文件 case_info: - - id: pms_doc_get_file_list_01 - title: 获取文件列表 + - id: pms_org_doc_get_file_list_01 + title: 组织知识库,获取文档列表,获取成功 run: True severity: blocker url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/list @@ -21,13 +22,13 @@ case_info: request_type: params payload: pmsEnterpriseId: ${env_enterprise_id} - pmsProjectId: 0 # 0表示不归属项目,是组件知识库 + pmsProjectId: 0 parentId: 0 pageNum: 1 pageSize: 10 - isCreatedOnly: false - name: test - docType: 3 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + isCreatedOnly: false # 是否仅筛选我创建的文档 true是 false否 + docType: 3 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + isAsc: desc # 排序的方向desc或者asc,默认asc files: assert_response: status_code: 200 @@ -38,5 +39,39 @@ case_info: assert_sql: extract: type_jsonpath: - file_id: $.rows[0].id + org_file_id: $.rows[0].id + case_dependence: + + + - id: pms_org_doc_get_file_list_by_name_02 + title: 组织知识库,通过文档名称关键字获取文档列表,获取成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: 0 + parentId: 0 + pageNum: 1 + pageSize: 10 + isCreatedOnly: false # 是否仅筛选我创建的文档 true是 false否 + name: test # 文档名称 + docType: 3 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + isAsc: desc # 排序的方向desc或者asc,默认asc + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + org_file_id: $.rows[0].id case_dependence: \ No newline at end of file diff --git a/interface/pms/docs/file/test_pms_doc_upload_file.yaml b/interface/pms/docs/file/test_pms_doc_upload_file.yaml index 3a2e519..aa0b796 100644 --- a/interface/pms/docs/file/test_pms_doc_upload_file.yaml +++ b/interface/pms/docs/file/test_pms_doc_upload_file.yaml @@ -1,16 +1,17 @@ case_common: allure_epic: 项目管理 - allure_feature: 知识库 + allure_feature: 组织知识库 allure_story: 文件 case_markers: - pms - pms_docs - usefixtures: gitlink_login +# 前提条件:当前存在组织 case_info: - - id: pms_doc_upload_file_01 - title: 上传文件 + - id: pms_org_doc_upload_file_01 + title: 组织知识库,上传文件,上传成功 run: True severity: blocker url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/fileType @@ -21,7 +22,7 @@ case_info: request_type: json payload: pmsEnterpriseId: ${env_enterprise_id} - pmsProjectId: 0 # 0表示不归属项目,是组件知识库 + pmsProjectId: 0 parentId: 0 docType: 3 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 names: test_${generate_words}_${file_name} @@ -38,14 +39,17 @@ case_info: extract: case_dependence: setup: - interface: pms_upload_file_01 + # 上传文件,获取文件标识 + interface: pms_upload_file_org_doc_03 teardown: interface: - - pms_doc_get_file_list_01 - - pms_doc_delete_file_01 + # 获取文件id + - pms_org_doc_get_file_list_by_name_02 + # 删除文件 + - pms_org_doc_delete_file_01 - - id: pms_doc_upload_file_02 - title: 上传文件, 文件类型传递错误,上传失败 + - id: pms_org_doc_upload_file_02 + title: 组织知识库,上传文件, 文件类型传递错误,上传失败 run: True severity: blocker url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/fileType @@ -56,7 +60,7 @@ case_info: request_type: json payload: pmsEnterpriseId: ${env_enterprise_id} - pmsProjectId: 0 # 0表示不归属项目,是组件知识库 + pmsProjectId: 0 parentId: 0 docType: 4 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 names: test_${generate_words}_${file_name} @@ -73,4 +77,5 @@ case_info: extract: case_dependence: setup: - interface: pms_upload_file_01 + # 上传文件,获取文件标识 + interface: pms_upload_file_org_doc_03 diff --git a/interface/pms/docs/wiki/test_pms_doc_delete_wiki.yaml b/interface/pms/docs/wiki/test_pms_doc_delete_wiki.yaml index 9c2164d..e0f5d30 100644 --- a/interface/pms/docs/wiki/test_pms_doc_delete_wiki.yaml +++ b/interface/pms/docs/wiki/test_pms_doc_delete_wiki.yaml @@ -1,21 +1,20 @@ case_common: allure_epic: 项目管理 - allure_feature: 知识库 + allure_feature: 组织知识库 allure_story: wiki库 case_markers: - pms - pms_docs - usefixtures: gitlink_login -common_dependence: - +# 前提条件:当前存在组织,组织下存在项目,项目知识库下存在wiki case_info: - - id: pms_doc_delete_wiki_01 - title: 删除wiki库 + - id: pms_org_doc_delete_wiki_01 + title: 组织知识库,删除wiki库,删除成功 run: True severity: blocker - url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/${wiki_id} + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/${org_wiki_id} method: DELETE headers: Content-Type: application/json; charset=utf-8; @@ -23,7 +22,6 @@ case_info: request_type: params payload: enterpriseId: ${env_enterprise_id} - projectId: 0 # 0表示不归属项目,是组件知识库 files: assert_response: status_code: 200 @@ -36,6 +34,11 @@ case_info: case_dependence: setup: interface: - - pms_doc_get_optional_wiki_repo_list_01 - - pms_doc_export_wiki_01 - - pms_doc_get_wiki_list_01 \ No newline at end of file + # 新建代码库 + - pms_new_repo_01 + # 获取可导入的wiki库 + - pms_org_doc_get_optional_wiki_repo_list_01 + # 导入wiki库 + - pms_org_doc_export_wiki_01 + # 获取已导入的wiki库id + - pms_org_doc_get_wiki_list_by_name_02 \ No newline at end of file diff --git a/interface/pms/docs/wiki/test_pms_doc_export_wiki.yaml b/interface/pms/docs/wiki/test_pms_doc_export_wiki.yaml index 0672c31..c60767b 100644 --- a/interface/pms/docs/wiki/test_pms_doc_export_wiki.yaml +++ b/interface/pms/docs/wiki/test_pms_doc_export_wiki.yaml @@ -1,15 +1,17 @@ case_common: allure_epic: 项目管理 - allure_feature: 知识库 + allure_feature: 组织知识库 allure_story: wiki库 case_markers: - pms - pms_docs - usefixtures: gitlink_login +# 前提条件:当前存在组织,组织下存在仓库(新建代码库) + case_info: - - id: pms_doc_export_wiki_01 - title: 导入wiki库 + - id: pms_org_doc_export_wiki_01 + title: 组织知识库,导入wiki库,导入成功 run: True severity: blocker url: ${pms_host}/api/pms/${env_enterprise_identifier}/document @@ -20,12 +22,12 @@ case_info: request_type: json payload: pmsEnterpriseId: ${env_enterprise_id} - pmsProjectId: 0 # 0表示不归属项目,是组件知识库 + pmsProjectId: 0 parentId: 0 docType: 4 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 - name: test_${optional_wiki_repo_name} + name: test_${org_optional_wiki_repo_name} permission: 2 # 权限 1-私有 2-全员读 3-全员读写 - wikiGitlinkRepoId: ${optional_wiki_repo_id} + wikiGitlinkRepoId: ${org_optional_wiki_repo_id} files: assert_response: status_code: 200 @@ -37,8 +39,16 @@ case_info: extract: case_dependence: setup: - interface: pms_doc_get_optional_wiki_repo_list_01 + interface: + # 新建代码库 + - pms_new_repo_01 + # 获取可导入的wiki库 + - pms_org_doc_get_optional_wiki_repo_list_01 teardown: interface: - - pms_doc_get_wiki_list_01 - - pms_doc_delete_wiki_01 \ No newline at end of file + # 获取已导入的wiki库id + - pms_org_doc_get_wiki_list_by_name_02 + # 删除导入的wiki库 + - pms_org_doc_delete_wiki_01 + # 删除代码库 + - pms_delete_repo_01 \ No newline at end of file diff --git a/interface/pms/docs/wiki/test_pms_doc_get_optional_wiki_repo_list.yaml b/interface/pms/docs/wiki/test_pms_doc_get_optional_wiki_repo_list.yaml index e1b7326..d5c5a87 100644 --- a/interface/pms/docs/wiki/test_pms_doc_get_optional_wiki_repo_list.yaml +++ b/interface/pms/docs/wiki/test_pms_doc_get_optional_wiki_repo_list.yaml @@ -1,16 +1,17 @@ case_common: allure_epic: 项目管理 - allure_feature: 知识库 + allure_feature: 组织知识库 allure_story: wiki库 case_markers: - pms - pms_docs - usefixtures: gitlink_login +# 前提条件:当前存在组织,组织下存在仓库 case_info: - - id: pms_doc_get_optional_wiki_repo_list_01 - title: 获取导入wiki库可选仓库列表 + - id: pms_org_doc_get_optional_wiki_repo_list_01 + title: 组织知识库,获取导入wiki库可选仓库列表 run: True severity: blocker url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/optionalWikiRepoList @@ -20,8 +21,8 @@ case_info: cookies: ${cookies} request_type: params payload: - enterpriseIdentifier : ${env_enterprise_identifier} enterpriseId: ${env_enterprise_id} + projectId: 0 page: 1 limit: 15 files: @@ -34,6 +35,6 @@ case_info: assert_sql: extract: type_jsonpath: - optional_wiki_repo_id: $.data.projects[0].id - optional_wiki_repo_name: $.data.projects[0].name + org_optional_wiki_repo_id: $.data.projects[0].id + org_optional_wiki_repo_name: $.data.projects[0].name case_dependence: \ No newline at end of file diff --git a/interface/pms/docs/wiki/test_pms_doc_get_wiki_detail.yaml b/interface/pms/docs/wiki/test_pms_doc_get_wiki_detail.yaml index 9dd1fef..79d4d6a 100644 --- a/interface/pms/docs/wiki/test_pms_doc_get_wiki_detail.yaml +++ b/interface/pms/docs/wiki/test_pms_doc_get_wiki_detail.yaml @@ -1,28 +1,39 @@ case_common: allure_epic: 项目管理 - allure_feature: 知识库 + allure_feature: 组织知识库 allure_story: wiki库 case_markers: - pms - pms_docs - usefixtures: gitlink_login +# 前提条件:当前存在组织,组织下知识库存在wiki + common_dependence: setup: interface: - - pms_doc_export_wiki_01 - - pms_doc_get_wiki_list_01 + # 新建代码库 + - pms_new_repo_01 + # 获取可导入的wiki库 + - pms_org_doc_get_optional_wiki_repo_list_01 + # 导入wiki库 + - pms_org_doc_export_wiki_01 + # 获取已导入的wiki库id + - pms_org_doc_get_wiki_list_by_name_02 teardown: interface: - - pms_doc_delete_wiki_01 + # 删除导入的wiki库 + - pms_org_doc_delete_wiki_01 + # 删除代码库 + - pms_delete_repo_01 case_info: - - id: pms_doc_get_wiki_detail_01 + - id: pms_org_doc_get_wiki_detail_01 title: 获取wiki库详情 run: True severity: blocker - url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/${wiki_id} + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/${org_wiki_id} method: GET headers: Content-Type: application/json; charset=utf-8; @@ -30,7 +41,6 @@ case_info: request_type: params payload: enterpriseId: ${env_enterprise_id} - projectId: 0 # 0表示不归属项目,是组件知识库 files: assert_response: status_code: 200 diff --git a/interface/pms/docs/wiki/test_pms_doc_get_wiki_list.yaml b/interface/pms/docs/wiki/test_pms_doc_get_wiki_list.yaml index 2c6e493..34994f2 100644 --- a/interface/pms/docs/wiki/test_pms_doc_get_wiki_list.yaml +++ b/interface/pms/docs/wiki/test_pms_doc_get_wiki_list.yaml @@ -1,15 +1,17 @@ case_common: allure_epic: 项目管理 - allure_feature: 知识库 + allure_feature: 组织知识库 allure_story: wiki库 case_markers: - pms - pms_docs - usefixtures: gitlink_login +# 前提条件:当前存在组织,组织下知识库存在wiki + case_info: - - id: pms_doc_get_wiki_list_01 - title: 获取wiki库列表 + - id: pms_org_doc_get_wiki_list_01 + title: 组织知识库,获取wiki列表,获取成功 run: True severity: blocker url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/list @@ -20,13 +22,13 @@ case_info: request_type: params payload: pmsEnterpriseId: ${env_enterprise_id} - pmsProjectId: 0 # 0表示不归属项目,是组件知识库 + pmsProjectId: 0 parentId: 0 pageNum: 1 pageSize: 10 - isCreatedOnly: false - name: test - docType: 4 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + isCreatedOnly: false # 是否仅筛选我创建的wiki true是 false否 + docType: 4 # 文件类型 1-wiki目录 2-wiki 3-附件 4-wiki库 + isAsc: desc # 排序的方向desc或者asc,默认asc files: assert_response: status_code: 200 @@ -37,5 +39,39 @@ case_info: assert_sql: extract: type_jsonpath: - wiki_id: $.rows[0].id + org_wiki_id: $.rows[0].id + case_dependence: + + + - id: pms_org_doc_get_wiki_list_by_name_02 + title: 组织知识库,通过wiki名称关键字获取wiki列表,获取成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: 0 + parentId: 0 + pageNum: 1 + pageSize: 10 + isCreatedOnly: false # 是否仅筛选我创建的wiki true是 false否 + name: test # wiki名称 + docType: 4 # 文件类型 1-wiki目录 2-wiki 3-附件 4-wiki库 + isAsc: desc # 排序的方向desc或者asc,默认asc + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + org_wiki_id: $.rows[0].id case_dependence: \ No newline at end of file diff --git a/interface/pms/members/test_pms_add_member.yaml b/interface/pms/members/test_pms_add_member.yaml new file mode 100644 index 0000000..4cf5195 --- /dev/null +++ b/interface/pms/members/test_pms_add_member.yaml @@ -0,0 +1,55 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 企业相关接口 + allure_story: 成员 + case_markers: + - pms + - pms_member + - usefixtures: gitlink_login + +# 前提条件:当前存在组织,平台存在用户未进入组织 (这里添加的用户用的是平台内置的用户t_login) + +case_info: +- + id: pms_add_member_01 + title: 组织添加成员,添加成功 + run: True + severity: normal + url: ${pms_host}/api/system/SysUserDeptRole/dept/${env_dept_id}/GitLinkUser + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + - + roleId: ${role_id} + gitLinkUserId: ${gitlink_user_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assertCode: + type_jsonpath: $.code + expect_value: 200 + assert_type: == + assert_sql: + extract: + type_jsonpath: + gitlink_user_ids: $.rows[?(@.isChoose == False)].user_id + case_dependence: + setup: + interface: + # 获取可选角色列表 + - pms_get_role_list_01 + # 获取可添加的用户id + - pms_get_gitlink_user_list_by_name_02 + teardown: + interface: + # 获取组织成员的user_id + - pms_get_member_list_by_name_02 + # 删除组织成员 + - pms_remove_member_01 \ No newline at end of file diff --git a/interface/pms/members/test_pms_get_gitlink_user_list.yaml b/interface/pms/members/test_pms_get_gitlink_user_list.yaml new file mode 100644 index 0000000..5b103a3 --- /dev/null +++ b/interface/pms/members/test_pms_get_gitlink_user_list.yaml @@ -0,0 +1,72 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 企业相关接口 + allure_story: 成员 + case_markers: + - pms + - pms_member + - usefixtures: gitlink_login + +# 前提条件:当前存在组织 + +case_info: +- + id: pms_get_gitlink_user_list_01 + title: 获取gitlink用户列表,获取成功 + run: True + severity: normal + url: ${pms_host}/api/system/SysUserDeptRole/dept/${env_dept_id}/gitlinkUserList + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + page: 1 + limit: 8 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assertCode: + type_jsonpath: $.code + expect_value: 200 + assert_type: == + assert_sql: + extract: + type_jsonpath: + gitlink_user_ids: $.rows[?(@.isChoose == False)].user_id + +- + id: pms_get_gitlink_user_list_by_name_02 + title: 通过用户昵称关键字,获取gitlink用户列表,获取成功 + run: True + severity: normal + url: ${pms_host}/api/system/SysUserDeptRole/dept/${env_dept_id}/gitlinkUserList + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + page: 1 + limit: 8 + search: ${t_nickname} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assertCode: + type_jsonpath: $.code + expect_value: 200 + assert_type: == + assert_sql: + extract: + type_jsonpath: + gitlink_user_id: $.rows[0].user_id \ No newline at end of file diff --git a/interface/pms/members/test_pms_get_member_list.yaml b/interface/pms/members/test_pms_get_member_list.yaml new file mode 100644 index 0000000..7567e36 --- /dev/null +++ b/interface/pms/members/test_pms_get_member_list.yaml @@ -0,0 +1,72 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 企业相关接口 + allure_story: 成员 + case_markers: + - pms + - pms_member + - usefixtures: gitlink_login + +# 前提条件:当前存在组织,组织下存在成员 + +case_info: +- + id: pms_get_member_list_01 + title: 获取组织成员列表,获取成功 + run: True + severity: normal + url: ${pms_host}/api/system/SysUserDeptRole/dept/${env_dept_id}/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + page: 1 + limit: 15 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assertCode: + type_jsonpath: $.code + expect_value: 200 + assert_type: == + assert_sql: + extract: + type_jsonpath: + enterprise_user_ids: $.rows[*].userId + +- + id: pms_get_member_list_by_name_02 + title: 根据用户昵称关键字,获取组织成员列表,获取成功 + run: True + severity: normal + url: ${pms_host}/api/system/SysUserDeptRole/dept/${env_dept_id}/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + page: 1 + limit: 15 + nickName: ${t_nickname} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assertCode: + type_jsonpath: $.code + expect_value: 200 + assert_type: == + assert_sql: + extract: + type_jsonpath: + enterprise_user_id: $.rows[0].userId \ No newline at end of file diff --git a/interface/pms/members/test_pms_remove_member.yaml b/interface/pms/members/test_pms_remove_member.yaml new file mode 100644 index 0000000..9f31f73 --- /dev/null +++ b/interface/pms/members/test_pms_remove_member.yaml @@ -0,0 +1,50 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 企业相关接口 + allure_story: 成员 + case_markers: + - pms + - pms_member + - usefixtures: gitlink_login + +# 前提条件:当前存在组织,组织存在成员 + +common_dependence: + setup: + interface: + # 获取可选角色列表 + - pms_get_role_list_01 + # 获取可添加的用户id + - pms_get_gitlink_user_list_by_name_02 + # 组织添加成员 + - pms_add_member_01 + # 获取组织成员的user_id + - pms_get_member_list_by_name_02 + +case_info: +- + id: pms_remove_member_01 + title: 组织移除成员,移除成功 + run: True + severity: normal + url: ${pms_host}/api/system/SysUserDeptRole/dept/${env_dept_id}/users/${enterprise_user_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: == + assertCode: + type_jsonpath: $.code + expect_value: 200 + assert_type: == + assert_sql: + extract: + case_dependence: \ No newline at end of file diff --git a/interface/pms/open_close_enterprise/test_pms_close_enterprise.yaml b/interface/pms/open_close_enterprise/test_pms_close_enterprise.yaml new file mode 100644 index 0000000..df6faa6 --- /dev/null +++ b/interface/pms/open_close_enterprise/test_pms_close_enterprise.yaml @@ -0,0 +1,85 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 组织 + allure_story: 开通/关闭工作台 + case_markers: + - pms + - usefixtures: gitlink_login + +# 前提条件:当前存在gitlink组织,组织已开通工作台 + +case_info: +- + id: pms_close_enterprise_01 + title: 密码正确,关闭工作台,关闭成功 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsEnterprise/${org_identifier} + method: DELETE + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + password: ${env_password} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assertCode: + type_jsonpath: $.code + expect_value: 200 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + # 新建组织,获取组织id + - gitlink_new_organization_01 + # 开通组织工作台 + - pms_open_enterprise_01 + teardown: + # 删除组织 + - gitlink_delete_organization_01 + +- + id: pms_close_enterprise_02 + title: 密码错误关闭工作台,关闭失败 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsEnterprise/${org_identifier} + method: DELETE + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + password: ${env_password} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assertCode: + type_jsonpath: $.code + expect_value: 200 + assert_type: == + assert_sql: + extract: + case_dependence: + teardown: + setup: + interface: + # 新建组织,获取组织id + - gitlink_new_organization_01 + # 开通组织工作台 + - pms_open_enterprise_01 + teardown: + # 删除组织 + - gitlink_delete_organization_01 diff --git a/interface/pms/open_close_enterprise/test_pms_open_enterprise.yaml b/interface/pms/open_close_enterprise/test_pms_open_enterprise.yaml new file mode 100644 index 0000000..92b9cae --- /dev/null +++ b/interface/pms/open_close_enterprise/test_pms_open_enterprise.yaml @@ -0,0 +1,54 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 组织 + allure_story: 开通/关闭工作台 + case_markers: + - pms + - debug + - usefixtures: gitlink_login + +# 前提条件:当前存在gitlink组织,组织未开通工作台 + +common_dependence: + setup: + interface: + # 新建组织,获取组织id + - gitlink_new_organization_01 + +case_info: +- + id: pms_open_enterprise_01 + title: gitlink组织owner成员开通工作台,开通成功 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsEnterprise/createByGitlinkOrgId/${org_id} + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + # 这里的参数我直接写死了,因为就是当前测试账号创建的组织,组织内只有一个成员 + - + userId: ${env_user_id} + roleKey: pms_org_admin + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assertCode: + type_jsonpath: $.code + expect_value: 200 + assert_type: == + assert_sql: + extract: + case_dependence: + teardown: + interface: + # 删除组织工作台 + - pms_close_enterprise_01 + # 删除组织 + - gitlink_delete_organization_01 \ No newline at end of file diff --git a/interface/pms/projects/docs/dir/test_pms_project_doc_delete_dir.yaml b/interface/pms/projects/docs/dir/test_pms_project_doc_delete_dir.yaml new file mode 100644 index 0000000..e5f2400 --- /dev/null +++ b/interface/pms/projects/docs/dir/test_pms_project_doc_delete_dir.yaml @@ -0,0 +1,41 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目知识库 + allure_story: 文件夹 + case_markers: + - pms + - pms_project + - pms_docs + - usefixtures: gitlink_login + +# 前提条件:当前存在组织,组织下存在项目, 项目下知识库存在文件夹 + +case_info: + - id: pms_project_doc_delete_dir_01 + title: 项目知识库,删除文件夹,删除成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/${project_dir_id} + method: DELETE + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + enterpriseId: ${env_enterprise_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + # 新建文件夹 + - pms_project_doc_new_dir_01 + # 获取文件夹id + - pms_project_doc_get_dir_list_by_name_02 \ No newline at end of file diff --git a/interface/pms/projects/docs/dir/test_pms_project_doc_edit_dir.yaml b/interface/pms/projects/docs/dir/test_pms_project_doc_edit_dir.yaml new file mode 100644 index 0000000..8ae7637 --- /dev/null +++ b/interface/pms/projects/docs/dir/test_pms_project_doc_edit_dir.yaml @@ -0,0 +1,120 @@ + +case_common: + allure_epic: 项目管理 + allure_feature: 项目知识库 + allure_story: 文件夹 + case_markers: + - pms + - pms_project + - pms_docs + - usefixtures: gitlink_login + +# 前提条件:当前存在组织,组织下存在项目, 项目下知识库存在文件夹 + +common_dependence: + setup: + interface: + # 新建文件夹 + - pms_project_doc_new_dir_01 + # 获取文件夹id + - pms_project_doc_get_dir_list_01 + teardown: + interface: + # 删除文件夹 + - pms_project_doc_delete_dir_01 + + +case_info: + - id: pms_project_doc_edit_dir_01 + title: 项目知识库,编辑文件夹,编辑成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: ${env_pms_project_id} + docType: 2 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + id: ${project_dir_id} + name: ${generate_paragraph(nb=1)} + permission: ${random.choice([1,2,3])} # 权限 1-私有 2-全员读 3-全员读写 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + + - id: pms_project_doc_edit_dir_02 + title: 项目知识库,编辑文件夹,名称为空,新增失败 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: ${env_pms_project_id} + parentId: 0 + docType: 1 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + id: ${project_dir_id} + name: + permission: ${random.choice([1,2,3])} # 权限 1-私有 2-全员读 3-全员读写 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: '[name]字段校验异常:must not be null' + assert_type: == + assertCode: + type_jsonpath: $.code + expect_value: 500 + assert_type: == + assert_sql: + extract: + case_dependence: + + - id: pms_project_doc_edit_dir_03 + title: 项目知识库,编辑文件夹,名称长度51,新增失败 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: ${env_pms_project_id} + parentId: 0 + docType: 1 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + id: ${project_dir_id} + name: ${faker.pystr(max_chars=51)} + permission: ${random.choice([1,2,3])} # 权限 1-私有 2-全员读 3-全员读写 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: '[name]字段校验异常:size must be between 1 and 50' + assert_type: == + assertCode: + type_jsonpath: $.code + expect_value: 500 + assert_type: == + assert_sql: + extract: + case_dependence: \ No newline at end of file diff --git a/interface/pms/projects/docs/dir/test_pms_project_doc_get_dir_detail.yaml b/interface/pms/projects/docs/dir/test_pms_project_doc_get_dir_detail.yaml new file mode 100644 index 0000000..210ccde --- /dev/null +++ b/interface/pms/projects/docs/dir/test_pms_project_doc_get_dir_detail.yaml @@ -0,0 +1,47 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目知识库 + allure_story: 文件夹 + case_markers: + - pms + - pms_project + - pms_docs + - usefixtures: gitlink_login + +# 前提条件:当前存在组织,组织下存在项目, 项目下知识库存在文件夹 + +common_dependence: + setup: + interface: + # 新建文件夹 + - pms_project_doc_new_dir_01 + # 获取文件夹id + - pms_project_doc_get_dir_list_01 + teardown: + interface: + # 删除文件夹 + - pms_project_doc_delete_dir_01 + +case_info: + - id: pms_project_doc_get_dir_detail_01 + title: 项目知识库,获取文件夹详情,获取成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/${project_dir_id} + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + enterpriseId: ${env_enterprise_id} + 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/docs/dir/test_pms_project_doc_get_dir_list.yaml b/interface/pms/projects/docs/dir/test_pms_project_doc_get_dir_list.yaml new file mode 100644 index 0000000..b960a42 --- /dev/null +++ b/interface/pms/projects/docs/dir/test_pms_project_doc_get_dir_list.yaml @@ -0,0 +1,78 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目知识库 + allure_story: 文件夹 + case_markers: + - pms + - pms_project + - pms_docs + - usefixtures: gitlink_login + +# 前提条件:当前存在组织,组织下存在项目, 项目下知识库存在文件夹 + +case_info: + - id: pms_project_doc_get_dir_list_01 + title: 获取文件夹列表 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: ${env_pms_project_id} + parentId: 0 + pageNum: 1 + pageSize: 10 + isCreatedOnly: false # 是否仅筛选我创建的文档 true是 false否 + docType: 1 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + isAsc: desc # 排序的方向desc或者asc,默认asc + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + project_dir_id: $.rows[0].id + case_dependence: + + + - id: pms_project_doc_get_dir_list_by_name_02 + title: 通过文件夹名称关键字获取文件夹列表 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: ${env_pms_project_id} + parentId: 0 + pageNum: 1 + pageSize: 10 + isCreatedOnly: false # 是否仅筛选我创建的文档 true是 false否 + name: test # 文档名称 + docType: 1 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + isAsc: desc # 排序的方向desc或者asc,默认asc + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + project_dir_id: $.rows[0].id + case_dependence: \ No newline at end of file diff --git a/interface/pms/projects/docs/dir/test_pms_project_doc_new_dir.yaml b/interface/pms/projects/docs/dir/test_pms_project_doc_new_dir.yaml new file mode 100644 index 0000000..4c1ba88 --- /dev/null +++ b/interface/pms/projects/docs/dir/test_pms_project_doc_new_dir.yaml @@ -0,0 +1,114 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目知识库 + allure_story: 文件夹 + case_markers: + - pms + - pms_project + - pms_docs + - usefixtures: gitlink_login + +# 前提条件:当前存在组织,组织下存在项目 + +case_info: + - id: pms_project_doc_new_dir_01 + title: 项目知识库,新增文件夹,新增成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: ${env_pms_project_id} + parentId: 0 + docType: 1 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + name: test_${generate_words(nb=3)} # 必填,长度50 + permission: ${random.choice([1,2,3])} # 权限 1-私有 2-全员读 3-全员读写 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assertCode: + type_jsonpath: $.code + expect_value: 200 + assert_type: == + assert_sql: + extract: + case_dependence: + teardown: + interface: + # 获取文件夹id + - pms_project_doc_get_dir_list_by_name_02 + # 删除文件夹 + - pms_project_doc_delete_dir_01 + + - id: pms_project_doc_new_dir_02 + title: 项目知识库,新增文件夹,名称为空,新增失败 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: ${env_pms_project_id} + parentId: 0 + docType: 1 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + name: + permission: ${random.choice([1,2,3])} # 权限 1-私有 2-全员读 3-全员读写 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: '[name]字段校验异常:must not be null' + assert_type: == + assertCode: + type_jsonpath: $.code + expect_value: 500 + assert_type: == + assert_sql: + extract: + case_dependence: + + - id: pms_project_doc_new_dir_03 + title: 项目知识库,新增文件夹,名称长度51,新增失败 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: ${env_pms_project_id} + parentId: 0 + docType: 1 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + name: ${faker.pystr(max_chars=51)} + permission: ${random.choice([1,2,3])} # 权限 1-私有 2-全员读 3-全员读写 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: '[name]字段校验异常:size must be between 1 and 50' + assert_type: == + assertCode: + type_jsonpath: $.code + expect_value: 500 + assert_type: == + assert_sql: + extract: + case_dependence: \ No newline at end of file diff --git a/interface/pms/projects/docs/document/test_pms_project_doc_delete_document.yaml b/interface/pms/projects/docs/document/test_pms_project_doc_delete_document.yaml new file mode 100644 index 0000000..c2bd752 --- /dev/null +++ b/interface/pms/projects/docs/document/test_pms_project_doc_delete_document.yaml @@ -0,0 +1,41 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目知识库 + allure_story: 文档 + case_markers: + - pms + - pms_project + - pms_docs + - usefixtures: gitlink_login + +# 前提条件:当前存在组织,组织下存在项目, 项目下知识库存在文档 + +case_info: + - id: pms_project_doc_delete_document_01 + title: 项目知识库,删除文档,删除成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/${project_document_id} + method: DELETE + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + enterpriseId: ${env_enterprise_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + # 新建文档 + - pms_project_doc_new_document_01 + # 获取文档id + - pms_project_doc_get_document_list_by_name_02 \ No newline at end of file diff --git a/interface/pms/projects/docs/document/test_pms_project_doc_edit_document.yaml b/interface/pms/projects/docs/document/test_pms_project_doc_edit_document.yaml new file mode 100644 index 0000000..be8e2ef --- /dev/null +++ b/interface/pms/projects/docs/document/test_pms_project_doc_edit_document.yaml @@ -0,0 +1,122 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目知识库 + allure_story: 文档 + case_markers: + - pms + - pms_project + - pms_docs + - usefixtures: gitlink_login + +# 前提条件:当前存在组织,组织下存在项目, 项目下知识库存在文档 + +common_dependence: + setup: + interface: + # 新建文档 + - pms_project_doc_new_document_01 + # 获取文档id + - pms_project_doc_get_document_list_01 + teardown: + interface: + # 删除文档 + - pms_project_doc_delete_document_01 + + +case_info: + - id: pms_project_doc_edit_document_01 + title: 项目知识库,编辑文档,编辑成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: ${env_pms_project_id} + docType: 2 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + id: ${project_document_id} + name: ${generate_paragraph(nb=1)} + permission: ${random.choice([1,2,3])} # 权限 1-私有 2-全员读 3-全员读写 + content: ${generate_paragraph} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + + - id: pms_project_doc_new_document_02 + title: 项目知识库,编辑文档,名称为空,编辑失败 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: ${env_pms_project_id} + parentId: 0 + docType: 2 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + id: ${project_document_id} + name: + permission: ${random.choice([1,2,3])} # 权限 1-私有 2-全员读 3-全员读写 + content: ${generate_paragraph} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: '[name]字段校验异常:must not be null' + assert_type: == + assertCode: + type_jsonpath: $.code + expect_value: 500 + assert_type: == + assert_sql: + extract: + case_dependence: + + - id: pms_project_doc_new_document_03 + title: 项目知识库,编辑文档,名称长度51,编辑失败 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: ${env_pms_project_id} + parentId: 0 + docType: 2 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + id: ${project_document_id} + name: ${faker.pystr(max_chars=51)} + permission: ${random.choice([1,2,3])} # 权限 1-私有 2-全员读 3-全员读写 + content: ${generate_paragraph} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: '[name]字段校验异常:size must be between 1 and 50' + assert_type: == + assertCode: + type_jsonpath: $.code + expect_value: 500 + assert_type: == + assert_sql: + extract: + case_dependence: \ No newline at end of file diff --git a/interface/pms/projects/docs/document/test_pms_project_doc_get_document_detail.yaml b/interface/pms/projects/docs/document/test_pms_project_doc_get_document_detail.yaml new file mode 100644 index 0000000..86293f1 --- /dev/null +++ b/interface/pms/projects/docs/document/test_pms_project_doc_get_document_detail.yaml @@ -0,0 +1,47 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目知识库 + allure_story: 文档 + case_markers: + - pms + - pms_project + - pms_docs + - usefixtures: gitlink_login + +# 前提条件:当前存在组织,组织下存在项目, 项目下知识库存在文档 + +common_dependence: + setup: + interface: + # 新建文档 + - pms_project_doc_new_document_01 + # 获取文档id + - pms_project_doc_get_document_list_01 + teardown: + interface: + # 删除文档 + - pms_project_doc_delete_document_01 + +case_info: + - id: pms_project_doc_get_document_detail_01 + title: 项目知识库,获取文档详情,获取成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/${project_document_id} + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + enterpriseId: ${env_enterprise_id} + 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/docs/document/test_pms_project_doc_get_document_list.yaml b/interface/pms/projects/docs/document/test_pms_project_doc_get_document_list.yaml new file mode 100644 index 0000000..facd96f --- /dev/null +++ b/interface/pms/projects/docs/document/test_pms_project_doc_get_document_list.yaml @@ -0,0 +1,78 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目知识库 + allure_story: 文档 + case_markers: + - pms + - pms_project + - pms_docs + - usefixtures: gitlink_login + +# 前提条件:当前存在组织,组织下存在项目 + +case_info: + - id: pms_project_doc_get_document_list_01 + title: 项目知识库,获取文档列表,获取成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: ${env_pms_project_id} + parentId: 0 + pageNum: 1 + pageSize: 10 + isCreatedOnly: false # 是否仅筛选我创建的文档 true是 false否 + docType: 2 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + isAsc: desc # 排序的方向desc或者asc,默认asc + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + project_document_id: $.rows[0].id + case_dependence: + + + - id: pms_project_doc_get_document_list_by_name_02 + title: 项目知识库,通过文档名称关键字获取文档列表,获取成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: ${env_pms_project_id} + parentId: 0 + pageNum: 1 + pageSize: 10 + isCreatedOnly: false # 是否仅筛选我创建的文档 true是 false否 + name: test # 文档名称 + docType: 2 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + isAsc: desc # 排序的方向desc或者asc,默认asc + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + project_document_id: $.rows[0].id + case_dependence: \ No newline at end of file diff --git a/interface/pms/projects/docs/document/test_pms_project_doc_new_document.yaml b/interface/pms/projects/docs/document/test_pms_project_doc_new_document.yaml new file mode 100644 index 0000000..1b3925e --- /dev/null +++ b/interface/pms/projects/docs/document/test_pms_project_doc_new_document.yaml @@ -0,0 +1,113 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目知识库 + allure_story: 文档 + case_markers: + - pms + - pms_project + - pms_docs + - usefixtures: gitlink_login + +# 前提条件:当前存在组织,组织下存在项目 + +case_info: + - id: pms_project_doc_new_document_01 + title: 项目知识库,新增文档,新建成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: ${env_pms_project_id} + parentId: 0 + docType: 2 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + name: test_${generate_words(nb=3)} + permission: ${random.choice([1,2,3])} # 权限 1-私有 2-全员读 3-全员读写 + content: ${generate_paragraph} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + teardown: + interface: + # 通过名称关键字获取文档id + - pms_project_doc_get_document_list_by_name_02 + # 删除文档 + - pms_project_doc_delete_document_01 + + - id: pms_project_doc_new_document_02 + title: 项目知识库,新增文档,名称为空,新增失败 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: ${env_pms_project_id} + parentId: 0 + docType: 2 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + name: + permission: ${random.choice([1,2,3])} # 权限 1-私有 2-全员读 3-全员读写 + content: ${generate_paragraph} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: '[name]字段校验异常:must not be null' + assert_type: == + assertCode: + type_jsonpath: $.code + expect_value: 500 + assert_type: == + assert_sql: + extract: + case_dependence: + + - id: pms_project_doc_new_document_03 + title: 项目知识库,新增文档,名称长度51,新增失败 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: ${env_pms_project_id} + parentId: 0 + docType: 2 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + name: ${faker.pystr(max_chars=51)} + permission: ${random.choice([1,2,3])} # 权限 1-私有 2-全员读 3-全员读写 + content: ${generate_paragraph} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: '[name]字段校验异常:size must be between 1 and 50' + assert_type: == + assertCode: + type_jsonpath: $.code + expect_value: 500 + assert_type: == + assert_sql: + extract: + case_dependence: \ No newline at end of file diff --git a/interface/pms/projects/docs/file/test_pms_project_doc_delete_file.yaml b/interface/pms/projects/docs/file/test_pms_project_doc_delete_file.yaml new file mode 100644 index 0000000..3f9267a --- /dev/null +++ b/interface/pms/projects/docs/file/test_pms_project_doc_delete_file.yaml @@ -0,0 +1,41 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目知识库 + allure_story: 文件 + case_markers: + - pms + - pms_project + - pms_docs + - usefixtures: gitlink_login + +# 前提条件:当前存在组织,组织下存在项目,项目知识库存在文件 + +case_info: + - id: pms_project_doc_delete_file_01 + title: 项目知识库,删除文件,删除成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/${project_file_id} + method: DELETE + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + enterpriseId: ${env_enterprise_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + # 上传文件 + - pms_project_doc_upload_file_01 + # 获取文件id + - pms_project_doc_get_file_list_by_name_02 \ No newline at end of file diff --git a/interface/pms/projects/docs/file/test_pms_project_doc_get_file_detail.yaml b/interface/pms/projects/docs/file/test_pms_project_doc_get_file_detail.yaml new file mode 100644 index 0000000..93384e8 --- /dev/null +++ b/interface/pms/projects/docs/file/test_pms_project_doc_get_file_detail.yaml @@ -0,0 +1,48 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目知识库 + allure_story: 文件 + case_markers: + - pms + - pms_project + - pms_docs + - usefixtures: gitlink_login + +# 前提条件:当前存在组织,组织下存在项目,项目知识库存在文件 + +common_dependence: + setup: + interface: + # 上传文件 + - pms_project_doc_upload_file_01 + # 获取文件id + - pms_project_doc_get_file_list_by_name_02 + teardown: + interface: + # 删除文件 + - pms_project_doc_delete_file_01 + + +case_info: + - id: pms_project_doc_get_file_detail_01 + title: 项目知识库,获取文件详情,获取成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/${project_file_id} + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + enterpriseId: ${env_enterprise_id} + 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/docs/file/test_pms_project_doc_get_file_list.yaml b/interface/pms/projects/docs/file/test_pms_project_doc_get_file_list.yaml new file mode 100644 index 0000000..9353db7 --- /dev/null +++ b/interface/pms/projects/docs/file/test_pms_project_doc_get_file_list.yaml @@ -0,0 +1,78 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目知识库 + allure_story: 文档 + case_markers: + - pms + - pms_project + - pms_docs + - usefixtures: gitlink_login + +# 前提条件:当前存在组织,组织下存在项目,项目知识库存文件 + +case_info: + - id: pms_project_doc_get_file_list_01 + title: 项目知识库,获取文档列表,获取成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: ${env_pms_project_id} + parentId: 0 + pageNum: 1 + pageSize: 10 + isCreatedOnly: false # 是否仅筛选我创建的文档 true是 false否 + docType: 3 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + isAsc: desc # 排序的方向desc或者asc,默认asc + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + project_file_id: $.rows[0].id + case_dependence: + + + - id: pms_project_doc_get_file_list_by_name_02 + title: 项目知识库,通过文档名称关键字获取文档列表,获取成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: ${env_pms_project_id} + parentId: 0 + pageNum: 1 + pageSize: 10 + isCreatedOnly: false # 是否仅筛选我创建的文档 true是 false否 + name: test # 文档名称 + docType: 3 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + isAsc: desc # 排序的方向desc或者asc,默认asc + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + project_file_id: $.rows[0].id + case_dependence: \ No newline at end of file diff --git a/interface/pms/projects/docs/file/test_pms_project_doc_upload_file.yaml b/interface/pms/projects/docs/file/test_pms_project_doc_upload_file.yaml new file mode 100644 index 0000000..d979770 --- /dev/null +++ b/interface/pms/projects/docs/file/test_pms_project_doc_upload_file.yaml @@ -0,0 +1,82 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目知识库 + allure_story: 文件 + case_markers: + - pms + - pms_project + - pms_docs + - usefixtures: gitlink_login + +# 前提条件:当前存在组织,组织下存在项目 + +case_info: + - id: pms_project_doc_upload_file_01 + title: 项目知识库,上传文件,上传成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/fileType + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: ${env_pms_project_id} + parentId: 0 + docType: 3 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + names: test_${generate_words}_${file_name} + permission: ${random.choice([1,2,3])} # 权限 1-私有 2-全员读 3-全员读写 + attachmentIdentifiers: ${file_identifier} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + # 上传文件,获取文件标识 + interface: pms_upload_file_org_doc_03 + teardown: + interface: + # 获取文件id + - pms_project_doc_get_file_list_by_name_02 + # 删除文件 + - pms_project_doc_delete_file_01 + + - id: pms_project_doc_upload_file_02 + title: 项目知识库,上传文件, 文件类型传递错误,上传失败 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/fileType + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: ${env_pms_project_id} + parentId: 0 + docType: 4 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + names: test_${generate_words}_${file_name} + permission: ${random.choice([1,2,3])} # 权限 1-私有 2-全员读 3-全员读写 + attachmentIdentifiers: ${file_identifier} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 参数docType错误 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + # 上传文件,获取文件标识 + interface: pms_upload_file_org_doc_03 diff --git a/interface/pms/projects/docs/wiki/test_pms_project_doc_delete_wiki.yaml b/interface/pms/projects/docs/wiki/test_pms_project_doc_delete_wiki.yaml new file mode 100644 index 0000000..cd34462 --- /dev/null +++ b/interface/pms/projects/docs/wiki/test_pms_project_doc_delete_wiki.yaml @@ -0,0 +1,47 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目知识库 + allure_story: wiki库 + case_markers: + - pms + - pms_project + - pms_docs + - usefixtures: gitlink_login + +# 前提条件:当前存在组织,组织下存在项目,项目知识库下存在wiki + +case_info: + - id: pms_project_doc_delete_wiki_01 + title: 项目知识库,删除wiki库,删除成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/${project_wiki_id} + method: DELETE + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + enterpriseId: ${env_enterprise_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + # 新建代码库 + - pms_new_repo_01 + # 代码库关联项目 + - pms_edit_project_added_repo_09 + # 获取可导入的wiki库 + - pms_project_doc_get_optional_wiki_repo_list_01 + # 导入wiki库 + - pms_project_doc_export_wiki_01 + # 获取已导入的wiki库id + - pms_project_doc_get_wiki_list_by_name_02 \ No newline at end of file diff --git a/interface/pms/projects/docs/wiki/test_pms_project_doc_export_wiki.yaml b/interface/pms/projects/docs/wiki/test_pms_project_doc_export_wiki.yaml new file mode 100644 index 0000000..110577a --- /dev/null +++ b/interface/pms/projects/docs/wiki/test_pms_project_doc_export_wiki.yaml @@ -0,0 +1,57 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目知识库 + allure_story: wiki库 + case_markers: + - pms + - pms_project + - pms_docs + - usefixtures: gitlink_login + +# 前提条件:当前存在组织,组织下存在项目。 项目下存在仓库(新建代码库,代码库关联项目) + +case_info: + - id: pms_project_doc_export_wiki_01 + title: 项目知识库,导入wiki库,导入成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: ${env_pms_project_id} + parentId: 0 + docType: 4 # 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 + name: test_${project_optional_wiki_repo_name} + permission: 2 # 权限 1-私有 2-全员读 3-全员读写 + wikiGitlinkRepoId: ${project_optional_wiki_repo_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + # 新建代码库 + - pms_new_repo_01 + # 代码库关联项目 + - pms_edit_project_added_repo_09 + # 获取可导入的wiki库 + - pms_project_doc_get_optional_wiki_repo_list_01 + teardown: + interface: + # 获取已导入的wiki库id + - pms_project_doc_get_wiki_list_by_name_02 + # 删除导入的wiki库 + - pms_project_doc_delete_wiki_01 + # 删除代码库 + - pms_delete_repo_01 \ No newline at end of file diff --git a/interface/pms/projects/docs/wiki/test_pms_project_doc_get_optional_wiki_repo_list.yaml b/interface/pms/projects/docs/wiki/test_pms_project_doc_get_optional_wiki_repo_list.yaml new file mode 100644 index 0000000..91dc346 --- /dev/null +++ b/interface/pms/projects/docs/wiki/test_pms_project_doc_get_optional_wiki_repo_list.yaml @@ -0,0 +1,41 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目知识库 + allure_story: wiki库 + case_markers: + - pms + - pms_project + - pms_docs + - usefixtures: gitlink_login + +# 前提条件:当前存在组织,组织下存在项目,项目知识库下存在wiki + +case_info: + - id: pms_project_doc_get_optional_wiki_repo_list_01 + title: 项目知识库,获取导入wiki库可选仓库列表 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/optionalWikiRepoList + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + enterpriseId: ${env_enterprise_id} + projectId: ${env_pms_project_id} + page: 1 + limit: 15 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + project_optional_wiki_repo_id: $.data.projects[0].id + project_optional_wiki_repo_name: $.data.projects[0].name + case_dependence: \ No newline at end of file diff --git a/interface/pms/projects/docs/wiki/test_pms_project_doc_get_wiki_detail.yaml b/interface/pms/projects/docs/wiki/test_pms_project_doc_get_wiki_detail.yaml new file mode 100644 index 0000000..30b84e7 --- /dev/null +++ b/interface/pms/projects/docs/wiki/test_pms_project_doc_get_wiki_detail.yaml @@ -0,0 +1,56 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目知识库 + allure_story: wiki库 + case_markers: + - pms + - pms_project + - pms_docs + - usefixtures: gitlink_login + +# 前提条件:当前存在组织,组织下存在项目,项目知识库下存在wiki + +common_dependence: + setup: + interface: + # 新建代码库 + - pms_new_repo_01 + # 代码库关联项目 + - pms_edit_project_added_repo_09 + # 获取可导入的wiki库 + - pms_project_doc_get_optional_wiki_repo_list_01 + # 导入wiki库 + - pms_project_doc_export_wiki_01 + # 获取已导入的wiki库id + - pms_project_doc_get_wiki_list_by_name_02 + teardown: + interface: + # 删除导入的wiki库 + - pms_project_doc_delete_wiki_01 + # 删除代码库 + - pms_delete_repo_01 + + +case_info: + - id: pms_project_doc_get_wiki_detail_01 + title: 获取wiki库详情 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/${project_wiki_id} + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + enterpriseId: ${env_enterprise_id} + 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/docs/wiki/test_pms_project_doc_get_wiki_list.yaml b/interface/pms/projects/docs/wiki/test_pms_project_doc_get_wiki_list.yaml new file mode 100644 index 0000000..0931ac1 --- /dev/null +++ b/interface/pms/projects/docs/wiki/test_pms_project_doc_get_wiki_list.yaml @@ -0,0 +1,78 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目知识库 + allure_story: wiki库 + case_markers: + - pms + - pms_project + - pms_docs + - usefixtures: gitlink_login + +# 前提条件:当前存在组织,组织下存在项目,项目知识库下存在wiki + +case_info: + - id: pms_project_doc_get_wiki_list_01 + title: 项目知识库,获取wiki列表,获取成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: ${env_pms_project_id} + parentId: 0 + pageNum: 1 + pageSize: 10 + isCreatedOnly: false # 是否仅筛选我创建的wiki true是 false否 + docType: 4 # 文件类型 1-wiki目录 2-wiki 3-附件 4-wiki库 + isAsc: desc # 排序的方向desc或者asc,默认asc + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + project_wiki_id: $.rows[0].id + case_dependence: + + + - id: pms_project_doc_get_wiki_list_by_name_02 + title: 项目知识库,通过wiki名称关键字获取wiki列表,获取成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/document/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmsEnterpriseId: ${env_enterprise_id} + pmsProjectId: ${env_pms_project_id} + parentId: 0 + pageNum: 1 + pageSize: 10 + isCreatedOnly: false # 是否仅筛选我创建的wiki true是 false否 + name: test # wiki名称 + docType: 4 # 文件类型 1-wiki目录 2-wiki 3-附件 4-wiki库 + isAsc: desc # 排序的方向desc或者asc,默认asc + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + project_wiki_id: $.rows[0].id + case_dependence: \ No newline at end of file diff --git a/interface/pms/projects/project/test_pms_edit_project.yaml b/interface/pms/projects/project/test_pms_edit_project.yaml index ec867c3..7fcd911 100644 --- a/interface/pms/projects/project/test_pms_edit_project.yaml +++ b/interface/pms/projects/project/test_pms_edit_project.yaml @@ -38,8 +38,8 @@ case_info: cookies: ${cookies} request_type: json payload: - pmsEnterpriseId: ${env_enterprise_id} id: ${pms_project_id} + pmsEnterpriseId: ${env_enterprise_id} status: ${random.choice([0,1,2])} # 0: 关闭 1:开启 2:暂停 projectName: ${generate_company_name(lan='zh')}_${generate_words} projectAssigneeId: ${project_user} @@ -79,8 +79,8 @@ case_info: cookies: ${cookies} request_type: json payload: - pmsEnterpriseId: ${env_enterprise_id} id: ${pms_project_id} + pmsEnterpriseId: ${env_enterprise_id} projectName: ${faker.pystr(max_chars=51)} projectAssigneeId: ${project_user} files: @@ -106,8 +106,8 @@ case_info: cookies: ${cookies} request_type: json payload: - pmsEnterpriseId: ${env_enterprise_id} id: ${pms_project_id} + pmsEnterpriseId: ${env_enterprise_id} projectName: projectAssigneeId: ${project_user} files: @@ -133,8 +133,8 @@ case_info: cookies: ${cookies} request_type: json payload: - pmsEnterpriseId: ${env_enterprise_id} id: ${pms_project_id} + pmsEnterpriseId: ${env_enterprise_id} projectName: ${faker.pystr(max_chars=50)} projectAssigneeId: ${project_user} projectDescription: ${faker.pystr(max_chars=201)} @@ -161,8 +161,8 @@ case_info: cookies: ${cookies} request_type: json payload: - pmsEnterpriseId: ${env_enterprise_id} id: ${pms_project_id} + pmsEnterpriseId: ${env_enterprise_id} projectName: ${faker.pystr(max_chars=50)} projectAssigneeId: ${project_user} projectDescription: ${faker.pystr(max_chars=200)} @@ -181,7 +181,7 @@ case_info: - id: pms_edit_project_related_product_07 - title: 组织下编辑项目接口, 项目关联产品,关联成功 # 关联的是测试环境预置的产品 + title: 组织下编辑项目接口, 项目关联产品(测试环境内置项目关联内置的产品),关联成功 run: True severity: blocker url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProject @@ -191,17 +191,61 @@ case_info: cookies: ${cookies} request_type: json payload: - pmsEnterpriseId: ${env_enterprise_id} id: ${env_pms_project_id} - status: ${pms_project_status} - projectName: ${pms_project_name} - projectAssigneeId: ${pms_project_assignee_id} - projectDescription: ${pms_project_description} + pmsEnterpriseId: ${env_enterprise_id} pmsProductId: ${env_pms_product_id} - pmsProjectMemberIds: ${list_to_str(${pms_project_member_ids})} - projectRepositoryIds: ${list_to_str(${pms_project_repo_ids})} - startTime: ${pms_project_start_time} - endTime: ${pms_project_end_time} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + + + - id: pms_edit_project_related_product_08 + title: 组织下编辑项目接口, 项目关联产品(新项目关联内置的产品),关联成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProject + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + id: ${pms_project_id} + pmsEnterpriseId: ${env_enterprise_id} + pmsProductId: ${env_pms_product_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + + + - id: pms_edit_project_added_repo_09 + title: 组织下编辑项目接口, 预置项目新增关联代码库,更新成功 + run: true + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProject + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + id: ${env_pms_project_id} + pmsEnterpriseId: ${env_enterprise_id} + projectRepositoryIds: ${list_to_str(${pms_project_repo_ids})},${repo_id} files: assert_response: status_code: 200 @@ -213,4 +257,6 @@ case_info: extract: case_dependence: setup: - interface: pms_get_project_detail_01 \ No newline at end of file + interface: + - pms_get_project_detail_01 + - pms_new_repo_01 diff --git a/interface/pms/projects/project/test_pms_get_project_list.yaml b/interface/pms/projects/project/test_pms_get_project_list.yaml index dcc39e3..8433a27 100644 --- a/interface/pms/projects/project/test_pms_get_project_list.yaml +++ b/interface/pms/projects/project/test_pms_get_project_list.yaml @@ -53,6 +53,9 @@ case_info: pageNum: 1 pageSize: 20 projectName: 新项目 + isAsc: desc # 排序的方向desc或者asc,默认asc + isDescByUpdateTime: # 是否根据更新时间降序排序 + orderByColumn: # 排序列(更新时间:updateTime,创建时间:createTime) files: assert_response: status_code: 200 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 index b7c2165..027d7c0 100644 --- a/interface/pms/projects/repository/test_pms_get_project_repo_list.yaml +++ b/interface/pms/projects/repository/test_pms_get_project_repo_list.yaml @@ -8,6 +8,8 @@ case_common: - project_repo - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目,项目存在关联仓库 + case_info: - id: pms_get_project_repo_list_01 diff --git a/interface/pms/projects/repository/test_pms_get_unlinked_project_repo_list.yaml b/interface/pms/projects/repository/test_pms_get_unlinked_project_repo_list.yaml index 805f6b4..cd1a86b 100644 --- a/interface/pms/projects/repository/test_pms_get_unlinked_project_repo_list.yaml +++ b/interface/pms/projects/repository/test_pms_get_unlinked_project_repo_list.yaml @@ -8,6 +8,8 @@ case_common: - project_repo - usefixtures: gitlink_login +# 前提条件:当前组织下存在仓库,仓库未被项目关联 + case_info: - id: pms_get_unlinked_project_repo_list_01 diff --git a/interface/pms/projects/sprint/test_get_sprint_linked_work_item_list.yaml b/interface/pms/projects/sprint/test_get_sprint_linked_work_item_list.yaml new file mode 100644 index 0000000..38f7dc5 --- /dev/null +++ b/interface/pms/projects/sprint/test_get_sprint_linked_work_item_list.yaml @@ -0,0 +1,128 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 迭代 + case_markers: + - pms + - pms_project + - project_sprint + - usefixtures: gitlink_login + +# 前提条件:当前组织下存在项目 + +case_info: + - id: pms_get_sprint_linked_requirement_list_01 + title: 查询与项目迭代已关联需求列表 + run: True + severity: normal + url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectSprint/issues + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmProjectId : ${env_pms_project_id} + category: linked # 是否已经关联迭代,linked 已关联,unlink 未关联 + page: 1 + limit: 20 + pmIssueType: 1 + sortBy: issues.updated_on + sortDirection: desc +# assignerId: +# keyword: +# pmIssueTypes: +# priorityId: +# statusId: +# statusIds: + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + linked_requirement_ids: $.data.issues[*].id + linked_requirement_id: $.data.issues[0].id + case_dependence: + + + - id: pms_get_sprint_linked_task_list_02 + title: 查询与项目迭代已关联任务列表 + run: True + severity: normal + url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectSprint/issues + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmProjectId : ${env_pms_project_id} + category: linked # 是否已经关联迭代,linked 已关联,unlink 未关联 + page: 1 + limit: 20 + pmIssueType: 1 + sortBy: issues.updated_on + sortDirection: desc +# assignerId: +# keyword: +# pmIssueTypes: +# priorityId: +# statusId: +# statusIds: + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + linked_task_ids: $.data.issues[*].id + linked_task_id: $.data.issues[0].id + case_dependence: + + + - id: pms_get_sprint_linked_bug_list_03 + title: 查询与项目迭代已关联缺陷列表 + run: True + severity: normal + url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectSprint/issues + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmProjectId : ${env_pms_project_id} + category: linked # 是否已经关联迭代,linked 已关联,unlink 未关联 + page: 1 + limit: 20 + pmIssueType: 1 + sortBy: issues.updated_on + sortDirection: desc +# assignerId: +# keyword: +# pmIssueTypes: +# priorityId: +# statusId: +# statusIds: + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + linked_bug_ids: $.data.issues[*].id + linked_bug_id: $.data.issues[0].id + case_dependence: \ No newline at end of file diff --git a/interface/pms/projects/sprint/test_get_sprint_link_unlink_work_item_list.yaml b/interface/pms/projects/sprint/test_get_sprint_unlink_work_item_list.yaml similarity index 50% rename from interface/pms/projects/sprint/test_get_sprint_link_unlink_work_item_list.yaml rename to interface/pms/projects/sprint/test_get_sprint_unlink_work_item_list.yaml index 3ae52f3..f48637c 100644 --- a/interface/pms/projects/sprint/test_get_sprint_link_unlink_work_item_list.yaml +++ b/interface/pms/projects/sprint/test_get_sprint_unlink_work_item_list.yaml @@ -8,6 +8,8 @@ case_common: - project_sprint - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目 + case_info: - id: pms_get_sprint_unlink_requirement_list_01 title: 查询与项目迭代未关联需求列表 @@ -48,46 +50,8 @@ case_info: case_dependence: - - id: pms_get_sprint_linked_requirement_list_02 - title: 查询与项目迭代已关联需求列表 - run: True - severity: normal - url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectSprint/issues - method: GET - headers: - Content-Type: application/json; charset=utf-8; - cookies: ${cookies} - request_type: params - payload: - pmProjectId : ${env_pms_project_id} - category: linked # 是否已经关联迭代,linked 已关联,unlink 未关联 - page: 1 - limit: 20 - pmIssueType: 1 - sortBy: issues.updated_on - sortDirection: desc -# assignerId: -# keyword: -# pmIssueTypes: -# priorityId: -# statusId: -# statusIds: - files: - assert_response: - status_code: 200 - assertMessage: - type_jsonpath: $.msg - expect_value: 操作成功 - assert_type: == - assert_sql: - extract: - type_jsonpath: - linked_requirement_ids: $.data.issues[*].id - linked_requirement_id: $.data.issues[0].id - case_dependence: - - - id: pms_get_sprint_unlink_task_list_03 + - id: pms_get_sprint_unlink_task_list_02 title: 查询与项目迭代未关联任务列表 run: True severity: normal @@ -126,46 +90,8 @@ case_info: case_dependence: - - id: pms_get_sprint_linked_task_list_04 - title: 查询与项目迭代已关联任务列表 - run: True - severity: normal - url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectSprint/issues - method: GET - headers: - Content-Type: application/json; charset=utf-8; - cookies: ${cookies} - request_type: params - payload: - pmProjectId : ${env_pms_project_id} - category: linked # 是否已经关联迭代,linked 已关联,unlink 未关联 - page: 1 - limit: 20 - pmIssueType: 1 - sortBy: issues.updated_on - sortDirection: desc -# assignerId: -# keyword: -# pmIssueTypes: -# priorityId: -# statusId: -# statusIds: - files: - assert_response: - status_code: 200 - assertMessage: - type_jsonpath: $.msg - expect_value: 操作成功 - assert_type: == - assert_sql: - extract: - type_jsonpath: - linked_task_ids: $.data.issues[*].id - linked_task_id: $.data.issues[0].id - case_dependence: - - - id: pms_get_sprint_unlink_bug_list_05 + - id: pms_get_sprint_unlink_bug_list_03 title: 查询与项目迭代未关联缺陷列表 run: True severity: normal @@ -202,42 +128,3 @@ case_info: unlink_bug_ids: $.data.issues[*].id unlink_bug_id: $.data.issues[0].id case_dependence: - - - - id: pms_get_sprint_linked_bug_list_06 - title: 查询与项目迭代已关联缺陷列表 - run: True - severity: normal - url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectSprint/issues - method: GET - headers: - Content-Type: application/json; charset=utf-8; - cookies: ${cookies} - request_type: params - payload: - pmProjectId : ${env_pms_project_id} - category: linked # 是否已经关联迭代,linked 已关联,unlink 未关联 - page: 1 - limit: 20 - pmIssueType: 1 - sortBy: issues.updated_on - sortDirection: desc -# assignerId: -# keyword: -# pmIssueTypes: -# priorityId: -# statusId: -# statusIds: - files: - assert_response: - status_code: 200 - assertMessage: - type_jsonpath: $.msg - expect_value: 操作成功 - assert_type: == - assert_sql: - extract: - type_jsonpath: - linked_bug_ids: $.data.issues[*].id - linked_bug_id: $.data.issues[0].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 index 6735aca..a2b4dfd 100644 --- a/interface/pms/projects/sprint/test_pms_delete_sprint.yaml +++ b/interface/pms/projects/sprint/test_pms_delete_sprint.yaml @@ -8,11 +8,13 @@ case_common: - project_sprint - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目,项目下存在迭代 + common_dependence: setup: interface: + # 获取项目成员 - pms_get_project_member_list_01 - - pms_new_sprint_01 case_info: - id: pms_delete_sprint_01 @@ -38,6 +40,9 @@ case_info: case_dependence: setup: interface: + # 新建迭代 + - pms_new_sprint_01 + # 获取迭代id - pms_get_sprint_list_by_name_02 - id: pms_delete_sprint_02 @@ -63,5 +68,8 @@ case_info: case_dependence: setup: interface: + # 新建多个迭代 - pms_new_sprint_01 + - pms_new_sprint_01 + # 获取多个迭代id - pms_get_sprint_list_01 \ 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 index fc60009..134b836 100644 --- a/interface/pms/projects/sprint/test_pms_edit_sprint.yaml +++ b/interface/pms/projects/sprint/test_pms_edit_sprint.yaml @@ -8,10 +8,20 @@ case_common: - project_sprint - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目,项目下存在迭代 + common_dependence: setup: interface: + # 获取项目成员 - pms_get_project_member_list_01 + # 新建迭代 + - pms_new_sprint_01 + # 获取迭代id + - pms_get_sprint_list_by_name_02 + teardown: + # 清理数据:删除迭代 + interface: pms_delete_sprint_01 case_info: @@ -43,114 +53,9 @@ case_info: assert_sql: extract: case_dependence: - setup: - interface: - - pms_new_sprint_01 - - pms_get_sprint_list_by_name_02 - teardown: - interface: pms_delete_sprint_01 - - - id: pms_edit_sprint_start_02 - title: 项目下编辑迭代接口 - 未开始迭代 --> 开始迭代 - run: True - severity: blocker - url: ${pms_host}/api/pms/${env_enterprise_identifier}/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_new_sprint_01 - - pms_get_sprint_list_by_name_02 - teardown: - interface: pms_delete_sprint_01 - - - id: pms_edit_sprint_finish_03 - title: 项目下编辑迭代接口 - 进行中迭代 --> 完成迭代 - run: True - severity: blocker - url: ${pms_host}/api/pms/${env_enterprise_identifier}/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_new_sprint_01 - - pms_get_sprint_list_by_name_02 - - pms_edit_sprint_start_02 - teardown: - interface: pms_delete_sprint_01 - - - id: pms_edit_sprint_reopen_04 - title: 项目下编辑迭代接口 - 已关闭迭代 --> 重开迭代 - run: True - severity: blocker - url: ${pms_host}/api/pms/${env_enterprise_identifier}/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_new_sprint_01 - - pms_get_sprint_list_by_name_02 - - pms_edit_sprint_start_02 - - pms_edit_sprint_finish_03 - teardown: - interface: pms_delete_sprint_01 - - id: pms_new_sprint_05 + - id: pms_new_sprint_02 title: 项目下编辑迭代接口 - 迭代名称长度101, 新建失败 run: True severity: normal @@ -178,16 +83,10 @@ case_info: assert_sql: extract: case_dependence: - setup: - interface: - - pms_new_sprint_01 - - pms_get_sprint_list_by_name_02 - teardown: - interface: pms_delete_sprint_01 - - id: pms_new_sprint_06 - title: 项目下编辑迭代接口 - 迭代名称长度为空, 新建失败 + - id: pms_new_sprint_03 + title: 项目下编辑迭代接口 - 迭代名称长度为空, 视为不更新,接口调用成功 run: True severity: normal url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectSprint @@ -209,19 +108,15 @@ case_info: status_code: 200 assertMessage: type_jsonpath: $.msg - expect_value: '[sprintName]字段校验异常:size must be between 0 and 100' + expect_value: 操作成功 assert_type: == assert_sql: extract: case_dependence: setup: interface: - - pms_new_sprint_01 - - pms_get_sprint_list_by_name_02 - teardown: - interface: pms_delete_sprint_01 - - id: pms_new_sprint_07 + - id: pms_new_sprint_04 title: 项目下编辑迭代接口 - 迭代描述长度201, 新建失败 run: True severity: normal @@ -249,15 +144,9 @@ case_info: assert_sql: extract: case_dependence: - setup: - interface: - - pms_new_sprint_01 - - pms_get_sprint_list_by_name_02 - teardown: - interface: pms_delete_sprint_01 - - id: pms_new_sprint_08 + - id: pms_new_sprint_05 title: 项目下编辑迭代接口 - 截止时间早于开始时间, 新建失败 run: True severity: normal @@ -285,9 +174,3 @@ case_info: assert_sql: extract: case_dependence: - setup: - interface: - - pms_new_sprint_01 - - pms_get_sprint_list_by_name_02 - teardown: - interface: pms_delete_sprint_01 diff --git a/interface/pms/projects/sprint/test_pms_get_sprint_detail.yaml b/interface/pms/projects/sprint/test_pms_get_sprint_detail.yaml index 407b6be..5eee092 100644 --- a/interface/pms/projects/sprint/test_pms_get_sprint_detail.yaml +++ b/interface/pms/projects/sprint/test_pms_get_sprint_detail.yaml @@ -8,6 +8,20 @@ case_common: - project_sprint - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目,项目下存在迭代 +common_dependence: + setup: + interface: + # 获取项目成员 + - pms_get_project_member_list_01 + # 新建迭代 + - pms_new_sprint_01 + # 获取迭代id + - pms_get_sprint_list_by_name_02 + teardown: + # 清理数据:删除迭代 + interface: pms_delete_sprint_01 + case_info: - id: pms_get_sprint_detail_01 title: 项目下获取迭代详情接口 @@ -30,9 +44,4 @@ case_info: 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 + case_dependence: \ 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 index 95c3b66..e343b8c 100644 --- a/interface/pms/projects/sprint/test_pms_get_sprint_list.yaml +++ b/interface/pms/projects/sprint/test_pms_get_sprint_list.yaml @@ -8,6 +8,20 @@ case_common: - project_sprint - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目,项目下存在迭代 +common_dependence: + setup: + interface: + # 获取项目成员 + - pms_get_project_member_list_01 + # 新建迭代 + - pms_new_sprint_01 + # 获取迭代id + - pms_get_sprint_list_by_name_02 + teardown: + # 清理数据:删除迭代 + interface: pms_delete_sprint_01 + case_info: - id: pms_get_sprint_list_01 title: 项目下获取迭代列表接口 diff --git a/interface/pms/projects/sprint/test_pms_new_sprint.yaml b/interface/pms/projects/sprint/test_pms_new_sprint.yaml index c567c0f..0917245 100644 --- a/interface/pms/projects/sprint/test_pms_new_sprint.yaml +++ b/interface/pms/projects/sprint/test_pms_new_sprint.yaml @@ -6,12 +6,14 @@ case_common: - pms - pms_project - project_sprint - - repeat(1) - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目 + common_dependence: setup: interface: + # 获取项目成员 - pms_get_project_member_list_01 case_info: @@ -26,12 +28,12 @@ case_info: cookies: ${cookies} request_type: json payload: - sprintName: 迭代 - ${generate_company_name(lan='zh', fix='pre')}_${generate_words} + 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')} + 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 @@ -55,7 +57,6 @@ case_info: request_type: json payload: sprintName: ${faker.pystr(max_chars=101)} - sprintDescription: sprintAssigneeId: ${random.choice(${project_member_ids})} pmsProjectId: ${env_pms_project_id} startTime: ${generate_time(fmt='%Y-%m-%d')} @@ -84,7 +85,6 @@ case_info: request_type: json payload: sprintName: - sprintDescription: sprintAssigneeId: ${random.choice(${project_member_ids})} pmsProjectId: ${env_pms_project_id} startTime: ${generate_time(fmt='%Y-%m-%d')} @@ -141,7 +141,6 @@ case_info: request_type: json payload: sprintName: 迭代 - ${generate_company_name(lan='zh', fix='pre')}_${generate_words} - sprintDescription: sprintAssigneeId: ${random.choice(${project_member_ids})} pmsProjectId: ${env_pms_project_id} startTime: ${generate_time_after_week} diff --git a/interface/pms/projects/sprint/test_pms_update_sprint_status.yaml b/interface/pms/projects/sprint/test_pms_update_sprint_status.yaml new file mode 100644 index 0000000..44413f2 --- /dev/null +++ b/interface/pms/projects/sprint/test_pms_update_sprint_status.yaml @@ -0,0 +1,130 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 迭代 + case_markers: + - pms + - pms_project + - project_sprint + - usefixtures: gitlink_login + +# 前提条件:当前组织下存在项目,项目下存在迭代 +# 迭代未开始,可以开始迭代 +# 迭代进行中后,可以关闭迭代 +# 迭代管理后,可以重开迭代 + +common_dependence: + setup: + interface: + # 获取项目成员 + - pms_get_project_member_list_01 + + +case_info: + - id: pms_edit_sprint_start_01 + title: 项目下编辑迭代接口 - 未开始迭代 --> 开始迭代 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/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_new_sprint_01 + # 获取迭代id + - pms_get_sprint_list_by_name_02 + teardown: + interface: pms_delete_sprint_01 + + - id: pms_edit_sprint_finish_02 + title: 项目下编辑迭代接口 - 进行中迭代 --> 完成迭代 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/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_new_sprint_01 + # 获取迭代id + - pms_get_sprint_list_by_name_02 + # 开始迭代 + - pms_edit_sprint_start_01 + teardown: + interface: pms_delete_sprint_01 + + - id: pms_edit_sprint_reopen_03 + title: 项目下编辑迭代接口 - 已关闭迭代 --> 重开迭代 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/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_new_sprint_01 + # 获取迭代id + - pms_get_sprint_list_by_name_02 + # 开始迭代 + - pms_edit_sprint_start_01 + # 完成迭代 + - pms_edit_sprint_finish_02 + teardown: + interface: pms_delete_sprint_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 index d74d06d..af92a10 100644 --- a/interface/pms/projects/sprint/test_pms_work_item_out_sprint.yaml +++ b/interface/pms/projects/sprint/test_pms_work_item_out_sprint.yaml @@ -8,18 +8,30 @@ case_common: - project_sprint - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目,项目下存在迭代; 当前存在工作项(需求/任务/缺陷) + common_dependence: setup: interface: + # 获取项目成员,用于新建迭代和工作项 - pms_get_project_member_list_01 - - pms_get_sprint_list_01 + # 获取工作项状态ids, 用于新建工作项 + - pms_pms_get_issue_status_list_01 + # 新建迭代 + - pms_new_sprint_01 + # 获取迭代id + - pms_get_sprint_list_by_name_02 + teardown: + # 清理数据:删除迭代 + interface: pms_delete_sprint_01 + case_info: - id: pms_requirement_out_sprint_01 title: 规划迭代 - 需求移出迭代 run: True severity: critical - url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectIssues/edit/${linked_requirement_id} + url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectIssues/edit/${project_requirement_id} method: POST headers: Content-Type: application/json; charset=utf-8; @@ -40,15 +52,17 @@ case_info: case_dependence: setup: interface: - - pms_get_sprint_unlink_requirement_list_01 + # 新建需求 + - pms_new_project_requirement_02 + # 需求移入迭代 - pms_requirement_to_sprint_01 - - pms_get_sprint_linked_requirement_list_02 + - id: pms_task_out_sprint_02 title: 规划迭代 - 任务移出迭代 run: True severity: critical - url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectIssues/edit/${linked_task_id} + url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectIssues/edit/${project_task_id} method: POST headers: Content-Type: application/json; charset=utf-8; @@ -69,15 +83,16 @@ case_info: case_dependence: setup: interface: - - pms_get_sprint_unlink_task_list_03 + # 新建任务 + - pms_new_project_task_02 + # 任务移入迭代 - pms_task_to_sprint_02 - - pms_get_sprint_linked_task_list_04 - id: pms_bug_out_sprint_02 title: 规划迭代 - 缺陷移出迭代 run: True severity: critical - url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectIssues/edit/${linked_bug_id} + url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectIssues/edit/${project_bug_id} method: POST headers: Content-Type: application/json; charset=utf-8; @@ -98,7 +113,8 @@ case_info: case_dependence: setup: interface: - - pms_get_sprint_unlink_bug_list_05 + # 新建缺陷 + - pms_new_project_bug_02 + # 缺陷移入迭代 - pms_bug_to_sprint_03 - - pms_get_sprint_linked_bug_list_06 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 index 3f702b2..301eb72 100644 --- a/interface/pms/projects/sprint/test_pms_work_item_to_sprint.yaml +++ b/interface/pms/projects/sprint/test_pms_work_item_to_sprint.yaml @@ -8,18 +8,29 @@ case_common: - project_sprint - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目,项目下存在迭代; 当前存在工作项(需求/任务/缺陷) + common_dependence: setup: interface: + # 获取项目成员,用于新建迭代和工作项 - pms_get_project_member_list_01 + # 获取工作项状态ids, 用于新建工作项 + - pms_pms_get_issue_status_list_01 + # 新建迭代 + - pms_new_sprint_01 + # 获取迭代id - pms_get_sprint_list_by_name_02 + teardown: + # 清理数据:删除迭代 + interface: pms_delete_sprint_01 case_info: - id: pms_requirement_to_sprint_01 title: 规划迭代 - 需求移入迭代 run: True severity: critical - url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectIssues/edit/${unlink_requirement_id} + url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectIssues/edit/${project_requirement_id} method: POST headers: Content-Type: application/json; charset=utf-8; @@ -40,13 +51,15 @@ case_info: case_dependence: setup: interface: - - pms_get_sprint_unlink_requirement_list_01 + # 新建需求 + - pms_new_project_requirement_02 + - id: pms_task_to_sprint_02 title: 规划迭代 - 任务移入迭代 run: True severity: critical - url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectIssues/edit/${unlink_task_id} + url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectIssues/edit/${project_task_id} method: POST headers: Content-Type: application/json; charset=utf-8; @@ -67,14 +80,15 @@ case_info: case_dependence: setup: interface: - - pms_get_sprint_unlink_task_list_03 + # 新建任务 + - pms_new_project_task_02 - id: pms_bug_to_sprint_03 title: 规划迭代 - 缺陷移入迭代 run: True severity: critical - url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectIssues/edit/${unlink_bug_id} + url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectIssues/edit/${project_bug_id} method: POST headers: Content-Type: application/json; charset=utf-8; @@ -95,4 +109,5 @@ case_info: case_dependence: setup: interface: - - pms_get_sprint_unlink_bug_list_05 + # 新建缺陷 + - pms_new_project_task_02 diff --git a/interface/pms/projects/test_module/test_delete_testcase_module.yaml b/interface/pms/projects/test_module/test_delete_testcase_module.yaml index 1eade44..05f11c6 100644 --- a/interface/pms/projects/test_module/test_delete_testcase_module.yaml +++ b/interface/pms/projects/test_module/test_delete_testcase_module.yaml @@ -8,6 +8,8 @@ case_common: - project_test_module - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目,项目下存在测试模块 + case_info: - id: pms_delete_testcase_module_01 @@ -33,11 +35,12 @@ case_info: case_dependence: setup: interface: + # 新建父级模块 - pms_new_testcase_module_01 - - id: pms_delete_testcase_module_02 + id: pms_delete_testcase_module_children_02 title: 删除测试用例模块接口 - 子级模块,删除成功 run: true severity: blocker @@ -60,10 +63,13 @@ case_info: case_dependence: setup: interface: + # 新建父级模块 - pms_new_testcase_module_01 + # 新建子级模块 - pms_new_testcase_module_children_02 teardown: interface: + # 删除父级模块 - pms_delete_testcase_module_01 - @@ -90,5 +96,13 @@ case_info: case_dependence: setup: interface: + # 新建父级模块 - pms_new_testcase_module_01 - - pms_new_testcase_module_children_02 \ No newline at end of file + # 新建子级模块 + - pms_new_testcase_module_children_02 + teardown: + interface: + # 删除子级模块 + - pms_delete_testcase_module_children_02 + # 删除父级模块 + - pms_delete_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 index 44ddf81..9adc626 100644 --- a/interface/pms/projects/test_module/test_edit_testcase_module.yaml +++ b/interface/pms/projects/test_module/test_edit_testcase_module.yaml @@ -9,6 +9,22 @@ case_common: - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目,项目下存在测试模块 + +common_dependence: + setup: + interface: + # 新建父级模块 + - pms_new_testcase_module_01 + # 新建子级模块 + - pms_new_testcase_module_children_02 + teardown: + interface: + # 删除子级模块 + - pms_delete_testcase_module_children_02 + # 删除父级模块 + - pms_delete_testcase_module_01 + case_info: - id: pms_edit_testcase_module_01 @@ -35,12 +51,6 @@ case_info: assert_sql: extract: case_dependence: - setup: - interface: - - pms_new_testcase_module_01 - teardown: - interface: - - pms_delete_testcase_module_01 - id: pms_edit_testcase_module_02 @@ -67,14 +77,6 @@ case_info: assert_sql: extract: case_dependence: - setup: - interface: - - pms_new_testcase_module_01 - - pms_new_testcase_module_children_02 - teardown: - interface: - - pms_delete_testcase_module_02 - - pms_delete_testcase_module_01 - id: pms_edit_testcase_module_03 @@ -89,7 +91,6 @@ case_info: request_type: json payload: id: ${testcase_module_id} - parentId: ${testcase_module_parent_id} moduleName: files: assert_response: @@ -101,13 +102,6 @@ case_info: assert_sql: extract: case_dependence: - setup: - interface: - - pms_new_testcase_module_01 - - pms_get_testcase_module_detail_01 - teardown: - interface: - - pms_delete_testcase_module_01 - id: pms_edit_testcase_module_04 @@ -122,7 +116,6 @@ case_info: request_type: json payload: id: ${testcase_module_id} - parentId: ${testcase_module_parent_id} moduleName: ${faker.pystr(max_chars=31)} files: assert_response: @@ -134,12 +127,6 @@ case_info: assert_sql: extract: case_dependence: - setup: - interface: - - pms_new_testcase_module_01 - teardown: - interface: - - pms_delete_testcase_module_01 - id: pms_edit_testcase_module_05 @@ -166,12 +153,6 @@ case_info: assert_sql: extract: case_dependence: - setup: - interface: - - pms_new_testcase_module_01 - teardown: - interface: - - pms_delete_testcase_module_01 - @@ -199,9 +180,3 @@ case_info: assert_sql: extract: case_dependence: - setup: - interface: - - pms_new_testcase_module_01 - teardown: - interface: - - pms_delete_testcase_module_01 diff --git a/interface/pms/projects/test_module/test_get_testcase_module_detail.yaml b/interface/pms/projects/test_module/test_get_testcase_module_detail.yaml index 00ef6db..29b5a18 100644 --- a/interface/pms/projects/test_module/test_get_testcase_module_detail.yaml +++ b/interface/pms/projects/test_module/test_get_testcase_module_detail.yaml @@ -8,11 +8,21 @@ case_common: - project_test_module - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目,项目下存在测试模块 + common_dependence: setup: - interface: pms_new_testcase_module_01 + interface: + # 新建父级模块 + - pms_new_testcase_module_01 + # 新建子级模块 + - pms_new_testcase_module_children_02 teardown: - interface: pms_delete_testcase_module_01 + interface: + # 删除子级模块 + - pms_delete_testcase_module_children_02 + # 删除父级模块 + - pms_delete_testcase_module_01 case_info: - id: pms_get_testcase_module_detail_01 diff --git a/interface/pms/projects/test_module/test_get_testcase_module_list.yaml b/interface/pms/projects/test_module/test_get_testcase_module_list.yaml index b1d3366..7190abb 100644 --- a/interface/pms/projects/test_module/test_get_testcase_module_list.yaml +++ b/interface/pms/projects/test_module/test_get_testcase_module_list.yaml @@ -8,6 +8,21 @@ case_common: - project_test_module - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目,项目下存在测试模块 + +common_dependence: + setup: + interface: + # 新建父级模块 + - pms_new_testcase_module_01 + # 新建子级模块 + - pms_new_testcase_module_children_02 + teardown: + interface: + # 删除子级模块 + - pms_delete_testcase_module_children_02 + # 删除父级模块 + - pms_delete_testcase_module_01 case_info: - id: pms_get_testcase_module_list_01 diff --git a/interface/pms/projects/test_module/test_new_testcase_module.yaml b/interface/pms/projects/test_module/test_new_testcase_module.yaml index 44c1e21..8994951 100644 --- a/interface/pms/projects/test_module/test_new_testcase_module.yaml +++ b/interface/pms/projects/test_module/test_new_testcase_module.yaml @@ -8,6 +8,8 @@ case_common: - project_test_module - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目 + case_info: - id: pms_new_testcase_module_01 @@ -22,7 +24,6 @@ case_info: request_type: json payload: pmsProjectId: ${env_pms_project_id} - parentId: 0 moduleName: ${generate_words(lan='zh', nb=2)} files: assert_response: @@ -69,10 +70,13 @@ case_info: case_dependence: setup: interface: + # 新建父级模块 - pms_new_testcase_module_01 teardown: interface: - - pms_delete_testcase_module_02 + # 删除子级模块 + - pms_delete_testcase_module_children_02 + # 删除父级模块 - pms_delete_testcase_module_01 - 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 index bab6b63..f1f2302 100644 --- a/interface/pms/projects/test_module/test_pms_sync_product_module.yaml +++ b/interface/pms/projects/test_module/test_pms_sync_product_module.yaml @@ -3,66 +3,76 @@ case_common: allure_feature: 项目 allure_story: 测试用例模块 case_markers: - - pms - - pms_project - - project_test_module - - sync - - usefixtures: gitlink_login + - pms + - pms_project + - project_test_module + - sync + - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目,项目下存在产品模块,不存在测试模块 case_info: -- - id: pms_sync_product_module_01 - title: 同步产品模块 - 当前存在关联产品,产品存在模块,未同步过产品模块 # 待补充前置条件 - run: true - severity: critical - url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectTestcaseModule/byProjectId/${pms_project_id}/syncByProductModule - method: POST - headers: - Content-Type: application/json; charset=utf-8; - cookies: ${cookies} - request_type: json - payload: - files: - assert_response: + - id: pms_sync_product_module_01 + title: 同步产品模块 - 当前存在关联产品,产品存在模块,未同步过产品模块 + run: true + severity: critical + url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectTestcaseModule/byProjectId/${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: - setup: - interface: - - pms_new_product_module_01 - - pms_get_enterprise_user_list_01 - - pms_new_project_03 - - pms_get_project_list_by_name_02 - teardown: - interface: - - pms_delete_product_module_01 - - pms_delete_project_01 + assert_sql: + extract: + case_dependence: + setup: + interface: + # 获取可选项目负责人列表 + - pms_get_project_user_list_01 + # 获取组织下成员,可选择作为项目成员 + - pms_get_enterprise_user_list_01 + # 新建项目 + - pms_new_project_02 + # 根据项目名称,获取项目id + - pms_get_project_list_by_name_02 + # 项目关联产品 + - pms_edit_project_related_product_08 + # 新建产品模块 + - pms_new_product_module_01 + - pms_new_product_module_01 + teardown: + interface: + # 清理数据:删除项目 + - pms_delete_project_01 -- - id: pms_sync_product_module_02 - title: 同步产品模块 - 已同步过产品模块 - run: True - severity: normal - url: ${pms_host}/api/pms/${env_enterprise_identifier}/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: + + # 这里是使用的预置的项目,项目已经存在测试模块,因此会同步失败 + - id: pms_sync_product_module_02 + title: 同步产品模块 - 已存在模块,同步失败 + run: True + severity: normal + url: ${pms_host}/api/pms/${env_enterprise_identifier}/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 + assert_sql: + extract: + case_dependence: \ No newline at end of file diff --git a/interface/pms/projects/test_report/test_delete_test_report.yaml b/interface/pms/projects/test_report/test_delete_test_report.yaml index fbf1fa5..b243e2c 100644 --- a/interface/pms/projects/test_report/test_delete_test_report.yaml +++ b/interface/pms/projects/test_report/test_delete_test_report.yaml @@ -4,16 +4,23 @@ case_common: allure_story: 测试报告 case_markers: - pms + - pms_project - test_report - usefixtures: gitlink_login common_dependence: setup: interface: + # 获取项目成员(负责人来源于项目成员) - pms_get_project_member_list_01 - - pms_get_sprint_list_01 - - pms_new_test_sheet_01 + # 新建测试单 + - pms_new_test_sheet_02 + # 获取测试单id - pms_get_test_sheet_list_by_name_02 + teardown: + interface: + # 删除测试单 + - pms_delete_test_sheet_01 case_info: - id: pms_delete_test_report_01 @@ -39,5 +46,7 @@ case_info: case_dependence: setup: interface: + # 新建测试报告 - pms_new_test_report_01 + # 获取测试报告id - pms_get_test_report_list_by_name_02 \ No newline at end of file diff --git a/interface/pms/projects/test_report/test_edit_test_report.yaml b/interface/pms/projects/test_report/test_edit_test_report.yaml index 2858a02..2f961de 100644 --- a/interface/pms/projects/test_report/test_edit_test_report.yaml +++ b/interface/pms/projects/test_report/test_edit_test_report.yaml @@ -4,16 +4,30 @@ case_common: allure_story: 测试报告 case_markers: - pms + - pms_project - test_report - usefixtures: gitlink_login +# 前提条件:当前存在组织,组织下存在项目,项目下存在测试报告 common_dependence: setup: interface: + # 获取项目成员(负责人来源于项目成员) - pms_get_project_member_list_01 - - pms_get_sprint_list_01 - - pms_new_test_sheet_01 + # 新建测试单 + - pms_new_test_sheet_02 + # 获取测试单id - pms_get_test_sheet_list_by_name_02 + # 新建测试报告 + - pms_new_test_report_01 + # 获取测试报告id + - pms_get_test_report_list_by_name_02 + teardown: + interface: + # 删除测试单 + - pms_delete_test_sheet_01 + # 删除测试报告 + - pms_delete_test_report_01 case_info: - id: pms_edit_test_report_01 @@ -39,13 +53,6 @@ case_info: assert_sql: extract: case_dependence: - setup: - interface: - - pms_new_test_report_01 - - pms_get_test_report_list_by_name_02 - teardown: - interface: - - pms_delete_test_report_01 - id: pms_edit_test_report_02 title: 项目内编辑测试报告接口 - 起止时间 @@ -71,13 +78,6 @@ case_info: assert_sql: extract: case_dependence: - setup: - interface: - - pms_new_test_report_01 - - pms_get_test_report_list_by_name_02 - teardown: - interface: - - pms_delete_test_report_01 - id: pms_edit_test_report_03 title: 项目内编辑测试报告接口 - 报告总结 @@ -101,11 +101,4 @@ case_info: assert_type: == assert_sql: extract: - case_dependence: - setup: - interface: - - pms_new_test_report_01 - - pms_get_test_report_list_by_name_02 - teardown: - interface: - - pms_delete_test_report_01 \ No newline at end of file + case_dependence: \ No newline at end of file diff --git a/interface/pms/projects/test_report/test_get_test_report_detail.yaml b/interface/pms/projects/test_report/test_get_test_report_detail.yaml new file mode 100644 index 0000000..0f3b30f --- /dev/null +++ b/interface/pms/projects/test_report/test_get_test_report_detail.yaml @@ -0,0 +1,65 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 测试报告 + case_markers: + - pms + - pms_project + - test_report + - usefixtures: gitlink_login + +# 前提条件:当前存在组织,组织下存在项目,项目下存在测试报告 +# 注意:如果需要新建的测试报告内存在相关数据,需要在测试单内添加用例,执行用例 + +common_dependence: + setup: + interface: + # 获取项目成员(负责人来源于项目成员) + - pms_get_project_member_list_01 + # 新建测试单 + - pms_new_test_sheet_02 + # 获取测试单id + - pms_get_test_sheet_list_by_name_02 + # 新建测试用例 + - pms_new_testcases_02 + # 获取单个未添加到测试单的测试用例 + - pms_get_unadd_testcases_list_01 + # 测试用例添加到测试单内 + - pms_test_sheet_add_testcase_01 + # 获取已添加到测试单内的测试用例 + - pms_get_added_testcases_list_02 + # 执行测试用例 + - pms_test_sheet_execute_testcase_01 + # 新建测试报告 + - pms_new_test_report_01 + # 获取测试报告id + - pms_get_test_report_list_by_name_02 + teardown: + interface: + # 删除测试单 + - pms_delete_test_sheet_01 + # 删除测试报告 + - pms_delete_test_report_01 + +case_info: + - id: pms_get_test_report_detail_01 + title: 项目内获取测试报告详情接口 + run: True + severity: normal + url: ${pms_host}/api/pms/${env_enterprise_identifier}/testReport/chart/${test_report_id} + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + 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_report/test_get_test_report_list.yaml b/interface/pms/projects/test_report/test_get_test_report_list.yaml index 4930ad3..60d7293 100644 --- a/interface/pms/projects/test_report/test_get_test_report_list.yaml +++ b/interface/pms/projects/test_report/test_get_test_report_list.yaml @@ -4,9 +4,31 @@ case_common: allure_story: 测试报告 case_markers: - pms + - pms_project - test_report - usefixtures: gitlink_login +# 前提条件:当前存在组织,组织下存在项目,项目下存在测试报告 +common_dependence: + setup: + interface: + # 获取项目成员(负责人来源于项目成员) + - pms_get_project_member_list_01 + # 新建测试单 + - pms_new_test_sheet_02 + # 获取测试单id + - pms_get_test_sheet_list_by_name_02 + # 新建测试报告 + - pms_new_test_report_01 + # 获取测试报告id + - pms_get_test_report_list_by_name_02 + teardown: + interface: + # 删除测试单 + - pms_delete_test_sheet_01 + # 删除测试报告 + - pms_delete_test_report_01 + case_info: - id: pms_get_test_report_list_01 title: 项目内获取测试报告列表接口 @@ -51,6 +73,7 @@ case_info: pageNum: 1 pageSize: 15 name: 新报告 + isAsc: desc # 排序的方向desc或者asc,默认asc files: assert_response: status_code: 200 diff --git a/interface/pms/projects/test_report/test_new_test_report.yaml b/interface/pms/projects/test_report/test_new_test_report.yaml index 9c5d804..a0c93ab 100644 --- a/interface/pms/projects/test_report/test_new_test_report.yaml +++ b/interface/pms/projects/test_report/test_new_test_report.yaml @@ -5,9 +5,24 @@ case_common: case_markers: - pms - test_report - - repeat(1) + - pms_project - usefixtures: gitlink_login +# 前提条件:当前存在组织,组织下存在项目 +# 注意:如果需要新建的测试报告内存在相关数据,需要在测试单内添加用例,执行用例 + +common_dependence: + setup: + interface: + # 新建测试单 + - pms_new_test_sheet_02 + # 获取测试单id + - pms_get_test_sheet_list_by_name_02 + teardown: + interface: + # 删除测试单 + - pms_delete_test_sheet_01 + case_info: - id: pms_new_test_report_01 title: 项目内新建测试报告接口 @@ -33,9 +48,9 @@ case_info: assert_sql: extract: case_dependence: - setup: + teardown: interface: - - pms_get_project_member_list_01 - - pms_get_sprint_list_01 - - pms_new_test_sheet_01 - - pms_get_test_sheet_list_by_name_02 \ No newline at end of file + # 获取测试报告id + - pms_get_test_report_list_by_name_02 + # 删除测试报告 + - pms_delete_test_report_01 \ No newline at end of file diff --git a/interface/pms/projects/test_sheet/test_get_test_sheet_detail.yaml b/interface/pms/projects/test_sheet/test_get_test_sheet_detail.yaml index 2fa5e58..9aa66a9 100644 --- a/interface/pms/projects/test_sheet/test_get_test_sheet_detail.yaml +++ b/interface/pms/projects/test_sheet/test_get_test_sheet_detail.yaml @@ -8,15 +8,20 @@ case_common: - project_test_sheet - usefixtures: gitlink_login +# 前提条件:当前存在组织,组织下存在项目,项目下存在测试单 common_dependence: setup: interface: - - pms_get_project_member_list_01 - - pms_new_test_sheet_02 - - pms_get_test_sheet_list_by_name_02 + # 获取项目成员(负责人来源于项目成员) + - pms_get_project_member_list_01 + # 新建测试单 + - pms_new_test_sheet_02 + # 获取测试单id + - pms_get_test_sheet_list_by_name_02 teardown: interface: + # 删除测试单 - pms_delete_test_sheet_01 case_info: 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 index 9f2dbd7..d151c80 100644 --- a/interface/pms/projects/test_sheet/test_pms_delete_test_sheet.yaml +++ b/interface/pms/projects/test_sheet/test_pms_delete_test_sheet.yaml @@ -8,6 +8,14 @@ case_common: - project_test_sheet - usefixtures: gitlink_login +# 前提条件:当前存在组织,组织下存在项目,项目下存在测试单 + +common_dependence: + setup: + interface: + # 获取项目成员(负责人来源于项目成员) + - pms_get_project_member_list_01 + case_info: - id: pms_delete_test_sheet_01 @@ -33,8 +41,9 @@ case_info: case_dependence: setup: interface: - - pms_get_project_member_list_01 + # 新建测试单 - pms_new_test_sheet_02 + # 获取测试单id - pms_get_test_sheet_list_by_name_02 @@ -62,7 +71,8 @@ case_info: case_dependence: setup: interface: - - pms_get_project_member_list_01 + # 新建多个测试单 - pms_new_test_sheet_02 - pms_new_test_sheet_02 + # 获取多个测试单id - 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 index b3df7ef..a5a5c40 100644 --- a/interface/pms/projects/test_sheet/test_pms_edit_test_sheet.yaml +++ b/interface/pms/projects/test_sheet/test_pms_edit_test_sheet.yaml @@ -7,18 +7,29 @@ case_common: - pms_project - project_test_sheet - usefixtures: gitlink_login - - + +# 前提条件:当前存在组织,组织下存在项目,项目下存在测试单 + common_dependence: setup: - interface: - - pms_get_project_member_list_01 - - pms_new_test_sheet_02 - - pms_get_test_sheet_list_by_name_02 + interface: + # 获取项目成员(负责人来源于项目成员) + - pms_get_project_member_list_01 + # 新建迭代 + - pms_new_sprint_01 + # 获取迭代id + - pms_get_sprint_list_by_name_02 + # 新建测试单 + - pms_new_test_sheet_02 + # 获取测试单id + - pms_get_test_sheet_list_by_name_02 teardown: interface: + # 清理数据:删除迭代 + - pms_delete_sprint_01 + # 删除测试单 - pms_delete_test_sheet_01 - + case_info: - @@ -50,12 +61,6 @@ case_info: assert_sql: extract: case_dependence: - setup: - interface: - - pms_new_sprint_01 - - pms_get_sprint_list_by_name_02 - teardown: - interface: pms_delete_sprint_01 - diff --git a/interface/pms/projects/test_sheet/test_pms_get_test_sheet_testcases_list.yaml b/interface/pms/projects/test_sheet/test_pms_get_added_unadd_testcases_list.yaml similarity index 82% rename from interface/pms/projects/test_sheet/test_pms_get_test_sheet_testcases_list.yaml rename to interface/pms/projects/test_sheet/test_pms_get_added_unadd_testcases_list.yaml index a7592b4..163cb8d 100644 --- a/interface/pms/projects/test_sheet/test_pms_get_test_sheet_testcases_list.yaml +++ b/interface/pms/projects/test_sheet/test_pms_get_added_unadd_testcases_list.yaml @@ -13,14 +13,19 @@ case_common: # 2. 新建测试用例, 获取测试用例id # 3. 测试用例添加到测试单内 +# 前提条件:当前存在组织,组织下存在项目,项目下存在测试单 common_dependence: setup: interface: + # 获取项目成员(负责人来源于项目成员) - pms_get_project_member_list_01 + # 新建测试单 - pms_new_test_sheet_02 + # 获取测试单id - pms_get_test_sheet_list_by_name_02 teardown: interface: + # 删除测试单 - pms_delete_test_sheet_01 case_info: @@ -53,7 +58,12 @@ case_info: extract: type_jsonpath: unadd_testcase_ids: $.rows[*].testcaseDataVo.id + unadd_testcase_id: $.rows[0].testcaseDataVo.id case_dependence: + setup: + interface: + # 新建测试用例 + - pms_new_testcases_02 - id: pms_get_added_testcases_list_02 @@ -89,4 +99,10 @@ case_info: added_testcase_id: $.rows[0].id test_case_step_id: $.rows[0].testcaseDataVo.testcaseStepList[*].id test_case_step_status_id: $.rows[0].testcaseDataVo.testcaseStepList[*].execResult - case_dependence: \ No newline at end of file + case_dependence: + setup: + interface: + # 新建测试用例 + - pms_new_testcases_02 + # 用例加入测试单 + - pms_test_sheet_add_testcase_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 index 3eab675..d0c64f9 100644 --- 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 @@ -3,74 +3,67 @@ case_common: allure_feature: 项目 allure_story: 测试单 case_markers: - - pms - - pms_project - - project_test_sheet - - usefixtures: gitlink_login + - pms + - pms_project + - project_test_sheet + - usefixtures: gitlink_login + +# 前提条件:当前存在组织,组织下存在项目,项目下存在测试单 -common_dependence: - setup: - interface: - - pms_get_project_member_list_01 - - pms_new_test_sheet_02 - teardown: - interface: - - pms_delete_test_sheet_01 case_info: -- - id: pms_get_test_sheet_list_01 - title: 项目下获取测试单列表接口 - run: True - severity: normal - url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectTestsheet/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 - files: - assert_response: + - id: pms_get_test_sheet_list_01 + title: 项目下获取测试单列表接口 + run: True + severity: normal + url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectTestsheet/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 + 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: + assert_sql: + extract: + type_jsonpath: + test_sheet_ids: $.rows[*].id + case_dependence: -- - id: pms_get_test_sheet_list_by_name_02 - title: 项目下获取测试单列表接口 - 通过测试单名称关键字搜索 - run: True - severity: normal - url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectTestsheet/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 - name: 测试单 - files: - assert_response: + + - id: pms_get_test_sheet_list_by_name_02 + title: 项目下获取测试单列表接口 - 通过测试单名称关键字搜索 + run: True + severity: normal + url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectTestsheet/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 + name: 测试单 + files: + assert_response: status_code: 200 assertMessage: type_jsonpath: $.msg expect_value: 查询成功 assert_type: == - assert_sql: - extract: - type_jsonpath: - test_sheet_id: $.rows[0].id - case_dependence: \ No newline at end of file + assert_sql: + extract: + type_jsonpath: + test_sheet_id: $.rows[0].id + case_dependence: \ No newline at end of file diff --git a/interface/pms/projects/test_sheet/test_pms_get_test_sheet_module_list.yaml b/interface/pms/projects/test_sheet/test_pms_get_test_sheet_module_list.yaml index c54f08e..876bb1e 100644 --- a/interface/pms/projects/test_sheet/test_pms_get_test_sheet_module_list.yaml +++ b/interface/pms/projects/test_sheet/test_pms_get_test_sheet_module_list.yaml @@ -8,15 +8,19 @@ case_common: - project_test_sheet - usefixtures: gitlink_login - +# 前提条件:当前存在组织,组织下存在项目,项目下存在测试单 common_dependence: setup: interface: - - pms_get_project_member_list_01 - - pms_new_test_sheet_02 - - pms_get_test_sheet_list_by_name_02 + # 获取项目成员(负责人来源于项目成员) + - pms_get_project_member_list_01 + # 新建测试单 + - pms_new_test_sheet_02 + # 获取测试单id + - pms_get_test_sheet_list_by_name_02 teardown: interface: + # 删除测试单 - pms_delete_test_sheet_01 case_info: 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 index 054cddf..022dc0d 100644 --- a/interface/pms/projects/test_sheet/test_pms_new_test_sheet.yaml +++ b/interface/pms/projects/test_sheet/test_pms_new_test_sheet.yaml @@ -6,12 +6,23 @@ case_common: - pms - pms_project - project_test_sheet - - repeat(1) - usefixtures: gitlink_login +# 前提条件:当前存在组织,组织下存在项目 + common_dependence: setup: - interface: pms_get_project_member_list_01 + interface: + # 获取项目成员(负责人来源于项目成员) + - pms_get_project_member_list_01 + # 新建迭代 + - pms_new_sprint_01 + # 获取迭代id + - pms_get_sprint_list_by_name_02 + teardown: + interface: + # 清理数据:删除迭代 + - pms_delete_sprint_01 case_info: - @@ -26,9 +37,9 @@ case_info: cookies: ${cookies} request_type: json payload: - pmsProjectId: ${env_pms_project_id} - name: 测试单 - ${generate_paragraph(lan='zh', nb=1)} - assigneeId: ${random.choice(${project_member_ids})} + 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_after_week} projectSprintId: ${project_sprint_id} @@ -42,15 +53,12 @@ case_info: assert_sql: extract: case_dependence: - setup: - interface: - - pms_new_sprint_01 - - pms_get_sprint_list_by_name_02 teardown: interface: + # 获取测试单id - pms_get_test_sheet_list_by_name_02 + # 删除测试单 - pms_delete_test_sheet_01 - - pms_delete_sprint_01 - id: pms_new_test_sheet_02 @@ -79,7 +87,9 @@ case_info: case_dependence: teardown: interface: + # 获取测试单id - pms_get_test_sheet_list_by_name_02 + # 删除测试单 - pms_delete_test_sheet_01 - 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 index 4e7a700..c6577f4 100644 --- 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 @@ -17,17 +17,17 @@ case_common: common_dependence: setup: interface: - # 新建测试单, 获取测试单id + # 获取项目成员(负责人来源于项目成员) - pms_get_project_member_list_01 + # 新建测试单, 获取测试单id - pms_new_test_sheet_02 - pms_get_test_sheet_list_by_name_02 - # 新建测试用例, 获取测试用例id - - pms_get_enterprise_user_list_01 - - pms_get_testcase_tag_list_01 + # 新建测试用例 - pms_new_testcases_02 -# teardown: -# interface: -# - pms_delete_test_sheet_01 + teardown: + interface: + # 清理数据:删除测试单 + - pms_delete_test_sheet_01 case_info: - @@ -43,7 +43,7 @@ case_info: request_type: json payload: idList: - - ${testcase_id} + - ${unadd_testcase_id} projectTestsheetId: ${test_sheet_id} files: assert_response: @@ -55,6 +55,10 @@ case_info: assert_sql: extract: case_dependence: + setup: + interface: + # 获取单个未添加到测试单的测试用例 + - pms_get_unadd_testcases_list_01 - @@ -83,5 +87,9 @@ case_info: case_dependence: setup: interface: + # 新建测试用例 - pms_new_testcases_02 + # 新建测试用例 + - pms_new_testcases_02 + # 获取多个未添加到测试单的测试用例 - pms_get_unadd_testcases_list_01 \ No newline at end of file diff --git a/interface/pms/projects/test_sheet/test_pms_test_sheet_execute_testcase.yaml b/interface/pms/projects/test_sheet/test_pms_test_sheet_execute_testcase.yaml index 3193948..ac92a9c 100644 --- a/interface/pms/projects/test_sheet/test_pms_test_sheet_execute_testcase.yaml +++ b/interface/pms/projects/test_sheet/test_pms_test_sheet_execute_testcase.yaml @@ -6,7 +6,6 @@ case_common: - pms - pms_project - project_test_sheet - - ddd - usefixtures: gitlink_login @@ -19,20 +18,21 @@ case_common: common_dependence: setup: interface: - # 新建测试单, 获取测试单id + # 获取项目成员(负责人来源于项目成员) - pms_get_project_member_list_01 + # 新建测试单, 获取测试单id - pms_new_test_sheet_02 - pms_get_test_sheet_list_by_name_02 - # 新建测试用例, 获取测试用例id - - pms_get_enterprise_user_list_01 - - pms_get_testcase_tag_list_01 + # 新建测试用例 - pms_new_testcases_02 # 测试用例添加到测试单内 - pms_test_sheet_add_testcase_01 + # 获取已添加到测试单内的测试用例 - pms_get_added_testcases_list_02 -# teardown: -# interface: -# - pms_delete_test_sheet_01 + teardown: + interface: + # 清理数据:删除测试单 + - pms_delete_test_sheet_01 case_info: - @@ -60,9 +60,6 @@ case_info: assert_sql: extract: case_dependence: - setup: - interface: - - pms_get_added_testcases_list_02 - id: pms_test_sheet_execute_testcase_02 @@ -90,9 +87,6 @@ case_info: assert_sql: extract: case_dependence: - setup: - interface: - - pms_get_added_testcases_list_02 - id: pms_test_sheet_execute_testcase_03 @@ -120,9 +114,6 @@ case_info: assert_sql: extract: case_dependence: - setup: - interface: - - pms_get_added_testcases_list_02 - id: pms_test_sheet_execute_testcase_04 @@ -149,7 +140,4 @@ case_info: assert_type: == assert_sql: extract: - case_dependence: - setup: - interface: - - pms_get_added_testcases_list_02 \ No newline at end of file + case_dependence: \ No newline at end of file diff --git a/interface/pms/projects/testcases/test_pms_batch_edit_testcases.yaml b/interface/pms/projects/testcases/test_pms_batch_edit_testcases.yaml index dbede53..f0e9614 100644 --- a/interface/pms/projects/testcases/test_pms_batch_edit_testcases.yaml +++ b/interface/pms/projects/testcases/test_pms_batch_edit_testcases.yaml @@ -8,17 +8,34 @@ case_common: - project_testcases - usefixtures: gitlink_login + +# 前提条件:当前存在组织,组织下存在项目, 项目下存在测试用例 +# 测试用例编辑项:维护人(单选),标记(多选),用例类型(单选),用例模块(单选) + common_dependence: setup: interface: - - pms_get_enterprise_user_list_01 - - pms_get_testcase_tag_list_01 - - pms_new_testcases_02 - - pms_new_testcases_02 - - pms_get_testcases_list_01 - - pms_new_testcase_module_01 + # 获取项目成员(用例负责人来源于项目成员) + - pms_get_project_member_list_01 + # 新建测试用例标记 + - pms_new_testcase_tag_01 + # 获取测试用例标记 + - pms_get_testcase_tag_list_by_name_02 + # 获取用例类型接口 - pms_get_testcase_type_list_01 - - pms_get_testcase_tag_list_01 + # 新建测试用例 - 无所属模块 + - pms_new_testcases_02 + # 新建测试用例 - 无所属模块 + - pms_new_testcases_02 + # 新建父级模块 + - pms_new_testcase_module_01 + # 获取多个测试用例 + - pms_get_testcases_list_01 + teardown: + interface: + # 删除父级模块 + - pms_delete_testcase_module_01 + case_info: - @@ -36,8 +53,8 @@ case_info: idList: ${testcase_ids} pmsModuleId: ${testcase_module_id} # 模块id typeId: ${random.choice(${testcase_type_ids})} # 用例类型id - tags: ${random.choice(${testcase_tag_ids})} # 标记ID - assigneeGitlinkId: ${random.choice(${assignee_ids})} # 用例维护人id + tags: ${testcase_tag_id} # 标记ID + assigneeGitlinkId: ${random.choice(${project_member_ids})} # 用例维护人id files: assert_response: status_code: 200 diff --git a/interface/pms/projects/testcases/test_pms_delete_testcases.yaml b/interface/pms/projects/testcases/test_pms_delete_testcases.yaml index 8a43ce9..b61938b 100644 --- a/interface/pms/projects/testcases/test_pms_delete_testcases.yaml +++ b/interface/pms/projects/testcases/test_pms_delete_testcases.yaml @@ -8,13 +8,15 @@ case_common: - project_testcases - usefixtures: gitlink_login +# 前提条件:当前存在组织,组织下存在项目, 项目下存在测试用例 + common_dependence: setup: interface: - - pms_get_enterprise_user_list_01 + # 获取项目成员(用例负责人来源于项目成员) + - pms_get_project_member_list_01 + # 获取测试用例标记 - pms_get_testcase_tag_list_01 - - pms_new_testcases_02 - case_info: - @@ -39,6 +41,10 @@ case_info: assert_sql: extract: case_dependence: + setup: + interface: + # 新建测试用例 - 无所属模块 + - pms_new_testcases_02 - id: pms_delete_testcases_02 @@ -64,6 +70,9 @@ case_info: case_dependence: setup: interface: + # 新建测试用例 - 无所属模块 - pms_new_testcases_02 + # 新建测试用例 - 无所属模块 - pms_new_testcases_02 + # 获取多个测试用例 - pms_get_testcases_list_01 \ No newline at end of file diff --git a/interface/pms/projects/testcases/test_pms_edit_testcases.yaml b/interface/pms/projects/testcases/test_pms_edit_testcases.yaml index 581f46b..a70d41f 100644 --- a/interface/pms/projects/testcases/test_pms_edit_testcases.yaml +++ b/interface/pms/projects/testcases/test_pms_edit_testcases.yaml @@ -8,13 +8,21 @@ case_common: - project_testcases - usefixtures: gitlink_login +# 前提条件:当前存在组织,组织下存在项目, 项目下存在测试用例 + common_dependence: setup: interface: - - pms_get_enterprise_user_list_01 - - pms_get_testcase_tag_list_01 + # 获取项目成员(用例负责人来源于项目成员) + - pms_get_project_member_list_01 + # 新建测试用例标记 + - pms_new_testcase_tag_01 + # 获取测试用例标记 + - pms_get_testcase_tag_list_by_name_02 + # 新建测试用例 - 无所属模块 - pms_new_testcases_02 + case_info: - id: pms_edit_testcases_01 @@ -43,7 +51,7 @@ case_info: - id: pms_edit_testcases_02 - title: 项目下编辑测试用例接口 - 编辑所有字段 + title: 项目下编辑测试用例接口(编辑所有字段), 编辑成功 run: True severity: blocker url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectTestcase @@ -56,9 +64,10 @@ case_info: id: ${testcase_id} title: ${generate_paragraph(nb=1)} preconditions: ${generate_words(lan='zh', nb=2)} - assigneeGitlinkId: ${${assignee_ids}[0]} - tags: ${random.choice(${testcase_tag_ids})} + assigneeGitlinkId: ${${project_member_ids}[0]} + tags: ${testcase_tag_id} typeId: ${random.choice([1,2,3,4,5,6,7])} # 用例类型 功能测试1 性能测试2 接口测试3 安装部署4 安全相关5 配置相关6 其他7 + pmsModuleId: ${testcase_module_id} testcaseStepInputVoList: - index: 0 @@ -81,7 +90,14 @@ case_info: case_dependence: setup: interface: - - pms_upload_file_01 + # 上传附件,获取附件标识 + - pms_upload_file_project_02 + # 新建测试用例模块,获取模块id + - pms_new_testcase_module_01 + teardown: + interface: + # 清理数据,删除测试用例模块 + - pms_delete_testcase_module_01 - id: pms_edit_testcases_03 @@ -97,7 +113,7 @@ case_info: payload: id: ${testcase_id} title: ${generate_paragraph(nb=1)} - assigneeGitlinkId: ${${assignee_ids}[0]} + assigneeGitlinkId: ${${project_member_ids}[0]} typeId: ${random.choice([1,2,3,4,5,6,7])} # 用例类型 功能测试1 性能测试2 接口测试3 安装部署4 安全相关5 配置相关6 其他7 pmsModuleId: -1 files: @@ -126,7 +142,7 @@ case_info: payload: id: ${testcase_id} title: - assigneeGitlinkId: ${${assignee_ids}[0]} + assigneeGitlinkId: ${${project_member_ids}[0]} typeId: ${random.choice([1,2,3,4,5,6,7])} # 用例类型 功能测试1 性能测试2 接口测试3 安装部署4 安全相关5 配置相关6 其他7 files: assert_response: @@ -154,7 +170,7 @@ case_info: payload: id: ${testcase_id} title: ${faker.pystr(max_chars=101)} - assigneeGitlinkId: ${${assignee_ids}[0]} + assigneeGitlinkId: ${${project_member_ids}[0]} typeId: ${random.choice([1,2,3,4,5,6,7])} # 用例类型 功能测试1 性能测试2 接口测试3 安装部署4 安全相关5 配置相关6 其他7 files: assert_response: @@ -183,7 +199,7 @@ case_info: id: ${testcase_id} title: ${faker.pystr(max_chars=100)} preconditions: ${faker.pystr(max_chars=501)} - assigneeGitlinkId: ${${assignee_ids}[0]} + assigneeGitlinkId: ${${project_member_ids}[0]} typeId: ${random.choice([1,2,3,4,5,6,7])} # 用例类型 功能测试1 性能测试2 接口测试3 安装部署4 安全相关5 配置相关6 其他7 files: assert_response: @@ -212,7 +228,7 @@ case_info: id: ${testcase_id} title: ${faker.pystr(max_chars=100)} remark: ${faker.pystr(max_chars=501)} - assigneeGitlinkId: ${${assignee_ids}[0]} + assigneeGitlinkId: ${${project_member_ids}[0]} typeId: ${random.choice([1,2,3,4,5,6,7])} # 用例类型 功能测试1 性能测试2 接口测试3 安装部署4 安全相关5 配置相关6 其他7 files: assert_response: diff --git a/interface/pms/projects/testcases/test_pms_get_testcase_type_list.yaml b/interface/pms/projects/testcases/test_pms_get_testcase_type_list.yaml index d8fea91..30dc05e 100644 --- a/interface/pms/projects/testcases/test_pms_get_testcase_type_list.yaml +++ b/interface/pms/projects/testcases/test_pms_get_testcase_type_list.yaml @@ -1,11 +1,11 @@ case_common: allure_epic: 项目管理 allure_feature: 项目 - allure_story: 测试用例模块 + allure_story: 测试用例 case_markers: - pms - pms_project - - project_test_module + - project_testcases - usefixtures: gitlink_login case_info: diff --git a/interface/pms/projects/testcases/test_pms_get_testcases_detail.yaml b/interface/pms/projects/testcases/test_pms_get_testcases_detail.yaml index 3392277..39d77fb 100644 --- a/interface/pms/projects/testcases/test_pms_get_testcases_detail.yaml +++ b/interface/pms/projects/testcases/test_pms_get_testcases_detail.yaml @@ -8,6 +8,15 @@ case_common: - project_testcases - usefixtures: gitlink_login +# 前提条件:当前存在组织,组织下存在项目, 项目下存在测试用例 +common_dependence: + setup: + interface: + # 获取项目成员(用例负责人来源于项目成员) + - pms_get_project_member_list_01 + # 新建测试用例 - 无所属模块 + - pms_new_testcases_02 + case_info: - id: pms_get_testcases_detail_01 @@ -33,7 +42,3 @@ case_info: type_jsonpath: testcase_ids: $.rows[*].id case_dependence: - setup: - interface: - - pms_get_enterprise_user_list_01 - - pms_new_testcases_02 diff --git a/interface/pms/projects/testcases/test_pms_get_testcases_list.yaml b/interface/pms/projects/testcases/test_pms_get_testcases_list.yaml index ef49c9c..22ee6ce 100644 --- a/interface/pms/projects/testcases/test_pms_get_testcases_list.yaml +++ b/interface/pms/projects/testcases/test_pms_get_testcases_list.yaml @@ -8,6 +8,15 @@ case_common: - project_testcases - usefixtures: gitlink_login +# 前提条件:当前存在组织,组织下存在项目, 项目下存在测试用例 +common_dependence: + setup: + interface: + # 获取项目成员(用例负责人来源于项目成员) + - pms_get_project_member_list_01 + # 新建测试用例 - 无所属模块 + - pms_new_testcases_02 + case_info: - id: pms_get_testcases_list_01 diff --git a/interface/pms/projects/testcases/test_pms_new_testcases.yaml b/interface/pms/projects/testcases/test_pms_new_testcases.yaml index cb473b5..d87216b 100644 --- a/interface/pms/projects/testcases/test_pms_new_testcases.yaml +++ b/interface/pms/projects/testcases/test_pms_new_testcases.yaml @@ -6,14 +6,19 @@ case_common: - pms - pms_project - project_testcases - - repeat(1) - usefixtures: gitlink_login +# 前提条件:当前存在组织,组织下存在项目 + common_dependence: setup: interface: - - pms_get_enterprise_user_list_01 - - pms_get_testcase_tag_list_01 + # 获取项目成员(用例负责人来源于项目成员) + - pms_get_project_member_list_01 + # 新建测试用例标记 + - pms_new_testcase_tag_01 + # 获取测试用例标记 + - pms_get_testcase_tag_list_by_name_02 case_info: - @@ -28,12 +33,12 @@ case_info: cookies: ${cookies} request_type: json payload: - pmsProjectId: ${env_pms_project_id} - title: ${generate_paragraph(nb=1)} + pmsProjectId: ${env_pms_project_id} # 必填 + title: ${generate_paragraph(nb=1)} # 必填 preconditions: ${generate_words(lan='zh', nb=2)} - assigneeGitlinkId: ${${assignee_ids}[0]} - tags: ${random.choice(${testcase_tag_ids})} - typeId: ${random.choice([1,2,3,4,5,6,7])} # 用例类型 功能测试1 性能测试2 接口测试3 安装部署4 安全相关5 配置相关6 其他7 + assigneeGitlinkId: ${${project_member_ids}[0]} # 必填 + tags: ${testcase_tag_id} + typeId: ${random.choice([1,2,3,4,5,6,7])} # 必填, 用例类型 功能测试1 性能测试2 接口测试3 安装部署4 安全相关5 配置相关6 其他7 pmsModuleId: ${testcase_module_id} testcaseStepInputVoList: - @@ -59,10 +64,13 @@ case_info: case_dependence: setup: interface: - - pms_upload_file_01 + # 上传附件,获取附件标识 + - pms_upload_file_project_02 + # 新建测试用例模块,获取模块id - pms_new_testcase_module_01 teardown: interface: + # 清理数据,删除测试用例模块 - pms_delete_testcase_module_01 - @@ -80,7 +88,7 @@ case_info: pmsProjectId: ${env_pms_project_id} title: ${generate_paragraph(nb=1)} preconditions: ${generate_words(lan='zh', nb=2)} - assigneeGitlinkId: ${${assignee_ids}[0]} + assigneeGitlinkId: ${${project_member_ids}[0]} typeId: ${random.choice([1,2,3,4,5,6,7])} # 用例类型 功能测试1 性能测试2 接口测试3 安装部署4 安全相关5 配置相关6 其他7 testcaseStepInputVoList: - @@ -118,20 +126,9 @@ case_info: payload: pmsProjectId: ${env_pms_project_id} title: ${generate_paragraph(nb=1)} - preconditions: ${generate_words(lan='zh', nb=2)} - assigneeGitlinkId: ${${assignee_ids}[0]} + assigneeGitlinkId: ${${project_member_ids}[0]} typeId: ${random.choice([1,2,3,4,5,6,7])} # 用例类型 功能测试1 性能测试2 接口测试3 安装部署4 安全相关5 配置相关6 其他7 pmsModuleId: -1 - 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: files: assert_response: status_code: 200 @@ -160,7 +157,7 @@ case_info: payload: pmsProjectId: ${env_pms_project_id} title: - assigneeGitlinkId: ${${assignee_ids}[0]} + assigneeGitlinkId: ${${project_member_ids}[0]} typeId: ${random.choice([1,2,3,4,5,6,7])} # 用例类型 功能测试1 性能测试2 接口测试3 安装部署4 安全相关5 配置相关6 其他7 files: assert_response: @@ -190,7 +187,7 @@ case_info: payload: pmsProjectId: ${env_pms_project_id} title: ${faker.pystr(max_chars=101)} - assigneeGitlinkId: ${${assignee_ids}[0]} + assigneeGitlinkId: ${${project_member_ids}[0]} typeId: ${random.choice([1,2,3,4,5,6,7])} # 用例类型 功能测试1 性能测试2 接口测试3 安装部署4 安全相关5 配置相关6 其他7 files: assert_response: @@ -221,7 +218,7 @@ case_info: pmsProjectId: ${env_pms_project_id} title: ${faker.pystr(max_chars=100)} preconditions: ${faker.pystr(max_chars=501)} - assigneeGitlinkId: ${${assignee_ids}[0]} + assigneeGitlinkId: ${${project_member_ids}[0]} typeId: ${random.choice([1,2,3,4,5,6,7])} # 用例类型 功能测试1 性能测试2 接口测试3 安装部署4 安全相关5 配置相关6 其他7 files: assert_response: @@ -252,7 +249,7 @@ case_info: pmsProjectId: ${env_pms_project_id} title: ${faker.pystr(max_chars=100)} remark: ${faker.pystr(max_chars=501)} - assigneeGitlinkId: ${${assignee_ids}[0]} + assigneeGitlinkId: ${${project_member_ids}[0]} typeId: ${random.choice([1,2,3,4,5,6,7])} # 用例类型 功能测试1 性能测试2 接口测试3 安装部署4 安全相关5 配置相关6 其他7 files: assert_response: diff --git a/interface/pms/projects/weekly/test_get_project_delete_weekly_report.yaml b/interface/pms/projects/weekly/test_get_project_delete_weekly_report.yaml new file mode 100644 index 0000000..6be8ca3 --- /dev/null +++ b/interface/pms/projects/weekly/test_get_project_delete_weekly_report.yaml @@ -0,0 +1,54 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 周报 + case_markers: + - pms + - pms_project + - weekly_report + - usefixtures: gitlink_login + +# 前提条件:当前存在组织,组织下存在项目,项目下存在当周周报 +# 注意:用户属于项目成员,可以新增当周(自然周)周报。新增周报时, 如果项目周报没有生成,会自动新增当周项目周报; +common_dependence: + setup: + interface: + # 获取可选项目负责人列表 + - pms_get_project_user_list_01 + # 新建项目 + - pms_new_project_02 + # 根据项目名称,获取项目id + - pms_get_project_list_by_name_02 + # 新建项目周报 + - pms_get_project_new_weekly_01 + # 新建项目成员周报 + - pms_get_project_new_weekly_02 + teardown: + interface: + # 删除项目 + - pms_delete_project_01 + +case_info: +- + id: pms_get_project_delete_weekly_01 + title: 删除项目成员周报, 删除成功 + run: True + severity: normal + url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectWeeklyReport/${user_weekly_id} + method: DELETE + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmProjectId: ${pms_project_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/projects/weekly/test_get_project_edit_weekly_report.yaml b/interface/pms/projects/weekly/test_get_project_edit_weekly_report.yaml new file mode 100644 index 0000000..124a1e8 --- /dev/null +++ b/interface/pms/projects/weekly/test_get_project_edit_weekly_report.yaml @@ -0,0 +1,81 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 周报 + case_markers: + - pms + - pms_project + - weekly_report + - usefixtures: gitlink_login + +# 前提条件:当前存在组织,组织下存在项目,项目下存在当周周报 +# 注意:用户属于项目成员,可以新增当周(自然周)周报。新增周报时, 如果项目周报没有生成,会自动新增当周项目周报; +common_dependence: + setup: + interface: + # 获取可选项目负责人列表 + - pms_get_project_user_list_01 + # 新建项目 + - pms_new_project_02 + # 根据项目名称,获取项目id + - pms_get_project_list_by_name_02 + # 新建项目周报 + - pms_get_project_new_weekly_01 + # 新建项目成员周报 + - pms_get_project_new_weekly_02 + teardown: + interface: + # 删除项目 + - pms_delete_project_01 + +case_info: +- + id: pms_get_project_edit_weekly_01 + title: 编辑项目周报总结, 编辑成功 + run: true + severity: normal + url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectWeeklyReport/edit/${project_weekly_id} + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmProjectId: ${pms_project_id} + description: ${generate_paragraph()} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + + +- + id: pms_get_project_edit_weekly_02 + title: 编辑项目成员周报, 编辑成功 + run: True + severity: normal + url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectWeeklyReport/edit/${user_weekly_id} + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmProjectId: ${pms_project_id} + description: ${generate_paragraph(nb=5)} + 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/weekly/test_get_project_new_weekly_report.yaml b/interface/pms/projects/weekly/test_get_project_new_weekly_report.yaml new file mode 100644 index 0000000..2e7098a --- /dev/null +++ b/interface/pms/projects/weekly/test_get_project_new_weekly_report.yaml @@ -0,0 +1,93 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 周报 + case_markers: + - pms + - pms_project + - weekly_report + - usefixtures: gitlink_login + +# 前提条件:当前存在组织,组织下存在项目 +# 注意:用户属于项目成员,可以新增当周(自然周)周报。新增周报时, 如果项目周报没有生成,会自动新增当周项目周报; +common_dependence: + setup: + interface: + # 获取可选项目负责人列表 + - pms_get_project_user_list_01 + # 新建项目 + - pms_new_project_02 + # 根据项目名称,获取项目id + - pms_get_project_list_by_name_02 + teardown: + interface: + # 删除项目 + - pms_delete_project_01 + +case_info: +- + id: pms_get_project_new_weekly_01 + title: 新增项目周报, 新增成功 + run: false + severity: normal + url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectWeeklyReport/add + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmProjectId: ${pms_project_id} + pmIssueType: 4 + statusId: 1 + priorityId: 1 + subject: ${get_current_week()}-${get_current_week('end')}项目周报 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + project_weekly_id: $.data.id + case_dependence: + + +- + id: pms_get_project_new_weekly_02 + title: 新增项目成员周报, 新增成功 + run: True + severity: normal + url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectWeeklyReport/add + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmProjectId: ${pms_project_id} + pmIssueType: 4 + statusId: 1 + priorityId: 1 + rootId: ${project_weekly_id} + subject: ${env_nickname}的项目周报(${get_current_week()}-${get_current_week('end')}) + description: ${generate_paragraph()} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + user_weekly_id: $.data.id + case_dependence: + setup: + interface: + # 新增项目周报 + - pms_get_project_new_weekly_01 \ No newline at end of file diff --git a/interface/pms/projects/weekly/test_get_project_weekly_list.yaml b/interface/pms/projects/weekly/test_get_project_weekly_list.yaml deleted file mode 100644 index 16106d0..0000000 --- a/interface/pms/projects/weekly/test_get_project_weekly_list.yaml +++ /dev/null @@ -1,38 +0,0 @@ -case_common: - allure_epic: 项目管理 - allure_feature: 项目 - allure_story: 成员 - case_markers: - - pms - - usefixtures: gitlink_login - -case_info: -- - id: pms_get_project_weekly_list_01 - title: 获取项目周报列表 - run: True - severity: normal - url: ${pms_host}/api/pms/${env_enterprise_identifier}/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: - rootId: -1 - 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/weekly/test_get_project_weekly_report_detail.yaml b/interface/pms/projects/weekly/test_get_project_weekly_report_detail.yaml new file mode 100644 index 0000000..d4633b1 --- /dev/null +++ b/interface/pms/projects/weekly/test_get_project_weekly_report_detail.yaml @@ -0,0 +1,77 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 周报 + case_markers: + - pms + - pms_project + - weekly_report + - usefixtures: gitlink_login + +common_dependence: + setup: + interface: + # 获取可选项目负责人列表 + - pms_get_project_user_list_01 + # 新建项目 + - pms_new_project_02 + # 根据项目名称,获取项目id + - pms_get_project_list_by_name_02 + # 新建项目周报 + - pms_get_project_new_weekly_01 + # 新建项目成员周报 + - pms_get_project_new_weekly_02 + teardown: + interface: + # 删除项目 + - pms_delete_project_01 + +case_info: +- + id: pms_get_project_weekly_detail_01 + title: 获取项目周报详情 + run: True + severity: normal + url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectWeeklyReport/${project_weekly_id} + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmProjectId: ${pms_project_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + + +- + id: pms_get_project_weekly_detail_02 + title: 获取项目成员周报详情 + run: True + severity: normal + url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectWeeklyReport/${user_weekly_id} + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmProjectId: ${pms_project_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/projects/weekly/test_get_project_weekly_report_list.yaml b/interface/pms/projects/weekly/test_get_project_weekly_report_list.yaml new file mode 100644 index 0000000..f2076ef --- /dev/null +++ b/interface/pms/projects/weekly/test_get_project_weekly_report_list.yaml @@ -0,0 +1,58 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 周报 + case_markers: + - pms + - pms_project + - weekly_report + - usefixtures: gitlink_login + +common_dependence: + setup: + interface: + # 获取可选项目负责人列表 + - pms_get_project_user_list_01 + # 新建项目 + - pms_new_project_02 + # 根据项目名称,获取项目id + - pms_get_project_list_by_name_02 + # 新建项目周报 + - pms_get_project_new_weekly_01 + # 新建项目成员周报 + - pms_get_project_new_weekly_02 + teardown: + interface: + # 删除项目 + - pms_delete_project_01 + +case_info: +- + id: pms_get_project_weekly_list_01 + title: 获取项目周报列表 + run: True + severity: normal + url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectWeeklyReport/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmProjectId: ${pms_project_id} + page: 1 + limit: 20 + category: all # 疑修类型,all 全部 opened 开启中 closed 已关闭 + participantCategory: all # 参与类型,all 全部 aboutme 关于我的 authoredme 我创建的 assignedme 我负责的 atme @我的 + pmIssueType: 4 # 需求1 任务2 缺陷3 周报4 + rootId: -1 + 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/work_item/bug/test_pms_batch_edit_project_bug.yaml b/interface/pms/projects/work_item/bug/test_pms_batch_edit_project_bug.yaml index a71800d..3b954f7 100644 --- a/interface/pms/projects/work_item/bug/test_pms_batch_edit_project_bug.yaml +++ b/interface/pms/projects/work_item/bug/test_pms_batch_edit_project_bug.yaml @@ -8,6 +8,36 @@ case_common: - project_bug - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目,项目下存在缺陷 +# 批量编辑缺陷包括编辑如下项:负责人(最多选择5个),状态(最多选择1个),优先级(最多选择1个),迭代(最多选择1个),标记(最多选择3个),代码库(最多选择1个) + +common_dependence: + setup: + interface: + # 获取项目成员 + - pms_get_project_member_list_01 + # 获取工作项标记 + - pms_get_work_item_tag_list_01 + # 获取项目拥有的仓库 + - pms_get_project_repo_list_01 + # 获取工作项状态ids + - pms_pms_get_issue_status_list_01 + # 新建迭代 + - pms_new_sprint_01 + # 获取迭代id + - pms_get_sprint_list_by_name_02 + # 新建项目缺陷 + - pms_new_project_bug_02 + # 新建项目缺陷 + - pms_new_project_bug_02 + # 获取多个项目缺陷 + - pms_get_project_bug_list_01 + + teardown: + interface: + # 清理数据:删除迭代 + - pms_delete_sprint_01 + case_info: - id: pms_batch_edit_project_bug_01 @@ -29,7 +59,7 @@ case_info: assignerIds: - ${random.choice(${project_member_ids})} priorityId: ${random.choice([1,2,3,4])} - statusId: ${random.choice([1,2,3,5,6])} # 待评审1 进行中2 已完成3 已关闭5 已拒绝6 + statusId: ${random.choice(${issue_status_ids})} # 待评审1 进行中2 已完成3 已关闭5 已拒绝6 files: assert_response: status_code: 200 @@ -40,16 +70,6 @@ case_info: assert_sql: extract: case_dependence: - setup: - interface: - - pms_new_project_bug_02 - - pms_new_project_bug_02 - - pms_get_work_item_tag_list_01 - - pms_get_project_member_list_01 - - pms_get_sprint_list_01 - - pms_get_project_repo_list_01 - - pms_get_project_bug_list_01 - - @@ -79,6 +99,5 @@ case_info: case_dependence: setup: interface: - - pms_new_project_bug_02 - - pms_new_project_bug_02 - - pms_get_project_bug_list_01 \ No newline at end of file + # 获取无父级无子级的缺陷 + - pms_pms_get_unlink_bug_list_01 \ No newline at end of file diff --git a/interface/pms/projects/work_item/bug/test_pms_delete_project_bug.yaml b/interface/pms/projects/work_item/bug/test_pms_delete_project_bug.yaml index 06d1de7..a1f2ff1 100644 --- a/interface/pms/projects/work_item/bug/test_pms_delete_project_bug.yaml +++ b/interface/pms/projects/work_item/bug/test_pms_delete_project_bug.yaml @@ -8,6 +8,8 @@ case_common: - project_bug - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目,项目下存在缺陷 + case_info: - id: pms_delete_project_bug_01 @@ -36,6 +38,7 @@ case_info: case_dependence: setup: interface: + # 新建项目缺陷 - pms_new_project_bug_02 - @@ -65,6 +68,9 @@ case_info: case_dependence: setup: interface: + # 新建项目缺陷 - pms_new_project_bug_02 + # 新建项目缺陷 - pms_new_project_bug_02 + # 获取多个项目缺陷 - pms_get_project_bug_list_01 diff --git a/interface/pms/projects/work_item/bug/test_pms_edit_project_bug.yaml b/interface/pms/projects/work_item/bug/test_pms_edit_project_bug.yaml index f0628bf..b982733 100644 --- a/interface/pms/projects/work_item/bug/test_pms_edit_project_bug.yaml +++ b/interface/pms/projects/work_item/bug/test_pms_edit_project_bug.yaml @@ -8,6 +8,33 @@ case_common: - project_bug - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目,项目下存在缺陷 +# 项目缺陷可选负责人来源于项目成员 +# 项目缺陷可选标记来源于组织下的工作项标记 +# 项目缺陷可选仓库来源于项目下的仓库 +# 注意:本用例没有清理缺陷数据。其实所有测试数据都在测试的组织内,数据是隔离的,不清理问题不大。 + +common_dependence: + setup: + interface: + # 获取项目成员 + - pms_get_project_member_list_01 + # 获取工作项标记 + - pms_get_work_item_tag_list_01 + # 获取项目拥有的仓库 + - pms_get_project_repo_list_01 + # 获取工作项状态ids + - pms_pms_get_issue_status_list_01 + # 新建迭代 + - pms_new_sprint_01 + # 获取迭代id + - pms_get_sprint_list_by_name_02 + # 新建项目缺陷 + - pms_new_project_bug_02 + teardown: + interface: + # 清理数据:删除迭代 + - pms_delete_sprint_01 case_info: - id: pms_edit_project_bug_01 @@ -22,7 +49,7 @@ case_info: request_type: json payload: pmProjectId: ${env_pms_project_id} - pmIssueType: 3 # 1 缺陷 2 任务 3 缺陷 + pmIssueType: 3 # 1 缺陷 2 缺陷 3 缺陷 subject: 缺陷_${generate_paragraph(lan='zh',nb=1)}_${generate_time} files: assert_response: @@ -49,17 +76,17 @@ case_info: cookies: ${cookies} request_type: json payload: - statusId: ${random.choice([1,2,3,5,6])} # 待评审1 进行中2 已完成3 已关闭5 已拒绝6 + statusId: ${random.choice(${issue_status_ids})} # 待评审1 进行中2 已完成3 已关闭5 已拒绝6 pmProjectId: ${env_pms_project_id} pmIssueType: 3 subject: 工作项_${generate_paragraph(lan='zh',nb=1)}_${generate_time} description: ${generate_paragraph(nb=6)} assignerIds: ${${project_member_ids}[1:4]} attachmentIds: - - ${file_id} + - ${file_identifier} priorityId: ${random.choice([1,2,3,4])} issueTagIds: ${${work_item_tag_ids}[1:4]} - sprintId: + sprintId: ${project_sprint_id} projectId: ${${project_repo_ids}[0]} branchName: master startDate: ${generate_time(fmt='%Y-%m-%d')} @@ -77,11 +104,8 @@ case_info: case_dependence: setup: interface: - - pms_new_project_bug_02 - - pms_project_upload_files_01 - - pms_get_project_member_list_01 - - pms_get_work_item_tag_list_01 - - pms_get_project_repo_list_01 + # 上传附件,获取附件标识 + - pms_project_gitlink_upload_files_01 - id: pms_edit_project_bug_03 @@ -97,16 +121,6 @@ case_info: payload: pmProjectId: ${env_pms_project_id} rootId: ${${parent_bug_ids}[0]} # 关联的父缺陷id - statusId: ${bug_status_id} - priorityId: ${bug_priority_id} - assignerIds: ${str_to_list(${bug_assignee_ids})} - issueTagIds: ${str_to_list(${bug_tag_ids})} - projectId: ${none_to_null(${bug_project_id})} - sprintId: ${none_to_null(${bug_sprint_id})} - branchName: ${none_to_null(${bug_branch_name})} - startDate: ${none_to_null(${bug_start_date})} - dueDate: ${none_to_null(${bug_due_date})} - timeScale: ${none_to_null(${bug_time_scale})} files: assert_response: status_code: 200 @@ -119,9 +133,10 @@ case_info: case_dependence: setup: interface: + # 新建项目缺陷 - pms_new_project_bug_02 + # 获取可选父缺陷列表 - pms_pms_get_optional_parent_bug_list_01 - - pms_get_project_bug_detail_01 - id: pms_edit_project_bug_04 title: 项目下编辑缺陷 - 取消父子关系,取消成功 @@ -148,9 +163,12 @@ case_info: case_dependence: setup: interface: + # 新建项目缺陷 - pms_new_project_bug_02 + # 获取可选父缺陷列表 - pms_pms_get_optional_parent_bug_list_01 - - pms_get_project_bug_detail_01 + # 缺陷关联父缺陷 + - pms_edit_project_bug_03 diff --git a/interface/pms/projects/work_item/bug/test_pms_get_optional_parent_bug_list.yaml b/interface/pms/projects/work_item/bug/test_pms_get_optional_parent_bug_list.yaml index 07f1351..5dd4a22 100644 --- a/interface/pms/projects/work_item/bug/test_pms_get_optional_parent_bug_list.yaml +++ b/interface/pms/projects/work_item/bug/test_pms_get_optional_parent_bug_list.yaml @@ -8,6 +8,8 @@ case_common: - project_bug - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目,项目下存在缺陷 + case_info: - id: pms_pms_get_optional_parent_bug_list_01 title: 获取缺陷可关联的父缺陷列表 diff --git a/interface/pms/projects/work_item/bug/test_pms_get_project_bug_detail.yaml b/interface/pms/projects/work_item/bug/test_pms_get_project_bug_detail.yaml index 42311ae..228197b 100644 --- a/interface/pms/projects/work_item/bug/test_pms_get_project_bug_detail.yaml +++ b/interface/pms/projects/work_item/bug/test_pms_get_project_bug_detail.yaml @@ -8,6 +8,8 @@ case_common: - project_bug - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目,项目下存在缺陷 + common_dependence: setup: interface: pms_new_project_bug_02 diff --git a/interface/pms/projects/work_item/bug/test_pms_get_project_bug_list.yaml b/interface/pms/projects/work_item/bug/test_pms_get_project_bug_list.yaml index b585ad4..ecac0c8 100644 --- a/interface/pms/projects/work_item/bug/test_pms_get_project_bug_list.yaml +++ b/interface/pms/projects/work_item/bug/test_pms_get_project_bug_list.yaml @@ -8,6 +8,8 @@ case_common: - project_bug - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目,项目下存在缺陷 + case_info: - id: pms_get_project_bug_list_01 diff --git a/interface/pms/projects/work_item/bug/test_pms_get_unlink_bug_list.yaml b/interface/pms/projects/work_item/bug/test_pms_get_unlink_bug_list.yaml new file mode 100644 index 0000000..52f802a --- /dev/null +++ b/interface/pms/projects/work_item/bug/test_pms_get_unlink_bug_list.yaml @@ -0,0 +1,48 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 工作项 - 缺陷 + case_markers: + - pms + - pms_project + - project_bug + - usefixtures: gitlink_login + +common_dependence: + setup: + interface: + # 获取工作项状态ids + - pms_pms_get_issue_status_list_01 + # 新建项目缺陷 + - pms_new_project_bug_02 + + +case_info: + - id: pms_pms_get_unlink_bug_list_01 + title: 查看与当前项目工作项未关联/未绑定父子级关系的一级工作项(缺陷) + run: True + severity: critical + url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectIssues/unlink/${project_bug_id} + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmProjectId: ${env_pms_project_id} + page: 1 + limit: 50 + pmIssueType: 2 + issueFilterType: leaf_issue # 工作项筛选类型 叶子节点工作项:leaf_issue 关联工作项:link_issue + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + unlink_bug_ids: $.data.issues[*].id + case_dependence: diff --git a/interface/pms/projects/work_item/bug/test_pms_new_project_bug.yaml b/interface/pms/projects/work_item/bug/test_pms_new_project_bug.yaml index ce3f159..e917727 100644 --- a/interface/pms/projects/work_item/bug/test_pms_new_project_bug.yaml +++ b/interface/pms/projects/work_item/bug/test_pms_new_project_bug.yaml @@ -8,12 +8,31 @@ case_common: - project_bug - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目 +# 项目缺陷可选负责人来源于项目成员 +# 项目缺陷可选标记来源于组织下的工作项标记 +# 项目缺陷可选仓库来源于项目下的仓库 +# 注意:本用例没有清理缺陷数据。其实所有测试数据都在测试的组织内,数据是隔离的,不清理问题不大。 + common_dependence: setup: interface: + # 获取项目成员 - pms_get_project_member_list_01 + # 获取工作项标记 - pms_get_work_item_tag_list_01 + # 获取项目拥有的仓库 - pms_get_project_repo_list_01 + # 获取工作项状态ids + - pms_pms_get_issue_status_list_01 + # 新建迭代 + - pms_new_sprint_01 + # 获取迭代id + - pms_get_sprint_list_by_name_02 + teardown: + interface: + # 清理数据:删除迭代 + - pms_delete_sprint_01 case_info: - id: pms_new_project_bug_01 @@ -31,10 +50,10 @@ case_info: pmIssueType: 3 # 1 缺陷 2 缺陷 3 缺陷 subject: 缺陷_${generate_paragraph(lan='zh',nb=1)}_${generate_time} description: ${generate_paragraph(nb=6)} - statusId: 1 + statusId: ${random.choice(${issue_status_ids})} assignerIds: ${${project_member_ids}[1:4]} attachmentIds: - - ${file_id} + - ${file_identifier} priorityId: ${random.choice([1,2,3,4])} issueTagIds: ${${work_item_tag_ids}[1:4]} sprintId: @@ -57,7 +76,8 @@ case_info: case_dependence: setup: interface: - - pms_project_upload_files_01 + # 上传附件,获取附件标识 + - pms_project_gitlink_upload_files_01 - id: pms_new_project_bug_02 title: 项目下新建缺陷接口 - 仅输入标题,新建成功 @@ -73,7 +93,7 @@ case_info: pmProjectId: ${env_pms_project_id} pmIssueType: 3 # 1 缺陷 2 缺陷 3 缺陷 subject: 缺陷_${generate_paragraph(lan='zh',nb=1)}_${generate_time} - statusId: 1 + statusId: ${random.choice(${issue_status_ids})} # 必填 priorityId: ${random.choice([1,2,3,4])} files: assert_response: @@ -90,7 +110,7 @@ case_info: - id: pms_new_project_bug_children_03 - title: 项目下新建子级缺陷接口 - 新建成功 + title: 项目下新建子级缺陷接口(所有参数全部填写) - 新建成功 run: false severity: blocker url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectIssues/add @@ -104,10 +124,10 @@ case_info: pmIssueType: 3 subject: 缺陷_${generate_paragraph(lan='zh',nb=1)}_${generate_time} description: ${generate_paragraph(nb=6)} - statusId: 1 + statusId: ${random.choice(${issue_status_ids})} assignerIds: ${${project_member_ids}[1:4]} attachmentIds: - - ${file_id} + - ${file_identifier} priorityId: ${random.choice([1,2,3,4])} issueTagIds: ${${work_item_tag_ids}[1:4]} sprintId: @@ -131,8 +151,10 @@ case_info: case_dependence: setup: interface: + # 新建父级缺陷 - pms_new_project_bug_02 - - pms_project_upload_files_01 + # 上传附件,获取附件标识 + - pms_project_gitlink_upload_files_01 - id: pms_new_project_bug_children_04 title: 项目下新建子级缺陷接口 - 仅输入标题新建, 新建成功 @@ -148,8 +170,8 @@ case_info: pmProjectId: ${env_pms_project_id} pmIssueType: 3 subject: 工作项_${generate_paragraph(lan='zh',nb=1)}_${generate_time} - statusId: 1 - priorityId: 1 + statusId: ${random.choice(${issue_status_ids})} + priorityId: ${random.choice([1,2,3,4])} # 必填 rootId: ${project_bug_id} files: assert_response: @@ -165,4 +187,5 @@ case_info: case_dependence: setup: interface: + # 新建父级缺陷 - pms_new_project_bug_02 diff --git a/interface/pms/projects/work_item/bug/test_pms_project_bug_add_journal.yaml b/interface/pms/projects/work_item/bug/test_pms_project_bug_add_journal.yaml index 6d0c016..01e14f7 100644 --- a/interface/pms/projects/work_item/bug/test_pms_project_bug_add_journal.yaml +++ b/interface/pms/projects/work_item/bug/test_pms_project_bug_add_journal.yaml @@ -9,15 +9,21 @@ case_common: - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目,项目下存在缺陷 + common_dependence: setup: - interface: pms_new_project_bug_02 + interface: + # 获取工作项状态ids,用于后面创建缺陷 + - pms_pms_get_issue_status_list_01 + # 新建缺陷 + - pms_new_project_bug_02 case_info: - id: pms_project_bug_add_journal_01 - title: 缺陷下添加评论 + title: 缺陷下添加评论, 上传附件,添加成功 run: True severity: blocker url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectIssues/journals/${project_bug_id} @@ -30,7 +36,7 @@ case_info: pmProjectId: ${env_pms_project_id} notes: ${generate_paragraph(nb=6)} attachmentIds: - - ${file_id} + - ${file_identifier} files: assert_response: status_code: 200 @@ -45,44 +51,12 @@ case_info: case_dependence: setup: interface: - - pms_project_upload_files_01 + # 上传附件,获取附件标识 + - pms_project_gitlink_upload_files_01 + - - id: pms_project_bug_add_journal_reply_02 - title: 缺陷下添加评论回复 - run: True - severity: blocker - url: ${pms_host}/api/pms/${env_enterprise_identifier}/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_project_upload_files_01 - - pms_project_bug_add_journal_01 - - pms_project_upload_files_01 - -- - id: pms_project_bug_add_journal_03 + id: pms_project_bug_add_journal_02 title: 缺陷下添加评论 - 不上传附件,添加成功 run: True severity: critical @@ -95,7 +69,6 @@ case_info: payload: pmProjectId: ${env_pms_project_id} notes: ${generate_paragraph(nb=6)} - attachmentIds: files: assert_response: status_code: 200 @@ -108,36 +81,3 @@ case_info: type_jsonpath: bug_journal_id: $.data.id case_dependence: - -- - id: pms_project_bug_add_journal_reply_04 - title: 缺陷下添加评论回复 - 不上传附件,添加成功 - run: True - severity: critical - url: ${pms_host}/api/pms/${env_enterprise_identifier}/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: - 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: - type_jsonpath: - bug_journal_reply_id: $.data.id - case_dependence: - setup: - interface: - - pms_project_bug_add_journal_03 \ No newline at end of file diff --git a/interface/pms/projects/work_item/bug/test_pms_project_bug_add_journal_reply.yaml b/interface/pms/projects/work_item/bug/test_pms_project_bug_add_journal_reply.yaml new file mode 100644 index 0000000..ceb9287 --- /dev/null +++ b/interface/pms/projects/work_item/bug/test_pms_project_bug_add_journal_reply.yaml @@ -0,0 +1,94 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 工作项 - 缺陷 + case_markers: + - pms + - pms_project + - project_bug + - usefixtures: gitlink_login + + +# 前提条件:当前组织下存在项目,项目下存在缺陷, 缺陷下存在评论, 评论下存在回复 + +common_dependence: + setup: + interface: + # 获取工作项状态ids,用于后面创建缺陷 + - pms_pms_get_issue_status_list_01 + # 新建缺陷 + - pms_new_project_bug_02 + # 新建评论 + - pms_project_bug_add_journal_02 + + + +case_info: +- + id: pms_project_bug_add_journal_reply_01 + title: 缺陷下添加评论回复,上传附件,添加成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/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_identifier} + 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: + # 登录账号2 + - gitlink_super_login_04 + # 上传附件,获取附件标识,这个附件用来添加评论回复 + - pms_project_gitlink_upload_files_01 + + +- + id: pms_project_bug_add_journal_reply_02 + title: 缺陷下添加评论回复 - 不上传附件,添加成功 + run: True + severity: critical + url: ${pms_host}/api/pms/${env_enterprise_identifier}/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)} + 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: + type_jsonpath: + bug_journal_reply_id: $.data.id + case_dependence: + setup: + interface: + # 登录账号2 + - gitlink_super_login_04 \ No newline at end of file diff --git a/interface/pms/projects/work_item/bug/test_pms_project_bug_delete_journal.yaml b/interface/pms/projects/work_item/bug/test_pms_project_bug_delete_journal.yaml index bdd68ed..02ed28a 100644 --- a/interface/pms/projects/work_item/bug/test_pms_project_bug_delete_journal.yaml +++ b/interface/pms/projects/work_item/bug/test_pms_project_bug_delete_journal.yaml @@ -8,10 +8,17 @@ case_common: - project_bug - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目,项目下存在缺陷, 缺陷下存在评论 + common_dependence: setup: interface: - - pms_new_project_bug_02 + # 获取工作项状态ids,用于后面创建缺陷 + - pms_pms_get_issue_status_list_01 + # 新建缺陷 + - pms_new_project_bug_02 + # 缺陷下新建评论(无附件) + - pms_project_bug_add_journal_02 case_info: - @@ -37,33 +44,3 @@ case_info: assert_sql: extract: case_dependence: - setup: - interface: pms_project_bug_add_journal_03 - -- - id: pms_delete_project_bug_journal_reply_02 - title: 缺陷下删除评论回复 - 删除成功 - run: True - severity: blocker - url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectIssues/journals/${project_bug_id}/${bug_journal_reply_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: - - pms_project_bug_add_journal_03 - - pms_project_bug_add_journal_reply_04 \ No newline at end of file diff --git a/interface/pms/projects/work_item/bug/test_pms_project_bug_delete_journal_reply.yaml b/interface/pms/projects/work_item/bug/test_pms_project_bug_delete_journal_reply.yaml new file mode 100644 index 0000000..376c22d --- /dev/null +++ b/interface/pms/projects/work_item/bug/test_pms_project_bug_delete_journal_reply.yaml @@ -0,0 +1,49 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 工作项 - 缺陷 + case_markers: + - pms + - pms_project + - project_bug + - usefixtures: gitlink_login + +# 前提条件:当前组织下存在项目,项目下存在缺陷, 缺陷下存在评论 + +common_dependence: + setup: + interface: + # 新建缺陷 + - pms_new_project_bug_02 + # 缺陷下新建评论(无附件) + - pms_project_bug_add_journal_02 + # 登录账号2 + - gitlink_super_login_04 + # 评论下添加回复(无附件) + - pms_project_bug_add_journal_reply_02 + + +case_info: +- + id: pms_delete_project_bug_journal_reply_01 + title: 缺陷下删除评论回复 - 删除成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectIssues/journals/${project_bug_id}/${bug_journal_reply_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: \ No newline at end of file diff --git a/interface/pms/projects/work_item/bug/test_pms_project_bug_edit_journal.yaml b/interface/pms/projects/work_item/bug/test_pms_project_bug_edit_journal.yaml index 0cbcf68..1799e77 100644 --- a/interface/pms/projects/work_item/bug/test_pms_project_bug_edit_journal.yaml +++ b/interface/pms/projects/work_item/bug/test_pms_project_bug_edit_journal.yaml @@ -8,12 +8,18 @@ case_common: - project_bug - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目,项目下存在缺陷, 缺陷下存在评论 + common_dependence: setup: interface: - - pms_new_project_bug_02 - - pms_project_bug_add_journal_03 - - pms_project_bug_add_journal_reply_04 + # 获取工作项状态ids,用于后面创建缺陷 + - pms_pms_get_issue_status_list_01 + # 新建缺陷 + - pms_new_project_bug_02 + # 缺陷下新建评论(无附件) + - pms_project_bug_add_journal_02 + case_info: @@ -32,7 +38,7 @@ case_info: pmProjectId: ${env_pms_project_id} notes: ${generate_paragraph(nb=6)} attachmentIds: - - ${file_id} + - ${file_identifier} files: assert_response: status_code: 200 @@ -44,33 +50,4 @@ case_info: extract: case_dependence: setup: - interface: pms_project_upload_files_01 - -- - id: pms_project_bug_edit_journal_reply_02 - title: 工作项下编辑评论回复 - 缺陷 - run: True - severity: blocker - url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectIssues/journals/${project_bug_id}/${bug_journal_reply_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 + interface: pms_project_gitlink_upload_files_01 diff --git a/interface/pms/projects/work_item/bug/test_pms_project_bug_edit_journal_reply.yaml b/interface/pms/projects/work_item/bug/test_pms_project_bug_edit_journal_reply.yaml new file mode 100644 index 0000000..2ce4ac2 --- /dev/null +++ b/interface/pms/projects/work_item/bug/test_pms_project_bug_edit_journal_reply.yaml @@ -0,0 +1,55 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 工作项 - 缺陷 + case_markers: + - pms + - pms_project + - project_bug + - usefixtures: gitlink_login + + +# 前提条件:当前组织下存在项目,项目下存在缺陷, 缺陷下存在评论 + +common_dependence: + setup: + interface: + # 新建缺陷 + - pms_new_project_bug_02 + # 缺陷下新建评论(无附件) + - pms_project_bug_add_journal_02 + # 登录账号2 + - gitlink_super_login_04 + # 评论下添加回复(无附件) + - pms_project_bug_add_journal_reply_02 + + +case_info: +- + id: pms_project_bug_edit_journal_reply_01 + title: 缺陷下编辑评论回复 - 更新成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectIssues/journals/${project_bug_id}/${bug_journal_reply_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_identifier} + 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/projects/work_item/requirement/test_pms_batch_edit_project_requirement.yaml b/interface/pms/projects/work_item/requirement/test_pms_batch_edit_project_requirement.yaml index 855286c..9f78f84 100644 --- a/interface/pms/projects/work_item/requirement/test_pms_batch_edit_project_requirement.yaml +++ b/interface/pms/projects/work_item/requirement/test_pms_batch_edit_project_requirement.yaml @@ -59,7 +59,7 @@ case_info: assignerIds: - ${random.choice(${project_member_ids})} priorityId: ${random.choice([1,2,3,4])} - statusId: ${random.choice([1,2,3,5,6])} # 待评审1 进行中2 已完成3 已关闭5 已拒绝6 + statusId: ${random.choice(${issue_status_ids})} # 待评审1 进行中2 已完成3 已关闭5 已拒绝6 files: assert_response: status_code: 200 diff --git a/interface/pms/projects/work_item/requirement/test_pms_edit_project_requirement.yaml b/interface/pms/projects/work_item/requirement/test_pms_edit_project_requirement.yaml index db56667..4a32429 100644 --- a/interface/pms/projects/work_item/requirement/test_pms_edit_project_requirement.yaml +++ b/interface/pms/projects/work_item/requirement/test_pms_edit_project_requirement.yaml @@ -11,7 +11,7 @@ case_common: # 前提条件:当前组织下存在项目,项目下存在需求 # 项目需求可选负责人来源于项目成员 -# 项目需求可选标记来源于组织下的产品需求标记 +# 项目需求可选标记来源于组织下的产品工作项标记 # 项目需求可选仓库来源于项目下的仓库 # 注意:本用例没有清理需求数据。其实所有测试数据都在测试的组织内,数据是隔离的,不清理问题不大。 @@ -77,7 +77,7 @@ case_info: cookies: ${cookies} request_type: json payload: - statusId: ${random.choice([1,2,3,5,6])} # 待评审1 进行中2 已完成3 已关闭5 已拒绝6 + statusId: ${random.choice(${issue_status_ids})} # 待评审1 进行中2 已完成3 已关闭5 已拒绝6 pmProjectId: ${env_pms_project_id} pmIssueType: 1 subject: 工作项_${generate_paragraph(lan='zh',nb=1)}_${generate_time} diff --git a/interface/pms/projects/work_item/requirement/test_pms_get_unlink_requirement_list.yaml b/interface/pms/projects/work_item/requirement/test_pms_get_unlink_requirement_list.yaml index 7a3daa1..3268025 100644 --- a/interface/pms/projects/work_item/requirement/test_pms_get_unlink_requirement_list.yaml +++ b/interface/pms/projects/work_item/requirement/test_pms_get_unlink_requirement_list.yaml @@ -8,9 +8,18 @@ case_common: - project_requirement - usefixtures: gitlink_login + +common_dependence: + setup: + interface: + # 获取工作项状态ids + - pms_pms_get_issue_status_list_01 + # 新建项目需求 + - pms_new_project_requirement_02 + case_info: - id: pms_pms_get_unlink_requirement_list_01 - title: 查看与当前项目工作项未关联/未绑定父子级关系的一级工作项 + title: 查看与当前项目工作项未关联/未绑定父子级关系的一级工作项(需求) run: True severity: critical url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectIssues/unlink/${project_requirement_id} diff --git a/interface/pms/projects/work_item/requirement/test_pms_new_project_requirement.yaml b/interface/pms/projects/work_item/requirement/test_pms_new_project_requirement.yaml index 72aedb6..e019238 100644 --- a/interface/pms/projects/work_item/requirement/test_pms_new_project_requirement.yaml +++ b/interface/pms/projects/work_item/requirement/test_pms_new_project_requirement.yaml @@ -10,7 +10,7 @@ case_common: # 前提条件:当前组织下存在项目 # 项目需求可选负责人来源于项目成员 -# 项目需求可选标记来源于组织下的产品需求标记 +# 项目需求可选标记来源于组织下的工作项标记 # 项目需求可选仓库来源于项目下的仓库 # 注意:本用例没有清理需求数据。其实所有测试数据都在测试的组织内,数据是隔离的,不清理问题不大。 @@ -150,7 +150,9 @@ case_info: case_dependence: setup: interface: + # 新建父级需求 - pms_new_project_requirement_02 + # 上传附件,获取附件标识 - pms_project_gitlink_upload_files_01 - id: pms_new_project_requirement_children_04 @@ -184,4 +186,5 @@ case_info: case_dependence: setup: interface: + # 新建父级需求 - pms_new_project_requirement_02 diff --git a/interface/pms/projects/work_item/requirement/test_pms_project_requirement_add_journal.yaml b/interface/pms/projects/work_item/requirement/test_pms_project_requirement_add_journal.yaml index 7c1b1c8..2009eeb 100644 --- a/interface/pms/projects/work_item/requirement/test_pms_project_requirement_add_journal.yaml +++ b/interface/pms/projects/work_item/requirement/test_pms_project_requirement_add_journal.yaml @@ -6,7 +6,6 @@ case_common: - pms - pms_project - project_requirement - - debug - usefixtures: gitlink_login # 前提条件:当前组织下存在项目,项目下存在需求 diff --git a/interface/pms/projects/work_item/requirement/test_pms_project_requirement_add_journal_reply.yaml b/interface/pms/projects/work_item/requirement/test_pms_project_requirement_add_journal_reply.yaml index cb8e649..cd22dd4 100644 --- a/interface/pms/projects/work_item/requirement/test_pms_project_requirement_add_journal_reply.yaml +++ b/interface/pms/projects/work_item/requirement/test_pms_project_requirement_add_journal_reply.yaml @@ -6,7 +6,6 @@ case_common: - pms - pms_project - project_requirement - - debug - usefixtures: gitlink_login # 前提条件:当前组织下存在项目,项目下存在需求, 需求下存在评论, 评论下存在回复 diff --git a/interface/pms/projects/work_item/requirement/test_pms_project_requirement_delete_journal.yaml b/interface/pms/projects/work_item/requirement/test_pms_project_requirement_delete_journal.yaml index 20f62d4..76c3a17 100644 --- a/interface/pms/projects/work_item/requirement/test_pms_project_requirement_delete_journal.yaml +++ b/interface/pms/projects/work_item/requirement/test_pms_project_requirement_delete_journal.yaml @@ -1,17 +1,24 @@ case_common: allure_epic: 项目管理 allure_feature: 项目 - allure_story: 工作项 - 需求 + allure_story: 工作项 - 需求评论 case_markers: - pms - pms_project - project_requirement - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目,项目下存在需求, 需求下存在评论 + common_dependence: setup: interface: - - pms_new_project_requirement_02 + # 获取工作项状态ids,用于后面创建需求 + - pms_pms_get_issue_status_list_01 + # 新建需求 + - pms_new_project_requirement_02 + # 需求下新建评论(无附件) + - pms_project_requirement_add_journal_02 case_info: - @@ -36,34 +43,4 @@ case_info: assert_type: == assert_sql: extract: - case_dependence: - setup: - interface: pms_project_requirement_add_journal_03 - -- - id: pms_delete_project_requirement_journal_reply_02 - title: 需求下删除评论回复 - 删除成功 - run: True - severity: blocker - url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectIssues/journals/${project_requirement_id}/${requirement_journal_reply_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: - - pms_project_requirement_add_journal_03 - - pms_project_requirement_add_journal_reply_04 \ No newline at end of file + case_dependence: \ No newline at end of file diff --git a/interface/pms/projects/work_item/requirement/test_pms_project_requirement_delete_journal_reply.yaml b/interface/pms/projects/work_item/requirement/test_pms_project_requirement_delete_journal_reply.yaml new file mode 100644 index 0000000..7b74294 --- /dev/null +++ b/interface/pms/projects/work_item/requirement/test_pms_project_requirement_delete_journal_reply.yaml @@ -0,0 +1,48 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 工作项 - 需求评论回复 + case_markers: + - pms + - pms_project + - project_requirement + - usefixtures: gitlink_login + +# 前提条件:当前组织下存在项目,项目下存在需求, 需求下存在评论 + +common_dependence: + setup: + interface: + # 新建需求 + - pms_new_project_requirement_02 + # 需求下新建评论(无附件) + - pms_project_requirement_add_journal_02 + # 登录账号2 + - gitlink_super_login_04 + # 评论下添加回复(无附件) + - pms_project_requirement_add_journal_reply_02 + +case_info: +- + id: pms_delete_project_requirement_journal_reply_01 + title: 需求下删除评论回复 - 删除成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectIssues/journals/${project_requirement_id}/${requirement_journal_reply_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: \ No newline at end of file diff --git a/interface/pms/projects/work_item/requirement/test_pms_project_requirement_edit_journal.yaml b/interface/pms/projects/work_item/requirement/test_pms_project_requirement_edit_journal.yaml index 040234a..3619904 100644 --- a/interface/pms/projects/work_item/requirement/test_pms_project_requirement_edit_journal.yaml +++ b/interface/pms/projects/work_item/requirement/test_pms_project_requirement_edit_journal.yaml @@ -6,7 +6,6 @@ case_common: - pms - pms_project - project_requirement - - debug - usefixtures: gitlink_login # 前提条件:当前组织下存在项目,项目下存在需求, 需求下存在评论 diff --git a/interface/pms/projects/work_item/requirement/test_pms_project_requirement_edit_journal_reply.yaml b/interface/pms/projects/work_item/requirement/test_pms_project_requirement_edit_journal_reply.yaml index e5b148c..ec21a9f 100644 --- a/interface/pms/projects/work_item/requirement/test_pms_project_requirement_edit_journal_reply.yaml +++ b/interface/pms/projects/work_item/requirement/test_pms_project_requirement_edit_journal_reply.yaml @@ -6,7 +6,6 @@ case_common: - pms - pms_project - project_requirement - - debug - usefixtures: gitlink_login # 前提条件:当前组织下存在项目,项目下存在需求, 需求下存在评论 diff --git a/interface/pms/projects/work_item/task/test_pms_batch_edit_project_task.yaml b/interface/pms/projects/work_item/task/test_pms_batch_edit_project_task.yaml index a083304..16020ed 100644 --- a/interface/pms/projects/work_item/task/test_pms_batch_edit_project_task.yaml +++ b/interface/pms/projects/work_item/task/test_pms_batch_edit_project_task.yaml @@ -8,6 +8,36 @@ case_common: - project_task - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目,项目下存在任务 +# 批量编辑任务包括编辑如下项:负责人(最多选择5个),状态(最多选择1个),优先级(最多选择1个),迭代(最多选择1个),标记(最多选择3个),代码库(最多选择1个) + +common_dependence: + setup: + interface: + # 获取项目成员 + - pms_get_project_member_list_01 + # 获取工作项标记 + - pms_get_work_item_tag_list_01 + # 获取项目拥有的仓库 + - pms_get_project_repo_list_01 + # 获取工作项状态ids + - pms_pms_get_issue_status_list_01 + # 新建迭代 + - pms_new_sprint_01 + # 获取迭代id + - pms_get_sprint_list_by_name_02 + # 新建项目任务 + - pms_new_project_task_02 + # 新建项目任务 + - pms_new_project_task_02 + # 获取多个项目任务 + - pms_get_project_task_list_01 + + teardown: + interface: + # 清理数据:删除迭代 + - pms_delete_sprint_01 + case_info: - id: pms_batch_edit_project_task_01 @@ -29,7 +59,7 @@ case_info: assignerIds: - ${random.choice(${project_member_ids})} priorityId: ${random.choice([1,2,3,4])} - statusId: ${random.choice([1,2,3,5,6])} # 待评审1 进行中2 已完成3 已关闭5 已拒绝6 + statusId: ${random.choice(${issue_status_ids})} # 待评审1 进行中2 已完成3 已关闭5 已拒绝6 files: assert_response: status_code: 200 @@ -40,15 +70,6 @@ case_info: assert_sql: extract: case_dependence: - setup: - interface: - - pms_new_project_task_02 - - pms_new_project_task_02 - - pms_get_work_item_tag_list_01 - - pms_get_project_member_list_01 - - pms_get_sprint_list_01 - - pms_get_project_repo_list_01 - - pms_get_project_task_list_01 @@ -79,6 +100,5 @@ case_info: case_dependence: setup: interface: - - pms_new_project_task_02 - - pms_new_project_task_02 - - pms_get_project_task_list_01 \ No newline at end of file + # 获取无父级无子级的任务 + - pms_pms_get_unlink_task_list_01 \ No newline at end of file diff --git a/interface/pms/projects/work_item/task/test_pms_delete_project_task.yaml b/interface/pms/projects/work_item/task/test_pms_delete_project_task.yaml index 0827b80..d46e44b 100644 --- a/interface/pms/projects/work_item/task/test_pms_delete_project_task.yaml +++ b/interface/pms/projects/work_item/task/test_pms_delete_project_task.yaml @@ -8,6 +8,8 @@ case_common: - project_task - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目,项目下存在任务 + case_info: - id: pms_delete_project_task_01 @@ -36,6 +38,7 @@ case_info: case_dependence: setup: interface: + # 新建项目任务 - pms_new_project_task_02 - @@ -65,6 +68,9 @@ case_info: case_dependence: setup: interface: + # 新建项目任务 - pms_new_project_task_02 + # 新建项目任务 - pms_new_project_task_02 + # 获取多个项目任务 - pms_get_project_task_list_01 diff --git a/interface/pms/projects/work_item/task/test_pms_edit_project_task.yaml b/interface/pms/projects/work_item/task/test_pms_edit_project_task.yaml index 6a068cf..1c024e2 100644 --- a/interface/pms/projects/work_item/task/test_pms_edit_project_task.yaml +++ b/interface/pms/projects/work_item/task/test_pms_edit_project_task.yaml @@ -8,6 +8,33 @@ case_common: - project_task - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目,项目下存在任务 +# 项目任务可选负责人来源于项目成员 +# 项目任务可选标记来源于组织下的工作项标记 +# 项目任务可选仓库来源于项目下的仓库 +# 注意:本用例没有清理任务数据。其实所有测试数据都在测试的组织内,数据是隔离的,不清理问题不大。 + +common_dependence: + setup: + interface: + # 获取项目成员 + - pms_get_project_member_list_01 + # 获取工作项标记 + - pms_get_work_item_tag_list_01 + # 获取项目拥有的仓库 + - pms_get_project_repo_list_01 + # 获取工作项状态ids + - pms_pms_get_issue_status_list_01 + # 新建迭代 + - pms_new_sprint_01 + # 获取迭代id + - pms_get_sprint_list_by_name_02 + # 新建项目任务 + - pms_new_project_task_02 + teardown: + interface: + # 清理数据:删除迭代 + - pms_delete_sprint_01 case_info: - id: pms_edit_project_task_01 @@ -39,7 +66,7 @@ case_info: - id: pms_edit_project_task_02 - title: 项目下编辑任务 - 更新成功 + title: 项目下编辑任务 - 编辑所有字段,更新成功 run: True severity: blocker url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectIssues/edit/${project_task_id} @@ -49,17 +76,17 @@ case_info: cookies: ${cookies} request_type: json payload: - statusId: ${random.choice([1,2,3,5,6])} # 待评审1 进行中2 已完成3 已关闭5 已拒绝6 + statusId: ${random.choice(${issue_status_ids})} # 待评审1 进行中2 已完成3 已关闭5 已拒绝6 pmProjectId: ${env_pms_project_id} pmIssueType: 2 # 1 需求 2 任务 3 缺陷 subject: 工作项_${generate_paragraph(lan='zh',nb=1)}_${generate_time} description: ${generate_paragraph(nb=6)} assignerIds: ${${project_member_ids}[1:4]} attachmentIds: - - ${file_id} + - ${file_identifier} priorityId: ${random.choice([1,2,3,4])} issueTagIds: ${${work_item_tag_ids}[1:4]} - sprintId: + sprintId: ${project_sprint_id} projectId: ${${project_repo_ids}[0]} branchName: master startDate: ${generate_time(fmt='%Y-%m-%d')} @@ -77,11 +104,8 @@ case_info: case_dependence: setup: interface: - - pms_new_project_task_02 - - pms_project_upload_files_01 - - pms_get_project_member_list_01 - - pms_get_work_item_tag_list_01 - - pms_get_project_repo_list_01 + # 上传附件,获取附件标识 + - pms_project_gitlink_upload_files_01 - id: pms_edit_project_task_03 @@ -95,19 +119,8 @@ case_info: cookies: ${cookies} request_type: json payload: - pmIssueType: 2 # 1 需求 2 任务 3 缺陷 pmProjectId: ${env_pms_project_id} rootId: ${${parent_task_ids}[0]} # 关联的父任务id - statusId: ${task_status_id} - priorityId: ${task_priority_id} - assignerIds: ${str_to_list(${task_assignee_ids})} - issueTagIds: ${str_to_list(${task_tag_ids})} - projectId: ${none_to_null(${task_project_id})} - sprintId: ${none_to_null(${task_sprint_id})} - branchName: ${none_to_null(${task_branch_name})} - startDate: ${none_to_null(${task_start_date})} - dueDate: ${none_to_null(${task_due_date})} - timeScale: ${none_to_null(${task_time_scale})} files: assert_response: status_code: 200 @@ -120,9 +133,10 @@ case_info: case_dependence: setup: interface: + # 新建项目任务 - pms_new_project_task_02 + # 获取可选父任务列表 - pms_pms_get_optional_parent_task_list_01 - - pms_get_project_task_detail_01 - id: pms_edit_project_task_04 title: 项目下编辑任务 - 取消父子关系,取消成功 @@ -149,9 +163,12 @@ case_info: case_dependence: setup: interface: + # 新建项目任务 - pms_new_project_task_02 + # 获取可选父任务列表 - pms_pms_get_optional_parent_task_list_01 - - pms_get_project_task_detail_01 + # 任务关联父任务 + - pms_edit_project_task_03 diff --git a/interface/pms/projects/work_item/task/test_pms_get_optional_parent_task_list.yaml b/interface/pms/projects/work_item/task/test_pms_get_optional_parent_task_list.yaml index 3a62593..92d9e06 100644 --- a/interface/pms/projects/work_item/task/test_pms_get_optional_parent_task_list.yaml +++ b/interface/pms/projects/work_item/task/test_pms_get_optional_parent_task_list.yaml @@ -8,6 +8,8 @@ case_common: - project_task - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目,项目下存在任务 + case_info: - id: pms_pms_get_optional_parent_task_list_01 title: 获取任务可关联的父任务列表 diff --git a/interface/pms/projects/work_item/task/test_pms_get_project_task_detail.yaml b/interface/pms/projects/work_item/task/test_pms_get_project_task_detail.yaml index f19f608..b0c778b 100644 --- a/interface/pms/projects/work_item/task/test_pms_get_project_task_detail.yaml +++ b/interface/pms/projects/work_item/task/test_pms_get_project_task_detail.yaml @@ -8,6 +8,8 @@ case_common: - project_task - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目,项目下存在任务 + common_dependence: setup: interface: pms_new_project_task_02 diff --git a/interface/pms/projects/work_item/task/test_pms_get_project_task_list.yaml b/interface/pms/projects/work_item/task/test_pms_get_project_task_list.yaml index 80aa7e4..caf4bc8 100644 --- a/interface/pms/projects/work_item/task/test_pms_get_project_task_list.yaml +++ b/interface/pms/projects/work_item/task/test_pms_get_project_task_list.yaml @@ -8,6 +8,8 @@ case_common: - project_task - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目,项目下存在任务 + case_info: - id: pms_get_project_task_list_01 diff --git a/interface/pms/projects/work_item/task/test_pms_get_unlink_task_list.yaml b/interface/pms/projects/work_item/task/test_pms_get_unlink_task_list.yaml new file mode 100644 index 0000000..020b16f --- /dev/null +++ b/interface/pms/projects/work_item/task/test_pms_get_unlink_task_list.yaml @@ -0,0 +1,48 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 工作项 - 任务 + case_markers: + - pms + - pms_project + - project_task + - usefixtures: gitlink_login + +common_dependence: + setup: + interface: + # 获取工作项状态ids + - pms_pms_get_issue_status_list_01 + # 新建项目任务 + - pms_new_project_task_02 + + +case_info: + - id: pms_pms_get_unlink_task_list_01 + title: 查看与当前项目工作项未关联/未绑定父子级关系的一级工作项(任务) + run: True + severity: critical + url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectIssues/unlink/${project_task_id} + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmProjectId: ${env_pms_project_id} + page: 1 + limit: 50 + pmIssueType: 2 + issueFilterType: leaf_issue # 工作项筛选类型 叶子节点工作项:leaf_issue 关联工作项:link_issue + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + unlink_task_ids: $.data.issues[*].id + case_dependence: diff --git a/interface/pms/projects/work_item/task/test_pms_new_project_task.yaml b/interface/pms/projects/work_item/task/test_pms_new_project_task.yaml index 368506a..7ff1c7d 100644 --- a/interface/pms/projects/work_item/task/test_pms_new_project_task.yaml +++ b/interface/pms/projects/work_item/task/test_pms_new_project_task.yaml @@ -8,12 +8,31 @@ case_common: - project_task - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目 +# 项目任务可选负责人来源于项目成员 +# 项目任务可选标记来源于组织下的工作项标记 +# 项目任务可选仓库来源于项目下的仓库 +# 注意:本用例没有清理任务数据。其实所有测试数据都在测试的组织内,数据是隔离的,不清理问题不大。 + common_dependence: setup: interface: + # 获取项目成员 - pms_get_project_member_list_01 + # 获取工作项标记 - pms_get_work_item_tag_list_01 + # 获取项目拥有的仓库 - pms_get_project_repo_list_01 + # 获取工作项状态ids + - pms_pms_get_issue_status_list_01 + # 新建迭代 + - pms_new_sprint_01 + # 获取迭代id + - pms_get_sprint_list_by_name_02 + teardown: + interface: + # 清理数据:删除迭代 + - pms_delete_sprint_01 case_info: - id: pms_new_project_task_01 @@ -31,13 +50,13 @@ case_info: pmIssueType: 2 # 1 需求 2 任务 3 缺陷 subject: 任务_${generate_paragraph(lan='zh',nb=1)}_${generate_time} description: ${generate_paragraph(nb=6)} - statusId: 1 + statusId: ${random.choice(${issue_status_ids})} assignerIds: ${${project_member_ids}[1:4]} attachmentIds: - - ${file_id} + - ${file_identifier} priorityId: ${random.choice([1,2,3,4])} issueTagIds: ${${work_item_tag_ids}[1:4]} - sprintId: + sprintId: ${project_sprint_id} projectId: ${${project_repo_ids}[0]} branchName: master startDate: ${generate_time(fmt='%Y-%m-%d')} @@ -57,7 +76,8 @@ case_info: case_dependence: setup: interface: - - pms_project_upload_files_01 + # 上传附件,获取附件标识 + - pms_project_gitlink_upload_files_01 - id: pms_new_project_task_02 title: 项目下新建任务接口 - 仅输入标题,新建成功 @@ -73,7 +93,7 @@ case_info: pmProjectId: ${env_pms_project_id} pmIssueType: 2 # 1 需求 2 任务 3 缺陷 subject: 任务_${generate_paragraph(lan='zh',nb=1)}_${generate_time} - statusId: 1 + statusId: ${random.choice(${issue_status_ids})} # 必填 priorityId: ${random.choice([1,2,3,4])} files: assert_response: @@ -89,8 +109,8 @@ case_info: case_dependence: - id: pms_new_project_task_children_03 - title: 项目下新建子级任务接口 - 新建成功 - run: false + title: 项目下新建子级任务接口(所有参数全部填写) - 新建成功 + run: true severity: blocker url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectIssues/add method: POST @@ -103,13 +123,13 @@ case_info: pmIssueType: 2 subject: 任务_${generate_paragraph(lan='zh',nb=1)}_${generate_time} description: ${generate_paragraph(nb=6)} - statusId: 1 + statusId: ${random.choice(${issue_status_ids})} assignerIds: ${${project_member_ids}[1:4]} attachmentIds: - - ${file_id} + - ${file_identifier} priorityId: ${random.choice([1,2,3,4])} issueTagIds: ${${work_item_tag_ids}[1:4]} - sprintId: + sprintId: ${project_sprint_id} projectId: ${${project_repo_ids}[0]} branchName: master startDate: ${generate_time(fmt='%Y-%m-%d')} @@ -130,8 +150,10 @@ case_info: case_dependence: setup: interface: + # 新建父级任务 - pms_new_project_task_02 - - pms_project_upload_files_01 + # 上传附件,获取附件标识 + - pms_project_gitlink_upload_files_01 - id: pms_new_project_task_children_04 @@ -148,8 +170,8 @@ case_info: pmProjectId: ${env_pms_project_id} pmIssueType: 2 subject: 工作项_${generate_paragraph(lan='zh',nb=1)}_${generate_time} - statusId: 1 - priorityId: 1 + statusId: ${random.choice(${issue_status_ids})} + priorityId: ${random.choice([1,2,3,4])} # 必填 rootId: ${project_task_id} files: assert_response: @@ -165,4 +187,5 @@ case_info: case_dependence: setup: interface: + # 新建父级任务 - pms_new_project_task_02 diff --git a/interface/pms/projects/work_item/task/test_pms_project_task_add_journal.yaml b/interface/pms/projects/work_item/task/test_pms_project_task_add_journal.yaml index 841f42b..6a18992 100644 --- a/interface/pms/projects/work_item/task/test_pms_project_task_add_journal.yaml +++ b/interface/pms/projects/work_item/task/test_pms_project_task_add_journal.yaml @@ -9,15 +9,21 @@ case_common: - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目,项目下存在任务 + common_dependence: setup: - interface: pms_new_project_task_02 + interface: + # 获取工作项状态ids,用于后面创建任务 + - pms_pms_get_issue_status_list_01 + # 新建任务 + - pms_new_project_task_02 case_info: - id: pms_project_task_add_journal_01 - title: 任务下添加评论 + title: 任务下添加评论, 上传附件,添加成功 run: True severity: blocker url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectIssues/journals/${project_task_id} @@ -30,7 +36,7 @@ case_info: pmProjectId: ${env_pms_project_id} notes: ${generate_paragraph(nb=6)} attachmentIds: - - ${file_id} + - ${file_identifier} files: assert_response: status_code: 200 @@ -45,44 +51,12 @@ case_info: case_dependence: setup: interface: - - pms_project_upload_files_01 + # 上传附件,获取附件标识 + - pms_project_gitlink_upload_files_01 + - - id: pms_project_task_add_journal_reply_02 - title: 任务下添加评论回复 - run: True - severity: blocker - url: ${pms_host}/api/pms/${env_enterprise_identifier}/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_project_upload_files_01 - - pms_project_task_add_journal_01 - - pms_project_upload_files_01 - -- - id: pms_project_task_add_journal_03 + id: pms_project_task_add_journal_02 title: 任务下添加评论 - 不上传附件,添加成功 run: True severity: critical @@ -95,7 +69,6 @@ case_info: payload: pmProjectId: ${env_pms_project_id} notes: ${generate_paragraph(nb=6)} - attachmentIds: files: assert_response: status_code: 200 @@ -108,36 +81,3 @@ case_info: type_jsonpath: task_journal_id: $.data.id case_dependence: - -- - id: pms_project_task_add_journal_reply_04 - title: 任务下添加评论回复 - 不上传附件,添加成功 - run: True - severity: critical - url: ${pms_host}/api/pms/${env_enterprise_identifier}/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: - 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: - type_jsonpath: - task_journal_reply_id: $.data.id - case_dependence: - setup: - interface: - - pms_project_task_add_journal_03 \ No newline at end of file diff --git a/interface/pms/projects/work_item/task/test_pms_project_task_add_journal_reply.yaml b/interface/pms/projects/work_item/task/test_pms_project_task_add_journal_reply.yaml new file mode 100644 index 0000000..bdc914e --- /dev/null +++ b/interface/pms/projects/work_item/task/test_pms_project_task_add_journal_reply.yaml @@ -0,0 +1,94 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 工作项 - 任务 + case_markers: + - pms + - pms_project + - project_task + - usefixtures: gitlink_login + + +# 前提条件:当前组织下存在项目,项目下存在任务, 任务下存在评论, 评论下存在回复 + +common_dependence: + setup: + interface: + # 获取工作项状态ids,用于后面创建任务 + - pms_pms_get_issue_status_list_01 + # 新建任务 + - pms_new_project_task_02 + # 新建评论 + - pms_project_task_add_journal_02 + + + +case_info: +- + id: pms_project_task_add_journal_reply_01 + title: 任务下添加评论回复,上传附件,添加成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/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_identifier} + 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: + # 登录账号2 + - gitlink_super_login_04 + # 上传附件,获取附件标识,这个附件用来添加评论回复 + - pms_project_gitlink_upload_files_01 + + +- + id: pms_project_task_add_journal_reply_02 + title: 任务下添加评论回复 - 不上传附件,添加成功 + run: True + severity: critical + url: ${pms_host}/api/pms/${env_enterprise_identifier}/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)} + 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: + type_jsonpath: + task_journal_reply_id: $.data.id + case_dependence: + setup: + interface: + # 登录账号2 + - gitlink_super_login_04 \ No newline at end of file diff --git a/interface/pms/projects/work_item/task/test_pms_project_task_delete_journal.yaml b/interface/pms/projects/work_item/task/test_pms_project_task_delete_journal.yaml index cf38654..b70e278 100644 --- a/interface/pms/projects/work_item/task/test_pms_project_task_delete_journal.yaml +++ b/interface/pms/projects/work_item/task/test_pms_project_task_delete_journal.yaml @@ -8,10 +8,17 @@ case_common: - project_task - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目,项目下存在任务, 任务下存在评论 + common_dependence: setup: interface: - - pms_new_project_task_02 + # 获取工作项状态ids,用于后面创建任务 + - pms_pms_get_issue_status_list_01 + # 新建任务 + - pms_new_project_task_02 + # 任务下新建评论(无附件) + - pms_project_task_add_journal_02 case_info: - @@ -37,33 +44,3 @@ case_info: assert_sql: extract: case_dependence: - setup: - interface: pms_project_task_add_journal_03 - -- - id: pms_delete_project_task_journal_reply_02 - title: 任务下删除评论回复 - 删除成功 - run: True - severity: blocker - url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectIssues/journals/${project_task_id}/${task_journal_reply_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: - - pms_project_task_add_journal_03 - - pms_project_task_add_journal_reply_04 \ No newline at end of file diff --git a/interface/pms/projects/work_item/task/test_pms_project_task_delete_journal_reply.yaml b/interface/pms/projects/work_item/task/test_pms_project_task_delete_journal_reply.yaml new file mode 100644 index 0000000..f16275b --- /dev/null +++ b/interface/pms/projects/work_item/task/test_pms_project_task_delete_journal_reply.yaml @@ -0,0 +1,49 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 工作项 - 任务 + case_markers: + - pms + - pms_project + - project_task + - usefixtures: gitlink_login + +# 前提条件:当前组织下存在项目,项目下存在任务, 任务下存在评论 + +common_dependence: + setup: + interface: + # 新建任务 + - pms_new_project_task_02 + # 任务下新建评论(无附件) + - pms_project_task_add_journal_02 + # 登录账号2 + - gitlink_super_login_04 + # 评论下添加回复(无附件) + - pms_project_task_add_journal_reply_02 + + +case_info: +- + id: pms_delete_project_task_journal_reply_01 + title: 任务下删除评论回复 - 删除成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectIssues/journals/${project_task_id}/${task_journal_reply_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: \ No newline at end of file diff --git a/interface/pms/projects/work_item/task/test_pms_project_task_edit_journal.yaml b/interface/pms/projects/work_item/task/test_pms_project_task_edit_journal.yaml index 1fce6bb..64fe83c 100644 --- a/interface/pms/projects/work_item/task/test_pms_project_task_edit_journal.yaml +++ b/interface/pms/projects/work_item/task/test_pms_project_task_edit_journal.yaml @@ -8,12 +8,18 @@ case_common: - project_task - usefixtures: gitlink_login +# 前提条件:当前组织下存在项目,项目下存在任务, 任务下存在评论 + common_dependence: setup: interface: - - pms_new_project_task_02 - - pms_project_task_add_journal_03 - - pms_project_task_add_journal_reply_04 + # 获取工作项状态ids,用于后面创建任务 + - pms_pms_get_issue_status_list_01 + # 新建任务 + - pms_new_project_task_02 + # 任务下新建评论(无附件) + - pms_project_task_add_journal_02 + case_info: @@ -32,7 +38,7 @@ case_info: pmProjectId: ${env_pms_project_id} notes: ${generate_paragraph(nb=6)} attachmentIds: - - ${file_id} + - ${file_identifier} files: assert_response: status_code: 200 @@ -44,33 +50,4 @@ case_info: extract: case_dependence: setup: - interface: pms_project_upload_files_01 - -- - id: pms_project_task_edit_journal_reply_02 - title: 任务下编辑评论回复 - 更新成功 - run: True - severity: blocker - url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectIssues/journals/${project_task_id}/${task_journal_reply_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: \ No newline at end of file + interface: pms_project_gitlink_upload_files_01 diff --git a/interface/pms/projects/work_item/task/test_pms_project_task_edit_journal_reply.yaml b/interface/pms/projects/work_item/task/test_pms_project_task_edit_journal_reply.yaml new file mode 100644 index 0000000..f0d30c6 --- /dev/null +++ b/interface/pms/projects/work_item/task/test_pms_project_task_edit_journal_reply.yaml @@ -0,0 +1,55 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 工作项 - 任务 + case_markers: + - pms + - pms_project + - project_task + - usefixtures: gitlink_login + + +# 前提条件:当前组织下存在项目,项目下存在任务, 任务下存在评论 + +common_dependence: + setup: + interface: + # 新建任务 + - pms_new_project_task_02 + # 任务下新建评论(无附件) + - pms_project_task_add_journal_02 + # 登录账号2 + - gitlink_super_login_04 + # 评论下添加回复(无附件) + - pms_project_task_add_journal_reply_02 + + +case_info: +- + id: pms_project_task_edit_journal_reply_01 + title: 任务下编辑评论回复 - 更新成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectIssues/journals/${project_task_id}/${task_journal_reply_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_identifier} + 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: \ No newline at end of file diff --git a/interface/pms/projects/work_item/test_pms_project_upload_files.yaml b/interface/pms/projects/work_item/test_pms_project_gitlink_upload_files.yaml similarity index 100% rename from interface/pms/projects/work_item/test_pms_project_upload_files.yaml rename to interface/pms/projects/work_item/test_pms_project_gitlink_upload_files.yaml diff --git a/interface/pms/repository/test_pms_delete_repo.yaml b/interface/pms/repository/test_pms_delete_repo.yaml index ec016bb..1e89442 100644 --- a/interface/pms/repository/test_pms_delete_repo.yaml +++ b/interface/pms/repository/test_pms_delete_repo.yaml @@ -4,10 +4,13 @@ case_common: allure_story: 代码库 case_markers: - pms + - pms_project - pms_repo - gitea - usefixtures: gitlink_login +# 前提条件:当前存在组织,组织下存在仓库 + case_info: - id: pms_delete_repo_01 diff --git a/interface/pms/repository/test_pms_get_enterprise_repo_list.yaml b/interface/pms/repository/test_pms_get_enterprise_repo_list.yaml index 6a69f1a..a09583e 100644 --- a/interface/pms/repository/test_pms_get_enterprise_repo_list.yaml +++ b/interface/pms/repository/test_pms_get_enterprise_repo_list.yaml @@ -4,13 +4,14 @@ case_common: allure_story: 代码库 case_markers: - pms + - pms_repo - pms_project - usefixtures: gitlink_login case_info: - id: pms_get_enterprise_repo_list_01 - title: 获取企业下的代码库列表 + title: 获取组织下的代码库列表 run: True severity: normal url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsRepository/list diff --git a/interface/pms/repository/test_pms_new_repo.yaml b/interface/pms/repository/test_pms_new_repo.yaml index 8da0178..61e03d9 100644 --- a/interface/pms/repository/test_pms_new_repo.yaml +++ b/interface/pms/repository/test_pms_new_repo.yaml @@ -5,10 +5,12 @@ case_common: case_markers: - pms - pms_repo - - gitea + - pms_project - new_repo - usefixtures: gitlink_login +# 前提条件:当前存在组织,仓库的拥有者是组织 + case_info: - id: pms_new_repo_01 diff --git a/interface/pms/settings/basic_setting/test_pms_get_enterprise_detail.yaml b/interface/pms/settings/basic_setting/test_pms_get_enterprise_detail.yaml new file mode 100644 index 0000000..f3f259f --- /dev/null +++ b/interface/pms/settings/basic_setting/test_pms_get_enterprise_detail.yaml @@ -0,0 +1,39 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 设置 + allure_story: 基本设置 + case_markers: + - pms + - usefixtures: gitlink_login + +# 前提条件:当前存在组织(组织标识是固定的) + +case_info: +- + id: pms_get_enterprise_detail_01 + title: 获取组织详情信息,获取成功 + severity: + run: true + url: ${pms_host}/api/pms/pmsEnterprise/${env_enterprise_identifier} + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assertCode: + type_jsonpath: $.code + expect_value: 200 + assert_type: == + assert_sql: + extract: + type_jsonpath: + enterprise_name: $.data.enterpriseName + enterprise_desc: $.data.enterpriseDescription \ No newline at end of file diff --git a/interface/pms/settings/basic_setting/test_pms_update_enterprise.yaml b/interface/pms/settings/basic_setting/test_pms_update_enterprise.yaml new file mode 100644 index 0000000..736cbc6 --- /dev/null +++ b/interface/pms/settings/basic_setting/test_pms_update_enterprise.yaml @@ -0,0 +1,74 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 设置 + allure_story: 基本设置 + case_markers: + - pms + - usefixtures: gitlink_login + +# 前提条件:当前存在组织(组织标识是固定的), 登录用户是组织管理员,可以更新组织名称和组织描述 + +case_info: +- + id: pms_update_enterprise_01 + title: 更新组织详情信息(组织名称),更新成功 + severity: + run: true + url: ${pms_host}/api/pms/pmsEnterprise/${env_enterprise_identifier} + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + enterpriseName: test_${generate_name(lan='zh')} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assertCode: + type_jsonpath: $.code + expect_value: 200 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + # 获取组织信息 + - pms_get_enterprise_detail_01 + +- + id: pms_update_enterprise_02 + title: 更新组织详情信息(组织描述),更新成功 + severity: + run: true + url: ${pms_host}/api/pms/pmsEnterprise/${env_enterprise_identifier} + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + enterpriseDescription: ${generate_paragraph()} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assertCode: + type_jsonpath: $.code + expect_value: 200 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + # 获取组织信息 + - pms_get_enterprise_detail_01 \ No newline at end of file diff --git a/interface/pms/settings/role/test_pms_delete_role.yaml b/interface/pms/settings/role/test_pms_delete_role.yaml index 3e397c3..61cd9d6 100644 --- a/interface/pms/settings/role/test_pms_delete_role.yaml +++ b/interface/pms/settings/role/test_pms_delete_role.yaml @@ -5,17 +5,20 @@ case_common: case_markers: - pms - pms_admin - - role - - repeat(1) + - pms_role - usefixtures: gitlink_login +# 前提条件:当前存在组织,登录用户是组织管理员,组织下存在角色 + common_dependence: setup: interface: + # 获取所有的菜单列表 - pms_get_menu_list_01 + # 新建角色 - pms_new_role_02 - - pms_new_role_02 - - pms_get_role_list_01 + # 获取新建的角色id + - pms_get_role_list_by_name_02 case_info: - id: pms_delete_role_01 diff --git a/interface/pms/settings/role/test_pms_edit_role.yaml b/interface/pms/settings/role/test_pms_edit_role.yaml index 07cba02..7438f9e 100644 --- a/interface/pms/settings/role/test_pms_edit_role.yaml +++ b/interface/pms/settings/role/test_pms_edit_role.yaml @@ -5,18 +5,22 @@ case_common: case_markers: - pms - pms_admin - - role - - repeat(1) + - pms_role - usefixtures: gitlink_login +# 前提条件:当前存在组织,登录用户是组织管理员,组织下存在角色 + common_dependence: setup: interface: + # 获取所有的菜单列表 - pms_get_menu_list_01 + # 新建角色 - pms_new_role_02 - - pms_new_role_02 - - pms_get_role_list_01 + # 获取新建的角色id + - pms_get_role_list_by_name_02 teardown: + # 清理数据:删除角色 interface: pms_delete_role_01 case_info: diff --git a/interface/pms/settings/role/test_pms_get_menu_list.yaml b/interface/pms/settings/role/test_pms_get_menu_list.yaml index 5287f90..b8a69e1 100644 --- a/interface/pms/settings/role/test_pms_get_menu_list.yaml +++ b/interface/pms/settings/role/test_pms_get_menu_list.yaml @@ -5,12 +5,14 @@ case_common: case_markers: - pms - pms_admin - - role + - pms_role - usefixtures: gitlink_login +# 前提条件:当前存在组织,登录用户是组织管理员 + case_info: - id: pms_get_menu_list_01 - title: 获取所有的menu + title: 组织管理员,获取所有的menu,获取成功 run: True severity: normal url: ${pms_host}/api/system/SysDeptRole/dept/${env_dept_id}/roleMenuTreeSelect diff --git a/interface/pms/settings/role/test_pms_get_role_list.yaml b/interface/pms/settings/role/test_pms_get_role_list.yaml index aaed81d..bf2cc99 100644 --- a/interface/pms/settings/role/test_pms_get_role_list.yaml +++ b/interface/pms/settings/role/test_pms_get_role_list.yaml @@ -5,12 +5,15 @@ case_common: case_markers: - pms - pms_admin - - role + - pms_role - usefixtures: gitlink_login +# 前提条件:当前存在组织,登录用户是组织管理员,组织下存在角色 + + case_info: - id: pms_get_role_list_01 - title: 获取企业下所有角色列表 + title: 组织管理员,获取组织下所有角色列表,获取成功 run: True severity: normal url: ${pms_host}/api/system/SysDeptRole/dept/${env_dept_id}/list @@ -18,7 +21,7 @@ case_info: headers: Content-Type: application/json; charset=utf-8; cookies: ${cookies} - request_type: json + request_type: params payload: files: assert_response: @@ -32,3 +35,29 @@ case_info: type_jsonpath: role_id: $.rows[-1:].roleId role_ids: $.rows[?(@.createBy == '${env_login}')].roleId + + + - id: pms_get_role_list_by_name_02 + title: 组织管理员,根据角色名称获取组织下所有角色列表,获取成功 + run: True + severity: normal + url: ${pms_host}/api/system/SysDeptRole/dept/${env_dept_id}/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + roleName: 新角色 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + role_id: $.rows[-1:].roleId + role_ids: $.rows[?(@.createBy == '${env_login}')].roleId diff --git a/interface/pms/settings/role/test_pms_new_role.yaml b/interface/pms/settings/role/test_pms_new_role.yaml index a3ba575..6b40d35 100644 --- a/interface/pms/settings/role/test_pms_new_role.yaml +++ b/interface/pms/settings/role/test_pms_new_role.yaml @@ -5,10 +5,11 @@ case_common: case_markers: - pms - pms_admin - - role - - repeat(1) + - pms_role - usefixtures: gitlink_login +# 前提条件:当前存在组织,登录用户是组织管理员 + case_info: - id: pms_new_role_01 title: 组织管理员新建角色 - 权限为空,新建成功 diff --git a/interface/pms/settings/tag_setting/product_requirement_tag/test_pms_deletet_product_requirement_tag.yaml b/interface/pms/settings/tag_setting/product_requirement_tag/test_pms_deletet_product_requirement_tag.yaml index 105556e..a43dd9d 100644 --- a/interface/pms/settings/tag_setting/product_requirement_tag/test_pms_deletet_product_requirement_tag.yaml +++ b/interface/pms/settings/tag_setting/product_requirement_tag/test_pms_deletet_product_requirement_tag.yaml @@ -5,9 +5,11 @@ case_common: case_markers: - pms - pms_admin - - tag + - pms_tag - usefixtures: gitlink_login +# 前提条件:当前存在组织,登录用户是组织管理员,组织下存在产品需求标记 + case_info: - id: pms_delete_product_requirement_tag_01 title: 组织管理员删除产品需求标记 @@ -32,8 +34,10 @@ case_info: case_dependence: setup: interface: - - pms_new_product_requirement_tag_01 - - pms_get_product_requirement_tag_list_by_name_02 + # 新建产品需求标记 + - pms_new_product_requirement_tag_01 + - # 获取产品需求标记id + - pms_get_product_requirement_tag_list_by_name_02 - id: pms_delete_product_requirement_tag_02 title: 组织管理员删除产品需求标记 - 删除多个标记 @@ -58,4 +62,9 @@ case_info: case_dependence: setup: interface: - - pms_get_product_requirement_tag_list_01 \ No newline at end of file + # 新建产品需求标记 + - pms_new_product_requirement_tag_01 + # 新建产品需求标记 + - pms_new_product_requirement_tag_01 + # 获取多个产品需求标记id + - pms_get_product_requirement_tag_list_01 \ No newline at end of file diff --git a/interface/pms/settings/tag_setting/product_requirement_tag/test_pms_edit_product_requirement_tag.yaml b/interface/pms/settings/tag_setting/product_requirement_tag/test_pms_edit_product_requirement_tag.yaml index da0c2f1..c309a09 100644 --- a/interface/pms/settings/tag_setting/product_requirement_tag/test_pms_edit_product_requirement_tag.yaml +++ b/interface/pms/settings/tag_setting/product_requirement_tag/test_pms_edit_product_requirement_tag.yaml @@ -5,9 +5,11 @@ case_common: case_markers: - pms - pms_admin - - tag + - pms_tag - usefixtures: gitlink_login +# 前提条件:当前存在组织,登录用户是组织管理员,组织下存在产品需求标记 + case_info: - id: pms_edit_product_requirement_tag_01 title: 组织管理员编辑产品需求标记 @@ -36,8 +38,11 @@ case_info: case_dependence: setup: interface: - - pms_new_product_requirement_tag_01 - - pms_get_product_requirement_tag_list_by_name_02 + # 新建产品需求标记 + - pms_new_product_requirement_tag_01 + - # 获取产品需求标记id + - pms_get_product_requirement_tag_list_by_name_02 teardown: interface: - - pms_delete_product_requirement_tag_01 \ No newline at end of file + # 删除产品需求标记 + - pms_delete_product_requirement_tag_01 \ No newline at end of file diff --git a/interface/pms/settings/tag_setting/product_requirement_tag/test_pms_get_product_requirement_tag_list.yaml b/interface/pms/settings/tag_setting/product_requirement_tag/test_pms_get_product_requirement_tag_list.yaml index 239fb70..7332359 100644 --- a/interface/pms/settings/tag_setting/product_requirement_tag/test_pms_get_product_requirement_tag_list.yaml +++ b/interface/pms/settings/tag_setting/product_requirement_tag/test_pms_get_product_requirement_tag_list.yaml @@ -5,9 +5,11 @@ case_common: case_markers: - pms - pms_admin - - tag + - pms_tag - usefixtures: gitlink_login +# 前提条件:当前存在组织,登录用户是组织管理员,组织下存在产品需求标记 + case_info: - id: pms_get_product_requirement_tag_list_01 title: 组织管理员获取产品需求标记列表接口 diff --git a/interface/pms/settings/tag_setting/product_requirement_tag/test_pms_new_product_requirement_tag.yaml b/interface/pms/settings/tag_setting/product_requirement_tag/test_pms_new_product_requirement_tag.yaml index bb7c295..bf1c85e 100644 --- a/interface/pms/settings/tag_setting/product_requirement_tag/test_pms_new_product_requirement_tag.yaml +++ b/interface/pms/settings/tag_setting/product_requirement_tag/test_pms_new_product_requirement_tag.yaml @@ -5,10 +5,11 @@ case_common: case_markers: - pms - pms_admin - - tag - - repeat(1) + - pms_tag - usefixtures: gitlink_login +# 前提条件:当前存在组织,登录用户是组织管理员 + case_info: - id: pms_new_product_requirement_tag_01 title: 组织管理员新建产品需求标记 diff --git a/interface/pms/settings/tag_setting/testcase_tag/test_pms_deletet_tag.yaml b/interface/pms/settings/tag_setting/testcase_tag/test_pms_deletet_tag.yaml index 0579da5..f6f24ee 100644 --- a/interface/pms/settings/tag_setting/testcase_tag/test_pms_deletet_tag.yaml +++ b/interface/pms/settings/tag_setting/testcase_tag/test_pms_deletet_tag.yaml @@ -5,9 +5,11 @@ case_common: case_markers: - pms - pms_admin - - tag + - pms_tag - usefixtures: gitlink_login +# 前提条件:当前存在组织,登录用户是组织管理员,组织下存在测试用例标记 + case_info: - id: pms_delete_testcase_tag_01 title: 组织管理员删除测试用例标记 @@ -32,8 +34,10 @@ case_info: case_dependence: setup: interface: - - pms_new_testcase_tag_01 - - pms_get_testcase_tag_list_by_name_02 + # 新建测试用例标记 + - pms_new_testcase_tag_01 + # 获取测试用例标记id + - pms_get_testcase_tag_list_by_name_02 - id: pms_delete_testcase_tag_02 title: 组织管理员删除测试用例标记 - 删除多个标记 @@ -58,4 +62,9 @@ case_info: case_dependence: setup: interface: - - pms_get_testcase_tag_list_01 \ No newline at end of file + # 新建测试用例标记 + - pms_new_testcase_tag_01 + # 新建测试用例标记 + - pms_new_testcase_tag_01 + # 获取多个测试用例标记 + - pms_get_testcase_tag_list_01 \ No newline at end of file diff --git a/interface/pms/settings/tag_setting/testcase_tag/test_pms_edit_tag.yaml b/interface/pms/settings/tag_setting/testcase_tag/test_pms_edit_tag.yaml index e09dc5c..6e84ae2 100644 --- a/interface/pms/settings/tag_setting/testcase_tag/test_pms_edit_tag.yaml +++ b/interface/pms/settings/tag_setting/testcase_tag/test_pms_edit_tag.yaml @@ -5,12 +5,14 @@ case_common: case_markers: - pms - pms_admin - - tag + - pms_tag - usefixtures: gitlink_login +# 前提条件:当前存在组织,登录用户是组织管理员,组织下存在测试用例标记 + case_info: - id: pms_edit_testcase_tag_01 - title: 组织管理员编辑测试用例标记 + title: 组织管理员编辑测试用例标记,编辑成功 run: True severity: normal url: ${pms_host}/api/pms/${env_enterprise_identifier}/pmsProjectTestcaseTag @@ -36,8 +38,11 @@ case_info: case_dependence: setup: interface: - - pms_new_testcase_tag_01 - - pms_get_testcase_tag_list_by_name_02 + # 新建测试用例标记 + - pms_new_testcase_tag_01 + # 获取测试用例标记id + - pms_get_testcase_tag_list_by_name_02 teardown: interface: - - pms_delete_testcase_tag_01 \ No newline at end of file + # 清理数据,删除测试用例标记 + - pms_delete_testcase_tag_01 \ No newline at end of file diff --git a/interface/pms/settings/tag_setting/testcase_tag/test_pms_get_tag_list.yaml b/interface/pms/settings/tag_setting/testcase_tag/test_pms_get_tag_list.yaml index efba0e8..b2e01a3 100644 --- a/interface/pms/settings/tag_setting/testcase_tag/test_pms_get_tag_list.yaml +++ b/interface/pms/settings/tag_setting/testcase_tag/test_pms_get_tag_list.yaml @@ -5,9 +5,11 @@ case_common: case_markers: - pms - pms_admin - - tag + - pms_tag - usefixtures: gitlink_login +# 前提条件:当前存在组织,登录用户是组织管理员,组织下存在测试用例标记 + case_info: - id: pms_get_testcase_tag_list_01 title: 组织管理员获取测试用例标记列表接口 diff --git a/interface/pms/settings/tag_setting/testcase_tag/test_pms_new_tag.yaml b/interface/pms/settings/tag_setting/testcase_tag/test_pms_new_tag.yaml index 275aaee..77a8be7 100644 --- a/interface/pms/settings/tag_setting/testcase_tag/test_pms_new_tag.yaml +++ b/interface/pms/settings/tag_setting/testcase_tag/test_pms_new_tag.yaml @@ -5,10 +5,11 @@ case_common: case_markers: - pms - pms_admin - - tag - - repeat(1) + - pms_tag - usefixtures: gitlink_login +# 前提条件:当前存在组织,登录用户是组织管理员 + case_info: - id: pms_new_testcase_tag_01 title: 组织管理员新建测试用例标记 diff --git a/interface/pms/settings/tag_setting/work_item_tag/test_pms_delete_work_item_tag.yaml b/interface/pms/settings/tag_setting/work_item_tag/test_pms_delete_work_item_tag.yaml index 93ad32f..8e150eb 100644 --- a/interface/pms/settings/tag_setting/work_item_tag/test_pms_delete_work_item_tag.yaml +++ b/interface/pms/settings/tag_setting/work_item_tag/test_pms_delete_work_item_tag.yaml @@ -5,9 +5,11 @@ case_common: case_markers: - pms - pms_admin - - tag + - pms_tag - usefixtures: gitlink_login +# 前提条件:当前存在组织,登录用户是组织管理员,组织下存在工作项标记 + case_info: - id: pms_delete_work_item_tag_01 title: 组织管理员删除工作项标记 @@ -32,5 +34,7 @@ case_info: case_dependence: setup: interface: - - pms_new_work_item_tag_01 - - pms_get_work_item_tag_list_by_name_02 \ No newline at end of file + # 新建工作项标记 + - pms_new_work_item_tag_01 + # 获取标记id + - pms_get_work_item_tag_list_by_name_02 \ No newline at end of file diff --git a/interface/pms/settings/tag_setting/work_item_tag/test_pms_edit_work_item_tag.yaml b/interface/pms/settings/tag_setting/work_item_tag/test_pms_edit_work_item_tag.yaml index 3a616c4..6acd26c 100644 --- a/interface/pms/settings/tag_setting/work_item_tag/test_pms_edit_work_item_tag.yaml +++ b/interface/pms/settings/tag_setting/work_item_tag/test_pms_edit_work_item_tag.yaml @@ -5,9 +5,11 @@ case_common: case_markers: - pms - pms_admin - - tag + - pms_tag - usefixtures: gitlink_login +# 前提条件:当前存在组织,登录用户是组织管理员,组织下存在工作项标记 + case_info: - id: pms_edit_work_item_tag_01 title: 组织管理员编辑工作项标记 @@ -35,8 +37,11 @@ case_info: case_dependence: setup: interface: - - pms_new_work_item_tag_01 - - pms_get_work_item_tag_list_by_name_02 + # 新建工作项标记 + - pms_new_work_item_tag_01 + # 获取标记id + - pms_get_work_item_tag_list_by_name_02 teardown: interface: - - pms_delete_work_item_tag_01 \ No newline at end of file + # 删除工作项标记 + - pms_delete_work_item_tag_01 \ No newline at end of file diff --git a/interface/pms/settings/tag_setting/work_item_tag/test_pms_get_work_item_tag_list.yaml b/interface/pms/settings/tag_setting/work_item_tag/test_pms_get_work_item_tag_list.yaml index 207230d..ea0030c 100644 --- a/interface/pms/settings/tag_setting/work_item_tag/test_pms_get_work_item_tag_list.yaml +++ b/interface/pms/settings/tag_setting/work_item_tag/test_pms_get_work_item_tag_list.yaml @@ -5,9 +5,11 @@ case_common: case_markers: - pms - pms_admin - - tag + - pms_tag - usefixtures: gitlink_login +# 前提条件:当前存在组织,登录用户是组织管理员,组织下存在工作项标记 + case_info: - id: pms_get_work_item_tag_list_01 title: 组织管理员获取工作项标记列表接口 diff --git a/interface/pms/settings/tag_setting/work_item_tag/test_pms_new_work_item_tag.yaml b/interface/pms/settings/tag_setting/work_item_tag/test_pms_new_work_item_tag.yaml index 6023568..716ade6 100644 --- a/interface/pms/settings/tag_setting/work_item_tag/test_pms_new_work_item_tag.yaml +++ b/interface/pms/settings/tag_setting/work_item_tag/test_pms_new_work_item_tag.yaml @@ -5,10 +5,11 @@ case_common: case_markers: - pms - pms_admin - - tag - - repeat(1) + - pms_tag - usefixtures: gitlink_login +# 前提条件:当前存在组织,登录用户是组织管理员 + case_info: - id: pms_new_work_item_tag_01 title: 组织管理员新建工作项标记 diff --git a/interface/pms/test_pms_get_enterprise_user_list.yaml b/interface/pms/test_pms_get_enterprise_user_list.yaml index 53e64c4..eb7b51a 100644 --- a/interface/pms/test_pms_get_enterprise_user_list.yaml +++ b/interface/pms/test_pms_get_enterprise_user_list.yaml @@ -6,10 +6,12 @@ case_common: - pms - usefixtures: gitlink_login +# 前提条件:当前存在组织,组织下存在成员 + case_info: - id: pms_get_enterprise_user_list_01 - title: 通过企业标识查询企业下用户列表 + title: 通过组织标识查询组织成员列表 run: True severity: normal url: ${pms_host}/api/pms/pmsEnterprise/${env_enterprise_identifier}/userList diff --git a/interface/pms/test_pms_upload_files.yaml b/interface/pms/test_pms_upload_files.yaml index ec3818d..01d0814 100644 --- a/interface/pms/test_pms_upload_files.yaml +++ b/interface/pms/test_pms_upload_files.yaml @@ -36,7 +36,7 @@ case_info: - id: pms_upload_file_project_02 - title: 上传附件(type=pms) - 项目 + title: 上传附件(type=pms) - 项目(测试用例) severity: run: true url: ${pms_host}/api/file/common/upload?type=pms&hierarchy=${env_enterprise_identifier}/projects @@ -62,7 +62,7 @@ case_info: - id: pms_upload_file_org_doc_03 - title: 上传附件(type=pms) - 组织知识库 + title: 上传附件(type=pms) - 组织知识库/项目知识库 severity: run: true url: ${pms_host}/api/file/common/upload?type=pms&hierarchy=${env_enterprise_identifier}/docs/0 diff --git a/utils/data_utils/data_handle.py b/utils/data_utils/data_handle.py index c894dc6..7aa1fa9 100644 --- a/utils/data_utils/data_handle.py +++ b/utils/data_utils/data_handle.py @@ -11,6 +11,7 @@ import re, uuid import copy import os import base64 +from datetime import datetime, timedelta # 第三方库导入 from loguru import logger from string import Template @@ -307,6 +308,35 @@ def update_wiki_sidebar(sidebar_content, new_page_name): return string_to_base64(new_sidebar_content) +def get_current_week(start_or_end="start"): + """ + 获取当前日期,并根据参数返回本周的开始或结束日期。 + + 参数: + - start_or_end: 字符串,指定返回本周的开始日期("start")还是结束日期("end")。 + + 返回: + - 本周开始或结束日期的字符串表示,格式为"月日"(例如:"01月01日")。 + """ + # 获取当前日期 + today = datetime.today() + # 计算今天是本周的第几天(0代表周一,1代表周二,以此类推) + current_weekday = today.weekday() + + if start_or_end == "start": + # 计算本周的周一 + res = today - timedelta(days=current_weekday) + elif start_or_end == "end": + # 计算本周的周日 + res = today - timedelta(days=current_weekday) + timedelta(days=6) + else: + # 如果参数非法,返回当前日期的周一 + logger.error(f"Invalid value for start_or_end: {start_or_end}. Defaulting to 'start'.") + res = today - timedelta(days=current_weekday) + + return res.strftime("%m月%d日") + + # 声明data_handle方法,这样外部就可以直接import data_handle来使用了 data_handle = DataHandle().data_handle