[arvados-workbench2] updated: 2.5.0-55-g0bad690b
git repository hosting
git at public.arvados.org
Mon Feb 27 16:38:48 UTC 2023
Summary of changes:
cypress/integration/workflow.spec.js | 221 ++++++++++++++-------
.../details-panel/workflow-details.tsx | 5 +-
2 files changed, 156 insertions(+), 70 deletions(-)
via 0bad690b76b7852ae5e1f70cb9b1dea71daa7917 (commit)
from f0b5bf0ef88fdd06e96cf0c685ab49c2ea4ec035 (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 0bad690b76b7852ae5e1f70cb9b1dea71daa7917
Author: Peter Amstutz <peter.amstutz at curii.com>
Date: Mon Feb 27 11:38:34 2023 -0500
19482: Tests should be passing now
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <peter.amstutz at curii.com>
diff --git a/cypress/integration/workflow.spec.js b/cypress/integration/workflow.spec.js
index 3315284c..e1fa20a8 100644
--- a/cypress/integration/workflow.spec.js
+++ b/cypress/integration/workflow.spec.js
@@ -43,7 +43,7 @@ describe('Registered workflow panel tests', function() {
});
});
- it('shows workflow details', function() {
+ it('should handle malformed run', function() {
cy.createResource(activeUser.token, "workflows", {workflow: {
name: "Test wf",
definition: JSON.stringify({
@@ -51,49 +51,9 @@ describe('Registered workflow panel tests', function() {
$graph: [
{
"class": "Workflow",
- "hints": [
- {
- "class": "DockerRequirement",
- "dockerPull": "python:2-slim"
- }
- ],
"id": "#main",
- "inputs": [
- {
- "id": "#main/file1",
- "type": "File"
- },
- {
- "id": "#main/numbering",
- "type": [
- "null",
- "boolean"
- ]
- },
- {
- "default": {
- "basename": "args.py",
- "class": "File",
- "location": "keep:de738550734533c5027997c87dc5488e+53/args.py",
- "nameext": ".py",
- "nameroot": "args",
- "size": 179
- },
- "id": "#main/args.py",
- "type": "File"
- }
- ],
- "outputs": [
- {
- "id": "#main/args",
- "outputSource": "#main/step/args",
- "type": {
- "items": "string",
- "name": "_:b0adccc1-502d-476f-8a5b-c8ef7119e2dc",
- "type": "array"
- }
- }
- ],
+ "inputs": [],
+ "outputs": [],
"requirements": [
{
"class": "SubworkflowFeatureRequirement"
@@ -102,27 +62,14 @@ describe('Registered workflow panel tests', function() {
"steps": [
{
"id": "#main/cat1-testcli.cwl (v1.2.0-109-g9b091ed)",
- "in": [
- {
- "id": "#main/step/file1",
- "source": "#main/file1"
- },
- {
- "id": "#main/step/numbering",
- "source": "#main/numbering"
- },
- {
- "id": "#main/step/args.py",
- "source": "#main/args.py"
- }
- ],
+ "in": [],
"label": "cat1-testcli.cwl (v1.2.0-109-g9b091ed)",
"out": [
{
"id": "#main/step/args"
}
],
- "run": "keep:6b2f3b54194acf69476f22ae52c8ceaf+62/cat1-testcli.cwl"
+ "run": `keep:undefined/bar`
}
]
}
@@ -137,18 +84,154 @@ describe('Registered workflow panel tests', function() {
"http://arvados.org/cwl#gitPath": "tests/cat1-testcli.cwl",
"http://arvados.org/cwl#gitStatus": ""
})
- }}).then(function() {
- cy.createCollection(adminUser.token, {
- name: `Test collection ${Math.floor(Math.random() * 999999)}`,
- owner_uuid: activeUser.user.uuid,
- manifest_text: ". 37b51d194a7513e45b56f6524f2d51f2+3 0:3:bar\n"
- })
+ }}).then(function(workflowResource) {
+ cy.loginAs(activeUser);
+ cy.goToPath(`/workflows/${workflowResource.uuid}`);
+ cy.get('[data-cy=registered-workflow-info-panel]').should('contain', workflowResource.name);
+ cy.get('[data-cy=workflow-details-attributes-modifiedby-user]').contains(`Active User (${activeUser.user.uuid})`);
+ });
+ });
+
+ const verifyIOParameter = (name, label, doc, val, collection) => {
+ cy.get('table tr').contains(name).parents('tr').within(($mainRow) => {
+ label && cy.contains(label);
+
+ if (val) {
+ if (Array.isArray(val)) {
+ val.forEach(v => cy.contains(v));
+ } else {
+ cy.contains(val);
+ }
+ }
+ if (collection) {
+ cy.contains(collection);
+ }
+ });
+ };
+
+ it('shows workflow details', function() {
+ cy.createCollection(adminUser.token, {
+ name: `Test collection ${Math.floor(Math.random() * 999999)}`,
+ owner_uuid: activeUser.user.uuid,
+ manifest_text: ". 37b51d194a7513e45b56f6524f2d51f2+3 0:3:bar\n"
})
- .then(function(workflowResource) {
- cy.loginAs(activeUser);
- cy.goToPath(`/workflows/${workflowResource.uuid}`);
- cy.get('[data-cy=registered-workflow-info-panel]').should('contain', workflowResource.name);
- cy.get('[data-cy=workflow-details-attributes-modifiedby-user]').contains(`Active User (${activeUser.user.uuid})`);
+ .then(function(collectionResource) {
+ cy.createResource(activeUser.token, "workflows", {workflow: {
+ name: "Test wf",
+ definition: JSON.stringify({
+ cwlVersion: "v1.2",
+ $graph: [
+ {
+ "class": "Workflow",
+ "hints": [
+ {
+ "class": "DockerRequirement",
+ "dockerPull": "python:2-slim"
+ }
+ ],
+ "id": "#main",
+ "inputs": [
+ {
+ "id": "#main/file1",
+ "type": "File"
+ },
+ {
+ "id": "#main/numbering",
+ "type": [
+ "null",
+ "boolean"
+ ]
+ },
+ {
+ "default": {
+ "basename": "args.py",
+ "class": "File",
+ "location": "keep:de738550734533c5027997c87dc5488e+53/args.py",
+ "nameext": ".py",
+ "nameroot": "args",
+ "size": 179
+ },
+ "id": "#main/args.py",
+ "type": "File"
+ }
+ ],
+ "outputs": [
+ {
+ "id": "#main/args",
+ "outputSource": "#main/step/args",
+ "type": {
+ "items": "string",
+ "name": "_:b0adccc1-502d-476f-8a5b-c8ef7119e2dc",
+ "type": "array"
+ }
+ }
+ ],
+ "requirements": [
+ {
+ "class": "SubworkflowFeatureRequirement"
+ }
+ ],
+ "steps": [
+ {
+ "id": "#main/cat1-testcli.cwl (v1.2.0-109-g9b091ed)",
+ "in": [
+ {
+ "id": "#main/step/file1",
+ "source": "#main/file1"
+ },
+ {
+ "id": "#main/step/numbering",
+ "source": "#main/numbering"
+ },
+ {
+ "id": "#main/step/args.py",
+ "source": "#main/args.py"
+ }
+ ],
+ "label": "cat1-testcli.cwl (v1.2.0-109-g9b091ed)",
+ "out": [
+ {
+ "id": "#main/step/args"
+ }
+ ],
+ "run": `keep:${collectionResource.portable_data_hash}/bar`
+ }
+ ]
+ }
+ ],
+ "cwlVersion": "v1.2",
+ "http://arvados.org/cwl#gitBranch": "1.2.1_proposed",
+ "http://arvados.org/cwl#gitCommit": "9b091ed7e0bef98b3312e9478c52b89ba25792de",
+ "http://arvados.org/cwl#gitCommitter": "GitHub <noreply at github.com>",
+ "http://arvados.org/cwl#gitDate": "Sun, 11 Sep 2022 21:24:42 +0200",
+ "http://arvados.org/cwl#gitDescribe": "v1.2.0-109-g9b091ed",
+ "http://arvados.org/cwl#gitOrigin": "git at github.com:common-workflow-language/cwl-v1.2",
+ "http://arvados.org/cwl#gitPath": "tests/cat1-testcli.cwl",
+ "http://arvados.org/cwl#gitStatus": ""
+ })
+ }}).then(function(workflowResource) {
+ cy.loginAs(activeUser);
+ cy.goToPath(`/workflows/${workflowResource.uuid}`);
+ cy.get('[data-cy=registered-workflow-info-panel]').should('contain', workflowResource.name);
+ cy.get('[data-cy=workflow-details-attributes-modifiedby-user]').contains(`Active User (${activeUser.user.uuid})`);
+ cy.get('[data-cy=registered-workflow-info-panel')
+ .should('contain', 'gitCommit: 9b091ed7e0bef98b3312e9478c52b89ba25792de')
+
+ cy.get('[data-cy=process-io-card] h6').contains('Inputs')
+ .parents('[data-cy=process-io-card]').within(() => {
+ verifyIOParameter('file1', null, '', '', '');
+ verifyIOParameter('numbering', null, '', '', '');
+ verifyIOParameter('args.py', null, '', 'args.py', 'de738550734533c5027997c87dc5488e+53');
+ });
+ cy.get('[data-cy=process-io-card] h6').contains('Outputs')
+ .parents('[data-cy=process-io-card]').within(() => {
+ verifyIOParameter('args', null, '', '', '');
+ });
+ cy.get('[data-cy=collection-files-panel]').within(() => {
+ cy.get('[data-cy=collection-files-right-panel]', { timeout: 5000 })
+ .should('contain', 'bar');
+ });
+ });
});
});
});
diff --git a/src/views-components/details-panel/workflow-details.tsx b/src/views-components/details-panel/workflow-details.tsx
index d9575cd8..15ddbfe0 100644
--- a/src/views-components/details-panel/workflow-details.tsx
+++ b/src/views-components/details-panel/workflow-details.tsx
@@ -97,7 +97,10 @@ export const getRegisteredWorkflowPanelData = (item: WorkflowResource, auth: Aut
if (wf) {
const REGEX = /keep:([0-9a-f]{32}\+\d+)\/.*/;
if (wf["steps"]) {
- workflowCollection = wf["steps"][0].run.match(REGEX)[1];
+ const pdh = wf["steps"][0].run.match(REGEX);
+ if (pdh) {
+ workflowCollection = pdh[1];
+ }
}
}
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list