[arvados] updated: 2.7.0-6052-g65e6fa3de6

git repository hosting git at public.arvados.org
Fri Feb 23 21:01:17 UTC 2024


Summary of changes:
 .../workbench2/cypress/e2e/banner-tooltip.cy.js    |  3 --
 services/workbench2/cypress/e2e/collection.cy.js   |  5 ---
 .../workbench2/cypress/e2e/create-workflow.cy.js   |  5 ---
 .../cypress/e2e/delete-multiple-files.cy.js        |  5 ---
 services/workbench2/cypress/e2e/favorites.cy.js    |  5 ---
 services/workbench2/cypress/e2e/login.cy.js        |  5 ---
 .../cypress/e2e/multiselect-toolbar.cy.js          |  5 ---
 .../workbench2/cypress/e2e/page-not-found.cy.js    |  5 ---
 services/workbench2/cypress/e2e/process.cy.js      | 50 +++++++++++++++++++---
 services/workbench2/cypress/e2e/project.cy.js      |  5 ---
 services/workbench2/cypress/e2e/search.cy.js       |  5 ---
 services/workbench2/cypress/e2e/sharing.cy.js      |  5 ---
 services/workbench2/cypress/e2e/side-panel.cy.js   |  5 ---
 services/workbench2/cypress/support/commands.js    |  5 ++-
 14 files changed, 49 insertions(+), 64 deletions(-)

       via  65e6fa3de6c5e921e30044c66ed494456d965c59 (commit)
       via  9375fd613c5eec65195ffb721666061e4032cb0a (commit)
      from  6b28bccc0f033b2c3a2dbcb66938e91930702042 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit 65e6fa3de6c5e921e30044c66ed494456d965c59
Author: Lucas Di Pentima <lucas.dipentima at curii.com>
Date:   Fri Feb 23 17:59:25 2024 -0300

    21461: Removes unnecessary session clearing code. Cypress already does it.
    
    Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <lucas.dipentima at curii.com>

