Merge branch '16115-sharing-links'. Closes #16115
authorLucas Di Pentima <lucas.dipentima@curii.com>
Tue, 24 May 2022 15:26:37 +0000 (12:26 -0300)
committerLucas Di Pentima <lucas.dipentima@curii.com>
Tue, 24 May 2022 15:26:37 +0000 (12:26 -0300)
Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <lucas.dipentima@curii.com>

1  2 
cypress/support/commands.js

index 842c9551f7ee9f436bbde6c3b787477248379aca,74f44f7a5ae83fc6ef7d5c2ec640f5cda72d4fc0..e98000fc71403462a2f67ffbb0008c804da5c4b0
@@@ -73,30 -73,48 +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 };
+                     })
+                 })
              })
+         })
      }
  )
  
@@@ -405,10 -423,7 +423,10 @@@ function b64toBlob(b64Data, contentTyp
  // From https://github.com/cypress-io/cypress/issues/7306#issuecomment-1076451070=
  // This command requires the async package (https://www.npmjs.com/package/async)
  Cypress.Commands.add('waitForDom', () => {
 -    cy.window().then(win => {
 +    cy.window().then({
 +        // Don't timeout before waitForDom finishes
 +        timeout: 10000
 +    }, win => {
        let timeElapsed = 0;
  
        cy.log("Waiting for DOM mutations to complete");