From 5aeef33219103eb5f39bfc0a79ed462f46a12420 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Fri, 6 Apr 2018 21:38:43 +0300 Subject: Add: authentication URL to controller /version --- yarns/100-projects.yarn | 1 + yarns/150-pipelines.yarn | 1 + yarns/200-version.yarn | 2 ++ yarns/300-workers.yarn | 1 + yarns/400-build.yarn | 3 +++ yarns/500-build-fail.yarn | 1 + yarns/600-unauthz.yarn | 1 + yarns/900-local.yarn | 12 ++++++++++++ 8 files changed, 22 insertions(+) (limited to 'yarns') diff --git a/yarns/100-projects.yarn b/yarns/100-projects.yarn index b5a7f78..c5052f9 100644 --- a/yarns/100-projects.yarn +++ b/yarns/100-projects.yarn @@ -56,6 +56,7 @@ building them. We start by starting an instance of the controller. ... uapi_projects_id_delete AND controller config uses statedir at the state directory AND controller config uses https://blobs.example.com as artifact store + AND controller config uses https://auth.example.com as authentication AND a running ick controller WHEN user makes request GET /projects diff --git a/yarns/150-pipelines.yarn b/yarns/150-pipelines.yarn index 15c4b05..dd5cde2 100644 --- a/yarns/150-pipelines.yarn +++ b/yarns/150-pipelines.yarn @@ -64,6 +64,7 @@ running them. We start by starting an instance of the controller. ... uapi_pipelines_id_delete AND controller config uses statedir at the state directory AND controller config uses https://blobs.example.com as artifact store + AND controller config uses https://auth.example.com as authentication AND a running ick controller WHEN user makes request GET /pipelines diff --git a/yarns/200-version.yarn b/yarns/200-version.yarn index d281a19..8d8078d 100644 --- a/yarns/200-version.yarn +++ b/yarns/200-version.yarn @@ -27,12 +27,14 @@ The Ick controller reports is version upon request. ... uapi_version_get AND controller config uses statedir at the state directory AND controller config uses https://blobs.example.com as artifact store + AND controller config uses https://auth.example.com as authentication AND a running ick controller WHEN user makes request GET /version THEN result has status code 200 AND version in body matches version from setup.py AND artifact store URL is https://blobs.example.com + AND authentication URL is https://auth.example.com FINALLY stop ick controller diff --git a/yarns/300-workers.yarn b/yarns/300-workers.yarn index 8b12f6f..4e975ea 100644 --- a/yarns/300-workers.yarn +++ b/yarns/300-workers.yarn @@ -61,6 +61,7 @@ controller API. It doesn't actually talk to the worker itself. ... uapi_workers_id_delete AND controller config uses statedir at the state directory AND controller config uses https://blobs.example.com as artifact store + AND controller config uses https://auth.example.com as authentication AND a running ick controller WHEN user makes request GET /workers diff --git a/yarns/400-build.yarn b/yarns/400-build.yarn index e2ba579..bd44122 100644 --- a/yarns/400-build.yarn +++ b/yarns/400-build.yarn @@ -28,6 +28,7 @@ Set up the controller. GIVEN an RSA key pair for token signing AND controller config uses statedir at the state directory AND controller config uses https://blobs.example.com as artifact store + AND controller config uses https://auth.example.com as authentication AND an access token for user with scopes ... uapi_pipelines_post ... uapi_projects_post @@ -641,6 +642,7 @@ Set up the controller. GIVEN an RSA key pair for token signing AND controller config uses statedir at the state directory AND controller config uses https://blobs.example.com as artifact store + AND controller config uses https://auth.example.com as authentication AND an access token for user with scopes ... uapi_pipelines_post ... uapi_projects_post @@ -798,6 +800,7 @@ Set up the controller. GIVEN an RSA key pair for token signing AND controller config uses statedir at the state directory AND controller config uses https://blobs.example.com as artifact store + AND controller config uses https://auth.example.com as authentication AND an access token for user with scopes ... uapi_pipelines_post ... uapi_projects_post diff --git a/yarns/500-build-fail.yarn b/yarns/500-build-fail.yarn index 84ec66d..dbe4e2c 100644 --- a/yarns/500-build-fail.yarn +++ b/yarns/500-build-fail.yarn @@ -29,6 +29,7 @@ Set up the controller. GIVEN an RSA key pair for token signing AND controller config uses statedir at the state directory AND controller config uses https://blobs.example.com as artifact store + AND controller config uses https://auth.example.com as authentication AND an access token for user with scopes ... uapi_pipelines_post ... uapi_projects_post diff --git a/yarns/600-unauthz.yarn b/yarns/600-unauthz.yarn index c57f815..14e0015 100644 --- a/yarns/600-unauthz.yarn +++ b/yarns/600-unauthz.yarn @@ -29,6 +29,7 @@ Set up the controller. GIVEN an RSA key pair for token signing AND controller config uses statedir at the state directory AND controller config uses https://blobs.example.com as artifact store + AND controller config uses https://auth.example.com as authentication AND an access token for user with scopes ... uapi_projects_post ... uapi_projects_id_pipelines_id_put diff --git a/yarns/900-local.yarn b/yarns/900-local.yarn index 4e9dbe1..9ec0dcb 100644 --- a/yarns/900-local.yarn +++ b/yarns/900-local.yarn @@ -49,6 +49,9 @@ along with this program. If not, see . IMPLEMENTS GIVEN controller config uses (\S+) as artifact store vars['artifact_store'] = get_next_match() + IMPLEMENTS GIVEN controller config uses (\S+) as authentication + vars['auth_url'] = get_next_match() + ## Start and stop the controller IMPLEMENTS GIVEN a running ick controller @@ -57,6 +60,7 @@ along with this program. If not, see . vars['gunicorn3.log'] = 'gunicorn3.log' vars['port'] = random_free_port() vars['url'] = 'http://127.0.0.1:{}'.format(vars['port']) + assert vars['auth_url'] is not None config = { 'token-issuer': vars['issuer'], 'token-audience': vars['audience'], @@ -68,6 +72,7 @@ along with this program. If not, see . ], 'statedir': vars['statedir'], 'artifact-store': vars['artifact_store'], + 'auth-url': vars['auth_url'], } env = dict(os.environ) env['ICK_CONTROLLER_CONFIG'] = 'ick_controller.yaml' @@ -116,6 +121,13 @@ along with this program. If not, see . actual = obj['artifact_store'] assertEqual(actual, expected) + IMPLEMENTS THEN authentication URL is (\S+) + expected = get_next_match() + body = vars['body'] + obj = json.loads(body) + actual = obj['auth_url'] + assertEqual(actual, expected) + ## Start and stop artifact store IMPLEMENTS GIVEN artifact store config uses (\S+) at the blob directory -- cgit v1.2.1