diff --git a/services/workbench2/cypress/e2e/banner-tooltip.cy.js b/services/workbench2/cypress/e2e/banner-tooltip.cy.js
index 3fbaba9e38..0a434ec9e8 100644
--- a/services/workbench2/cypress/e2e/banner-tooltip.cy.js
+++ b/services/workbench2/cypress/e2e/banner-tooltip.cy.js
@@ -23,9 +23,6 @@ describe('Banner / tooltip tests', function () {
     });
 
     beforeEach(function () {
-        cy.clearCookies();
-        cy.clearLocalStorage();
-
         cy.on('uncaught:exception', (err, runnable, promise) => {
             Cypress.log({ message: `Application Error: ${err}`});
             if (promise) {
diff --git a/services/workbench2/cypress/e2e/collection.cy.js b/services/workbench2/cypress/e2e/collection.cy.js
index f4ffaebf5e..c5edf0e4f2 100644
--- a/services/workbench2/cypress/e2e/collection.cy.js
+++ b/services/workbench2/cypress/e2e/collection.cy.js
@@ -27,11 +27,6 @@ describe("Collection panel tests", function () {
         downloadsFolder = Cypress.config("downloadsFolder");
     });
 
-    beforeEach(function () {
-        cy.clearCookies();
-        cy.clearLocalStorage();
-    });
-
     it('shows the appropriate buttons in the toolbar', () => {
 
         const msButtonTooltips = [
diff --git a/services/workbench2/cypress/e2e/create-workflow.cy.js b/services/workbench2/cypress/e2e/create-workflow.cy.js
index e646903934..c8acc67348 100644
--- a/services/workbench2/cypress/e2e/create-workflow.cy.js
+++ b/services/workbench2/cypress/e2e/create-workflow.cy.js
@@ -19,11 +19,6 @@ describe('Create workflow tests', function () {
             );
     });
 
-    beforeEach(function () {
-        cy.clearCookies();
-        cy.clearLocalStorage();
-    });
-
     it('can create project with nested data', function () {
         cy.createGroup(adminUser.token, {
             group_class: "project",
diff --git a/services/workbench2/cypress/e2e/delete-multiple-files.cy.js b/services/workbench2/cypress/e2e/delete-multiple-files.cy.js
index b506fb3d68..8086dd125d 100644
--- a/services/workbench2/cypress/e2e/delete-multiple-files.cy.js
+++ b/services/workbench2/cypress/e2e/delete-multiple-files.cy.js
@@ -19,11 +19,6 @@ describe('Multi-file deletion tests', function () {
             );
     });
 
-    beforeEach(function () {
-        cy.clearCookies();
-        cy.clearLocalStorage();
-    });
-
     it('deletes all files from root dir', function () {
         cy.createCollection(adminUser.token, {
             name: `Test collection ${Math.floor(Math.random() * 999999)}`,
diff --git a/services/workbench2/cypress/e2e/favorites.cy.js b/services/workbench2/cypress/e2e/favorites.cy.js
index db9a0d5f39..2898c22cba 100644
--- a/services/workbench2/cypress/e2e/favorites.cy.js
+++ b/services/workbench2/cypress/e2e/favorites.cy.js
@@ -21,11 +21,6 @@ describe('Favorites tests', function () {
             });
     });
 
-    beforeEach(function () {
-        cy.clearCookies()
-        cy.clearLocalStorage()
-    });
-
     it('creates and removes a public favorite', function () {
         cy.loginAs(adminUser);
 
diff --git a/services/workbench2/cypress/e2e/login.cy.js b/services/workbench2/cypress/e2e/login.cy.js
index 79f73670a3..6f2c91c37e 100644
--- a/services/workbench2/cypress/e2e/login.cy.js
+++ b/services/workbench2/cypress/e2e/login.cy.js
@@ -33,11 +33,6 @@ describe('Login tests', function() {
         randomUser.password = 'topsecret';
     })
 
-    beforeEach(function() {
-        cy.clearCookies()
-        cy.clearLocalStorage()
-    })
-
     it('shows login page on first visit', function() {
         cy.visit('/')
         cy.get('div#root').should('contain', 'Please log in')
diff --git a/services/workbench2/cypress/e2e/multiselect-toolbar.cy.js b/services/workbench2/cypress/e2e/multiselect-toolbar.cy.js
index ef503f7ef6..ce3551bbd1 100644
--- a/services/workbench2/cypress/e2e/multiselect-toolbar.cy.js
+++ b/services/workbench2/cypress/e2e/multiselect-toolbar.cy.js
@@ -23,11 +23,6 @@ describe('Multiselect Toolbar Tests', () => {
             });
     });
 
-    beforeEach(function () {
-        cy.clearCookies();
-        cy.clearLocalStorage();
-    });
-
     it('exists in DOM in neutral state', () => {
         cy.loginAs(activeUser);
         cy.get('[data-cy=multiselect-toolbar]').should('exist');
diff --git a/services/workbench2/cypress/e2e/page-not-found.cy.js b/services/workbench2/cypress/e2e/page-not-found.cy.js
index 6eab27c827..e147d740d3 100644
--- a/services/workbench2/cypress/e2e/page-not-found.cy.js
+++ b/services/workbench2/cypress/e2e/page-not-found.cy.js
@@ -13,11 +13,6 @@ describe('Page not found tests', function() {
         );
     });
 
-    beforeEach(function() {
-        cy.clearCookies()
-        cy.clearLocalStorage()
-    });
-
     it('shows not found page', function() {
         // when
         cy.loginAs(adminUser);
diff --git a/services/workbench2/cypress/e2e/process.cy.js b/services/workbench2/cypress/e2e/process.cy.js
index 4687a2577e..ca13e9f9e0 100644
--- a/services/workbench2/cypress/e2e/process.cy.js
+++ b/services/workbench2/cypress/e2e/process.cy.js
@@ -25,11 +25,6 @@ describe("Process tests", function () {
             });
     });
 
-    beforeEach(function () {
-        cy.clearCookies();
-        cy.clearLocalStorage();
-    });
-
     function setupDockerImage(image_name) {
         // Create a collection that will be used as a docker image for the tests.
         cy.createCollection(adminUser.token, {
diff --git a/services/workbench2/cypress/e2e/project.cy.js b/services/workbench2/cypress/e2e/project.cy.js
index c03aa8dcd5..a7e7002759 100644
--- a/services/workbench2/cypress/e2e/project.cy.js
+++ b/services/workbench2/cypress/e2e/project.cy.js
@@ -23,11 +23,6 @@ describe("Project tests", function () {
             });
     });
 
-    beforeEach(function () {
-        cy.clearCookies();
-        cy.clearLocalStorage();
-    });
-
     it("creates a new project with multiple properties", function () {
         const projName = `Test project (${Math.floor(999999 * Math.random())})`;
         cy.loginAs(activeUser);
diff --git a/services/workbench2/cypress/e2e/search.cy.js b/services/workbench2/cypress/e2e/search.cy.js
index d8aa35d3d2..4411c9ffb4 100644
--- a/services/workbench2/cypress/e2e/search.cy.js
+++ b/services/workbench2/cypress/e2e/search.cy.js
@@ -23,11 +23,6 @@ describe("Search tests", function () {
             });
     });
 
-    beforeEach(function () {
-        cy.clearCookies();
-        cy.clearLocalStorage();
-    });
-
     it("can search for old collection versions", function () {
         const colName = `Versioned Collection ${Math.floor(Math.random() * Math.floor(999999))}`;
         let colUuid = "";
diff --git a/services/workbench2/cypress/e2e/sharing.cy.js b/services/workbench2/cypress/e2e/sharing.cy.js
index f742d09062..05a7d470bf 100644
--- a/services/workbench2/cypress/e2e/sharing.cy.js
+++ b/services/workbench2/cypress/e2e/sharing.cy.js
@@ -21,11 +21,6 @@ describe('Sharing tests', function () {
             });
     })
 
-    beforeEach(function () {
-        cy.clearCookies()
-        cy.clearLocalStorage()
-    });
-
     it('can create and delete sharing URLs on collections', () => {
         const collName = 'shared-collection ' + new Date().getTime();
         cy.createCollection(adminUser.token, {
diff --git a/services/workbench2/cypress/e2e/side-panel.cy.js b/services/workbench2/cypress/e2e/side-panel.cy.js
index d6ac754d0a..6d6b19bfab 100644
--- a/services/workbench2/cypress/e2e/side-panel.cy.js
+++ b/services/workbench2/cypress/e2e/side-panel.cy.js
@@ -23,11 +23,6 @@ describe('Side panel tests', function() {
         );
     })
 
-    beforeEach(function() {
-        cy.clearCookies()
-        cy.clearLocalStorage()
-    })
-
     it('enables the +NEW side panel button on users home project', function() {
         cy.loginAs(activeUser);
         cy.get('[data-cy=side-panel-button]')
diff --git a/services/workbench2/cypress/support/commands.js b/services/workbench2/cypress/support/commands.js
index 8fe0b06aaf..da7300a430 100644
--- a/services/workbench2/cypress/support/commands.js
+++ b/services/workbench2/cypress/support/commands.js
@@ -350,8 +350,11 @@ Cypress.Commands.add("updateResource", (token, suffix, uuid, data) => {
 });
 
 Cypress.Commands.add("loginAs", user => {
+    // This shouldn't be necessary unless we need to call loginAs multiple times
+    // in the same test.
     cy.clearCookies();
-    cy.clearLocalStorage();
+    cy.clearAllLocalStorage();
+    cy.clearAllSessionStorage();
     cy.visit(`/token/?api_token=${user.token}`);
     // Use waitUntil to avoid permafail race conditions with window.location being undefined
     cy.waitUntil(() => cy.window().then(win =>

commit 9375fd613c5eec65195ffb721666061e4032cb0a
Author: Lucas Di Pentima <lucas.dipentima at curii.com>
Date:   Fri Feb 23 17:22:46 2024 -0300

    21461: Adds test that confirms no horizontal scrollbar exist on long lines.
    
    Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <lucas.dipentima at curii.com>

diff --git a/services/workbench2/cypress/e2e/process.cy.js b/services/workbench2/cypress/e2e/process.cy.js
index c39d5c64d4..4687a2577e 100644
--- a/services/workbench2/cypress/e2e/process.cy.js
+++ b/services/workbench2/cypress/e2e/process.cy.js
@@ -679,6 +679,51 @@ describe("Process tests", function () {
                 });
             });
         });
+
+        it("correctly break long lines when no obvious line separation exists", function () {
+            function randomString(length) {
+                const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
+                let res = '';
+                for (let i = 0; i < length; i++) {
+                    res += chars.charAt(Math.floor(Math.random() * chars.length));
+                }
+                return res;
+            }
+
+            const logLinesQty = 10;
+            const logLines = [];
+            for (let i = 0; i < logLinesQty; i++) {
+                const length = Math.floor(Math.random() * 500) + 500;
+                logLines.push(randomString(length));
+            }
+
+            createContainerRequest(activeUser, "test_container_request", "arvados/jobs", ["echo", "hello world"], false, "Committed").then(function (
+                containerRequest
+            ) {
+                cy.appendLog(adminUser.token, containerRequest.uuid, "stdout.txt", logLines).as("stdoutLogs");
+
+                cy.getAll("@stdoutLogs").then(function () {
+                    cy.loginAs(activeUser);
+                    cy.goToPath(`/processes/${containerRequest.uuid}`);
+                    // Select 'stdout' log filter
+                    cy.get("[data-cy=process-logs-filter]").click();
+                    cy.get("body").contains("li", "stdout").click();
+                    cy.get("[data-cy=process-logs] span > p")
+                        .should('have.length', logLinesQty)
+                        .each($p => {
+                            expect($p.text().length).to.be.greaterThan(499);
+
+                            // This looks like an ugly hack, but I was not able
+                            // to get [client|scroll]Width attributes through
+                            // the usual Cypress methods.
+                            const parentClientWidth = $p[0].parentElement.clientWidth;
+                            const parentScrollWidth = $p[0].parentElement.scrollWidth
+                            // Scrollbar should not be visible
+                            expect(parentClientWidth).to.be.eq(parentScrollWidth);
+                        });
+                });
+            });
+        });
     });
 
     describe("I/O panel", function () {

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list