def test_meta_data_url(fake_client): """ Verifies if url is created properly when using meta_data """ meta_data = {"key1": 1, "key2": "2"} builds = Builds(fake_client, "base") builds.list_all(meta_data=meta_data) name, args, kwargs = fake_client.method_calls[-1] _, query_params = args assert query_params["meta_data[key1]"] == 1 assert query_params["meta_data[key2]"] == "2"
def test_no_meta_data_url(self, fake_client): """ Verifies if url is created properly when using meta_data """ builds = Builds(fake_client, "base") builds.list_all() name, args, kwargs = fake_client.method_calls[-1] _, query_params = args for key in query_params: assert "meta_data" not in key
def test_list_all_builds_multipe_build_states(fake_client): builds = Builds(fake_client, "https://api.buildkite.com/v2/") builds.list_all(states=[BuildState.RUNNING, BuildState.FINISHED]) fake_client.get.assert_called_with( builds.path_for_all, { "creator": None, "created_from": None, "created_to": None, "finished_from": None, "state": "state[]=running&state[]=finished", "branch": None, "commit": None, "page": 0, }, with_pagination=False, )
def test_list_all_builds_single_build_state(fake_client): builds = Builds(fake_client, "https://api.buildkite.com/v2/") builds.list_all(states=[BuildState.RUNNING]) fake_client.get.assert_called_with( builds.path_for_all, { "creator": None, "created_from": None, "created_to": None, "finished_from": None, "state": "state=running", "branch": None, "commit": None, "include_retried_jobs": None, "page": 0, }, with_pagination=False, )
def test_date_must_be_valid(fake_client): builds = Builds(fake_client, "https://api.buildkite.com/v2/") with pytest.raises(NotValidDateTime): builds.list_all(created_from="2017-02-03")
def test_build_state_must_be_valid(fake_client): builds = Builds(fake_client, "https://api.buildkite.com/v2/") with pytest.raises(NotValidBuildState): builds.list_all(states=["ran"])
def test_build_state_must_be_list(fake_client): builds = Builds(fake_client, "https://api.buildkite.com/v2/") with pytest.raises(BuildStateNotAList): builds.list_all(states=BuildState.RUNNING)