16115: Sets api_client as trusted in order to handle tokens.
authorLucas Di Pentima <lucas.dipentima@curii.com>
Mon, 16 May 2022 18:21:56 +0000 (15:21 -0300)
committerLucas Di Pentima <lucas.dipentima@curii.com>
Mon, 16 May 2022 18:21:56 +0000 (15:21 -0300)
Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <lucas.dipentima@curii.com>

cypress/support/commands.js

index c2d78b54b2e71f3b295bbee47d63a6352193f926..74f44f7a5ae83fc6ef7d5c2ec640f5cda72d4fc0 100644 (file)
@@ -73,30 +73,48 @@ Cypress.Commands.add(
             }),
             return_to: ',https://example.local'
         }, null, systemToken, true, false) // Don't follow redirects so we can catch the token
-            .its('headers.location').as('location')
-            // Get its token and set the account up as admin and/or active
+        .its('headers.location').as('location')
+        // Get its token and set the account up as admin and/or active
+        .then(function () {
+            this.userToken = this.location.split("=")[1]
+            assert.isString(this.userToken)
+            return cy.doRequest('GET', '/arvados/v1/users', null, {
+                filters: `[["username", "=", "${username}"]]`
+            })
+            .its('body.items.0').as('aUser')
             .then(function () {
-                this.userToken = this.location.split("=")[1]
-                assert.isString(this.userToken)
-                return cy.doRequest('GET', '/arvados/v1/users', null, {
-                    filters: `[["username", "=", "${username}"]]`
+                cy.doRequest('PUT', `/arvados/v1/users/${this.aUser.uuid}`, {
+                    user: {
+                        is_admin: is_admin,
+                        is_active: is_active
+                    }
                 })
-                    .its('body.items.0')
-                    .as('aUser')
+                .its('body').as('theUser')
+                .then(function () {
+                    cy.doRequest('GET', '/arvados/v1/api_clients', null, {
+                        filters: `[["is_trusted", "=", false]]`,
+                        order: `["created_at desc"]`
+                    })
+                    .its('body.items').as('apiClients')
                     .then(function () {
-                        cy.doRequest('PUT', `/arvados/v1/users/${this.aUser.uuid}`, {
-                            user: {
-                                is_admin: is_admin,
-                                is_active: is_active
-                            }
-                        })
-                            .its('body')
-                            .as('theUser')
-                            .then(function () {
-                                return { user: this.theUser, token: this.userToken };
+                        if (this.apiClients.length > 0) {
+                            cy.doRequest('PUT', `/arvados/v1/api_clients/${this.apiClients[0].uuid}`, {
+                                api_client: {
+                                    is_trusted: true
+                                }
                             })
+                            .its('body').as('updatedApiClient')
+                            .then(function() {
+                                assert(this.updatedApiClient.is_trusted);
+                            })
+                        }
                     })
+                    .then(function () {
+                        return { user: this.theUser, token: this.userToken };
+                    })
+                })
             })
+        })
     }
 )