summaryrefslogtreecommitdiff
path: root/yarns
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2018-04-06 21:38:43 +0300
committerLars Wirzenius <liw@liw.fi>2018-04-06 21:38:43 +0300
commit5aeef33219103eb5f39bfc0a79ed462f46a12420 (patch)
tree7fd5f2deb719a8c4ff68bf7eda7ee024006cf986 /yarns
parent63a8c15a46b73232fc2162807eced80e5e2c7296 (diff)
downloadick2-5aeef33219103eb5f39bfc0a79ed462f46a12420.tar.gz
Add: authentication URL to controller /version
Diffstat (limited to 'yarns')
-rw-r--r--yarns/100-projects.yarn1
-rw-r--r--yarns/150-pipelines.yarn1
-rw-r--r--yarns/200-version.yarn2
-rw-r--r--yarns/300-workers.yarn1
-rw-r--r--yarns/400-build.yarn3
-rw-r--r--yarns/500-build-fail.yarn1
-rw-r--r--yarns/600-unauthz.yarn1
-rw-r--r--yarns/900-local.yarn12
8 files changed, 22 insertions, 0 deletions
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 <http://www.gnu.org/licenses/>.
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 <http://www.gnu.org/licenses/>.
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 <http://www.gnu.org/licenses/>.
],
'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 <http://www.gnu.org/licenses/>.
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