1+ import pytest
2+
13from gcip import Pipeline
24from tests import conftest
35from gcip .core .image import Image
68from gcip .addons .container .registries import Registry
79
810
11+ @pytest .fixture ()
12+ def docker_client_config () -> DockerClientConfig :
13+ dcc = DockerClientConfig ()
14+ dcc .add_auth (registry = "index.docker.io" )
15+ dcc .add_cred_helper ("0132456789.dkr.eu-central-1.amazonaws.com" , cred_helper = "ecr-login" )
16+ return dcc
17+
18+
919def test_simple_crane_copy_job (gitlab_ci_environment_variables ):
1020 pipeline = Pipeline ()
1121
@@ -24,17 +34,13 @@ def test_simple_crane_copy_job(gitlab_ci_environment_variables):
2434 conftest .check (pipeline .render ())
2535
2636
27- def test_advanced_crane_copy_job (gitlab_ci_environment_variables ):
28- dcc = DockerClientConfig ()
29- dcc .add_auth (registry = "index.docker.io" )
30- dcc .add_cred_helper ("0132456789.dkr.eu-central-1.amazonaws.com" , "ecr-login" )
31-
37+ def test_advanced_crane_copy_job (gitlab_ci_environment_variables , docker_client_config ):
3238 pipeline = Pipeline ()
3339 pipeline .add_children (
3440 crane .copy (
3541 "index.docker.io/alpine:3" ,
3642 "0132456789.dkr.eu-central-1.amazonaws.com/namespace/alpine:3" ,
37- docker_client_config = dcc ,
43+ docker_client_config = docker_client_config ,
3844 ),
3945 name = "with_authentication" ,
4046 )
@@ -47,35 +53,56 @@ def test_simple_crane_push_job(gitlab_ci_environment_variables):
4753 conftest .check (pipeline .render ())
4854
4955
50- def test_advanced_crane_push_job (gitlab_ci_environment_variables ):
51- dcc = DockerClientConfig ()
52- dcc .add_auth (registry = "index.docker.io" )
53- dcc .add_cred_helper ("0132456789.dkr.eu-central-1.amazonaws.com" , cred_helper = "ecr-login" )
56+ def test_advanced_crane_push_job (gitlab_ci_environment_variables , docker_client_config ):
5457 pipeline = Pipeline ()
5558 pipeline .add_children (
5659 crane .push (
5760 dst_registry = "index.docker.io" ,
5861 image_name = "crane" ,
59- docker_client_config = dcc ,
62+ docker_client_config = docker_client_config ,
6063 crane_image = "crane_image:v1.1.2" ,
6164 ),
6265 name = "push_image" ,
6366 )
6467 conftest .check (pipeline .render ())
6568
6669
67- def test_addons_container_jobs_crane_push_registry (gitlab_ci_environment_variables ):
68- dcc = DockerClientConfig ()
69- dcc .add_auth (registry = Registry .DOCKER )
70- dcc .add_cred_helper ("0132456789.dkr.eu-central-1.amazonaws.com" , cred_helper = "ecr-login" )
70+ def test_addons_container_jobs_crane_push_registry (gitlab_ci_environment_variables , docker_client_config ):
7171 pipeline = Pipeline ()
7272 pipeline .add_children (
7373 crane .push (
7474 dst_registry = Registry .DOCKER ,
7575 image_name = "crane" ,
76- docker_client_config = dcc ,
76+ docker_client_config = docker_client_config ,
7777 crane_image = "crane_image:v1.1.2" ,
7878 ),
7979 name = "push_image" ,
8080 )
8181 conftest .check (pipeline .render ())
82+
83+
84+ def test_crane_simple_pull (gitlab_ci_environment_variables ):
85+ pipeline = Pipeline ()
86+ pipeline .add_children (crane .pull (Registry .GCR ))
87+ conftest .check (pipeline .render ())
88+
89+
90+ def test_crane_simple_pull_with_ref (monkeypatch , gitlab_ci_environment_variables ):
91+ monkeypatch .delenv ("CI_COMMIT_TAG" )
92+ pipeline = Pipeline ()
93+ pipeline .add_children (crane .pull (Registry .GCR ))
94+ conftest .check (pipeline .render ())
95+
96+
97+ def test_crane_advanced_pull (gitlab_ci_environment_variables , docker_client_config ):
98+ pipeline = Pipeline ()
99+ pipeline .add_children (
100+ crane .pull (
101+ Registry .GCR ,
102+ docker_client_config = docker_client_config ,
103+ image_name = "thomass/gcip" ,
104+ image_tag = "main" ,
105+ tar_path = "test/foo/bar" ,
106+ )
107+ )
108+ conftest .check (pipeline .render ())
0 commit comments