Skip to content

Commit e37f8a6

Browse files
committed
routes/suite.py: add /default endpoint
Add endpoint that returns the default request body for /suite Signed-off-by: Devansh Singh <devanshamity@gmail.com>
1 parent f0a9d59 commit e37f8a6

File tree

2 files changed

+68
-2
lines changed

2 files changed

+68
-2
lines changed

src/teuthology_api/routes/suite.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,14 @@ def create_run(
2525
args = args.model_dump(by_alias=True)
2626
args["--user"] = get_username(request)
2727
return run(args, logs, access_token)
28+
29+
30+
@router.get("/default", status_code=200)
31+
def default_values(request: Request):
32+
args = {
33+
"--suite": "teuthology:no-ceph",
34+
"--machine-type": None,
35+
"--owner": get_username(request),
36+
}
37+
default = SuiteArgs(**args)
38+
return default.model_dump(by_alias=True)

tests/test_suite.py

Lines changed: 57 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,6 @@ def test_suite_run_success(m_get_run_details, m_get_username, m_logs_run):
4141

4242

4343
# make_run_name
44-
45-
4644
def test_make_run_name():
4745
m_run_dic = {
4846
"user": "testuser",
@@ -101,3 +99,60 @@ def test_make_run_name_with_no_kernel_branch():
10199
"teuthology-2022-03-21_14:30:00-rados-ceph1-distro-test-flavor-test-machine"
102100
)
103101
assert make_run_name(m_run_dic) == expected
102+
103+
104+
@patch("teuthology_api.routes.suite.get_username")
105+
def test_default_suite_args(m_get_username):
106+
m_get_username.return_value = "user1"
107+
m_default_args = {
108+
"--dry-run": False,
109+
"--non-interactive": False,
110+
"--verbose": 1,
111+
"--help": False,
112+
"--arch": None,
113+
"--ceph": "main",
114+
"--ceph-repo": "https://github.com/ceph/ceph-ci.git",
115+
"--distro": None,
116+
"--distro-version": None,
117+
"--email": None,
118+
"--flavor": "default",
119+
"--kernel": "distro",
120+
"--machine-type": None,
121+
"--newest": "0",
122+
"--rerun-status.": False,
123+
"--rerun-statuses": "fail,dead",
124+
"--sha1": None,
125+
"--sleep-before-teardown": "0",
126+
"--suite": "teuthology:no-ceph",
127+
"--suite-branch": None,
128+
"--suite-dir": None,
129+
"--suite-relpath": "qa",
130+
"--suite_repo": "https://github.com/ceph/ceph-ci.git",
131+
"--teuthology-branch": "main",
132+
"--validate-sha1": "true",
133+
"--wait": False,
134+
"<config_yaml>": [],
135+
"--owner": "user1",
136+
"--num": "1",
137+
"--priority": "70",
138+
"--queue-backend": None,
139+
"--rerun": None,
140+
"--seed": "-1",
141+
"--force-priority": False,
142+
"--no-nested-subset": False,
143+
"--job-threshold": "500",
144+
"--archive-upload": None,
145+
"--archive-upload-url": None,
146+
"--throttle": None,
147+
"--filter": None,
148+
"--filter-out": None,
149+
"--filter-all": None,
150+
"--filter-fragments": "false",
151+
"--subset": None,
152+
"--timeout": "43200",
153+
"--rocketchat": None,
154+
"--limit": "0",
155+
}
156+
response = client.get("/suite/default")
157+
assert response.status_code == 200
158+
assert response.json() == m_default_args

0 commit comments

Comments
 (0)