|
8 | 8 | import time |
9 | 9 | import uuid |
10 | 10 | from subprocess import check_output |
11 | | -from typing import Sequence |
| 11 | +from typing import Sequence, TYPE_CHECKING |
12 | 12 |
|
13 | 13 | import pytest |
14 | 14 | import requests |
@@ -260,6 +260,7 @@ def gl(gitlab_url: str, gitlab_token: str) -> gitlab.Gitlab: |
260 | 260 |
|
261 | 261 | logging.info("Instantiating python-gitlab gitlab.Gitlab instance") |
262 | 262 | instance = gitlab.Gitlab(gitlab_url, private_token=gitlab_token) |
| 263 | + instance.auth() |
263 | 264 |
|
264 | 265 | logging.info("Reset GitLab") |
265 | 266 | reset_gitlab(instance) |
@@ -291,33 +292,36 @@ def gitlab_ultimate(gitlab_plan, request) -> None: |
291 | 292 |
|
292 | 293 |
|
293 | 294 | @pytest.fixture(scope="session") |
294 | | -def gitlab_runner(gl): |
| 295 | +def gitlab_runner(gl: gitlab.Gitlab): |
295 | 296 | container = "gitlab-runner-test" |
296 | | - runner_name = "python-gitlab-runner" |
297 | | - token = "registration-token" |
| 297 | + runner_description = "python-gitlab-runner" |
| 298 | + if TYPE_CHECKING: |
| 299 | + assert gl.user is not None |
| 300 | + |
| 301 | + runner = gl.user.runners.create( |
| 302 | + {"runner_type": "instance_type", "run_untagged": True} |
| 303 | + ) |
298 | 304 | url = "http://gitlab" |
299 | 305 |
|
300 | 306 | docker_exec = ["docker", "exec", container, "gitlab-runner"] |
301 | 307 | register = [ |
302 | 308 | "register", |
303 | | - "--run-untagged", |
304 | 309 | "--non-interactive", |
305 | | - "--registration-token", |
306 | | - token, |
307 | | - "--name", |
308 | | - runner_name, |
| 310 | + "--token", |
| 311 | + runner.token, |
| 312 | + "--description", |
| 313 | + runner_description, |
309 | 314 | "--url", |
310 | 315 | url, |
311 | 316 | "--clone-url", |
312 | 317 | url, |
313 | 318 | "--executor", |
314 | 319 | "shell", |
315 | 320 | ] |
316 | | - unregister = ["unregister", "--name", runner_name] |
317 | 321 |
|
318 | 322 | yield check_output(docker_exec + register).decode() |
319 | 323 |
|
320 | | - check_output(docker_exec + unregister).decode() |
| 324 | + gl.runners.delete(token=runner.token) |
321 | 325 |
|
322 | 326 |
|
323 | 327 | @pytest.fixture(scope="module") |
|
0 commit comments