Files
apiautotest/interface/gitlink/projects/test_gitlink_new_project.yaml
2025-12-25 15:48:21 +08:00

184 lines
5.0 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
config:
epic: GitLink接口
feature: 开源项目模块
story: 新建项目
pytest_markers:
- gitlink
- projects
- gitea
- new_project
- usefixtures: gitlink_login
# 放置公共依赖 仅yaml用例支持excel用例不支持
common_dependence:
setup:
interface:
# 获取开源许可证
- gitlink_get_repo_licenses_01
# 获取gitignore
- gitlink_get_repo_ignores_01
# 获取项目类别
- gitlink_get_repo_category_01
# 获取项目语言
- gitlink_get_repo_language_01
teststeps:
- id: gitlink_projects_new_project_01
title: 正确输入各项必填参数,新建公开项目成功
severity: critical
run: True
url: /api/projects.json
method: POST
headers:
Content-Type: application/json; charset=utf-8;
Cookie: ${cookies}
cookies:
request_type: json
payload:
user_id: ${user_id}
name: test_${generate_words()}_${generate_identifier()}
repository_name: ${generate_identifier()}_test
files:
validate:
status_code: 200
assertId:
message: 断言接口返回的存在id
expect_value: id
assert_type: contains
extract:
type_jsonpath:
project_id: $.id # 项目id
repo_name: $.name
repo_owner: $.login
repo_identifier: $.identifier
case_dependence:
teardown:
interface:
# 清理数据:删除项目
- gitlink_projects_delete_project_01
- id: gitlink_projects_new_project_02
title: 正确输入各项必填参数,新建私有项目成功
run: true
url: /api/projects.json
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
user_id: ${env_user_id}
name: test_${generate_words()}_${generate_identifier()}
repository_name: ${generate_identifier()}_test
private: true
files:
validate:
status_code: 200
login:
message: 断言接口返回的login
expect_value: ${login}
assert_type: ==
type_jsonpath: $.login
extract:
type_jsonpath:
repo_id: $.id
repo_name: $.name
repo_owner: $.login
repo_identifier: $.identifier
case_dependence:
teardown:
interface:
# 清理数据:删除项目
- gitlink_projects_delete_project_01
- id: gitlink_projects_new_project_03
title: 输入所有参数,新建项目成功
run: true
url: /api/projects.json
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
user_id: ${env_user_id}
name: test_${generate_words()}_${generate_identifier()}
repository_name: ${generate_identifier()}_test
description: ${generate_paragraph()}
private: true
ignoreFlag: true
ignore_id: ${ignores_id}
ignore: ${ignores_name}
licenseFlag: true
license_id: ${licenses_id}
license: ${licenses_name}
categoreFlag: true
project_category_id: ${repo_category_id}
project_category: ${repo_category_name}
languageFlag: true
project_language_id: ${repo_language_id}
project_language: ${repo_language_name}
# blockchain: false
# blockchain_token_all: 10000
# blockchain_init_token:
files:
validate:
status_code: 200
login:
message: 断言接口返回的login
expect_value: ${login}
assert_type: ==
type_jsonpath: $.login
extract:
type_jsonpath:
repo_id: $.id
repo_name: $.name
repo_owner: $.login
repo_identifier: $.identifier
case_dependence:
teardown:
interface:
# 清理数据:删除项目
- gitlink_projects_delete_project_01
- id: gitlink_projects_new_project_04
title: 正确输入各项必填参数,新建项目成功(校验数据库)
severity: normal
run: false
url: /api/projects.json
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
user_id: ${env_user_id}
name: test_${generate_words()}_${generate_identifier()}
repository_name: ${generate_identifier()}_test
files:
validate:
status_code: 200
login:
message: 断言接口返回的login
expect_value: ${login}
assert_type: ==
type_jsonpath: $.login
assert_sql:
eq:
sql: select id,`name`, identifier from projects where user_id=${user_id} ORDER BY created_on DESC;
$.id: ${pms_project_id}
$.name: ${project_name}
$.identifier: ${project_identifier}
extract:
type_jsonpath:
repo_id: $.id
repo_name: $.name
repo_owner: $.login
repo_identifier: $.identifier
case_dependence:
teardown:
interface:
# 清理数据:删除项目
- gitlink_projects_delete_project_01