Пример #1
0
def test_serialise_invalid_version(gitlab_api):
    runner = Runner.register("https://gitlab.cern.ch", gitlab_api.token)
    job = runner.request_job()
    serialised_job = json.loads(job.dumps())
    serialised_job[0] = 2
    as_string = json.dumps(serialised_job)

    with pytest.raises(ValueError):
        Job.loads(as_string)

    with tempfile.NamedTemporaryFile(mode="wt") as fp:
        json.dump(as_string, fp)
        fp.flush()
        with pytest.raises(ValueError):
            Job.load(fp.name)

    # Check the API's internal state
    assert len(gitlab_api.pending_jobs) == 1
    assert len(gitlab_api.running_jobs) == 1
    assert len(gitlab_api.completed_jobs) == 0
Пример #2
0
def test_repr(gitlab_api):
    runner = Runner.register("https://gitlab.cern.ch", gitlab_api.token)
    print(repr(runner))
    assert runner.token in repr(runner)
Пример #3
0
def test_set_failed_with_artifacts(gitlab_api):
    runner = Runner.register("https://gitlab.cern.ch", gitlab_api.token)
    job = runner.request_job()
    job.set_failed(artifacts=[])
Пример #4
0
def test_invalid_executor(gitlab_api):
    with pytest.raises(ValueError):
        Runner.register("https://gitlab.cern.ch",
                        gitlab_api.token,
                        executor=[])
Пример #5
0
def test_equality(gitlab_api):
    runner_1 = Runner.register("https://gitlab.cern.ch", gitlab_api.token)
    runner_2 = Runner.register("https://gitlab.cern.ch", gitlab_api.token)
    assert runner_1 == runner_1
    assert runner_2 == runner_2
    assert runner_1 != runner_2
Пример #6
0
def test_invalid_platform(gitlab_api):
    with pytest.raises(ValueError):
        Runner.register("https://gitlab.cern.ch",
                        gitlab_api.token,
                        platform=[])
Пример #7
0
def test_invalid_architecture(gitlab_api):
    with pytest.raises(ValueError):
        Runner.register("https://gitlab.cern.ch",
                        gitlab_api.token,
                        architecture=[])
Пример #8
0
def test_invalid_maximum_timeout(gitlab_api):
    with pytest.raises(ValueError):
        Runner.register("https://gitlab.cern.ch",
                        gitlab_api.token,
                        maximum_timeout="100")
Пример #9
0
def test_invalid_revision(gitlab_api):
    with pytest.raises(ValueError):
        Runner.register("https://gitlab.cern.ch", gitlab_api.token, revision=1)
Пример #10
0
def test_invalid_run_untagged(gitlab_api):
    with pytest.raises(ValueError):
        Runner.register("https://gitlab.cern.ch",
                        gitlab_api.token,
                        run_untagged="True")
Пример #11
0
def test_register_without_parameters(gitlab_api):
    runner = Runner.register("https://gitlab.cern.ch", gitlab_api.token)
    check_runner(gitlab_api, runner)
Пример #12
0
def test_invalid_active(gitlab_api):
    with pytest.raises(ValueError):
        Runner.register("https://gitlab.cern.ch",
                        gitlab_api.token,
                        active="True")
Пример #13
0
def test_invalid_description(gitlab_api):
    with pytest.raises(ValueError):
        Runner.register("https://gitlab.cern.ch",
                        gitlab_api.token,
                        description=[])
Пример #14
0
def test_invalid_token(gitlab_api):
    with pytest.raises(ValueError):
        Runner.register("https://gitlab.cern.ch", 500)
    with pytest.raises(AuthException):
        Runner.register("https://gitlab.cern.ch", "invalid_token")
Пример #15
0
def test_bad_init(gitlab_api):
    with pytest.raises(AuthException):
        Runner("https://gitlab.cern.ch", 1, "invalid_token", {})
def test_token(gitlab_api):
    runner = Runner.register("https://gitlab.cern.ch", gitlab_api.token)
    job = runner.request_job()
    assert job.token == gitlab_api.running_jobs[0].token