15814: Fix unit test, trying to figure out test that only fails on jenkins
authorPeter Amstutz <peter.amstutz@curii.com>
Thu, 20 Jun 2024 18:37:22 +0000 (14:37 -0400)
committerPeter Amstutz <peter.amstutz@curii.com>
Mon, 24 Jun 2024 18:17:03 +0000 (14:17 -0400)
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <peter.amstutz@curii.com>

services/workbench2/cypress/support/commands.js
services/workbench2/src/models/process.ts
services/workbench2/src/models/workflow.ts
services/workbench2/src/store/run-process-panel/run-process-panel-actions.test.ts

index dbeb9ae6ca26ddb4d11f9daf9d8c31d0b3afb40c..305308093212575bfc53ba263a949abdafb146a3 100644 (file)
@@ -45,7 +45,9 @@ afterEach(function () {
         return;
     }
     cy.log(`Cleaning ${createdResources.length} previously created resource(s).`);
-    createdResources.forEach(function ({ suffix, uuid }) {
+    // delete them in FIFO order because later created resources may
+    // be linked to the earlier ones.
+    createdResources.reverse().forEach(function ({ suffix, uuid }) {
         // Don't fail when a resource isn't already there, some objects may have
         // been removed, directly or indirectly, from the test that created them.
         cy.deleteResource(systemToken, suffix, uuid, false);
index b017fc14747d5fdc175751713f94e28877ca6c39..4f1973d57b636a03a6f19bf78576a3c305533ee9 100644 (file)
@@ -4,7 +4,7 @@
 
 import { ContainerRequestResource } from "./container-request";
 import { MountType, MountKind } from 'models/mount-types';
-import { WorkflowResource, parseWorkflowDefinition, getWorkflow } from 'models/workflow';
+import { WorkflowResource, parseWorkflowDefinition, getWorkflow, CwlSecrets } from 'models/workflow';
 import { WorkflowInputsData } from './workflow';
 
 export type ProcessResource = ContainerRequestResource;
@@ -12,10 +12,6 @@ export type ProcessResource = ContainerRequestResource;
 export const MOUNT_PATH_CWL_WORKFLOW = '/var/lib/cwl/workflow.json';
 export const MOUNT_PATH_CWL_INPUT = '/var/lib/cwl/cwl.input.json';
 
-export interface CwlSecrets {
-    class: 'http://commonwl.org/cwltool#Secrets';
-    secrets: string[];
-}
 
 export const createWorkflowMounts = (workflow: WorkflowResource, inputs: WorkflowInputsData): { [path: string]: MountType } => {
 
index f968cef93126475ddfe30e384b43db972b883c6f..a8970a865431eb6e66fd239023858d1f5431992a 100644 (file)
@@ -5,7 +5,6 @@
 import { Resource, ResourceKind } from "./resource";
 import { safeLoad } from 'js-yaml';
 import { CommandOutputParameter } from "cwlts/mappings/v1.0/CommandOutputParameter";
-import { CwlSecrets } from 'models/process';
 
 export interface WorkflowResource extends Resource {
     kind: ResourceKind.WORKFLOW;
@@ -152,6 +151,11 @@ export const getWorkflow = (workflowDefinition: WorkflowResourceDefinition) => {
         : undefined;
 };
 
+export interface CwlSecrets {
+    class: 'http://commonwl.org/cwltool#Secrets';
+    secrets: string[];
+}
+
 export const getWorkflowInputs = (workflowDefinition: WorkflowResourceDefinition) => {
     if (!workflowDefinition) { return undefined; }
     const wf = getWorkflow(workflowDefinition);
index 77c8c4a7e20903e2ce4ab033bfb57c4a0c81204b..cd3413f8b35721368ad609f3ac48969483469018 100644 (file)
@@ -10,6 +10,7 @@ jest.mock("../navigation/navigation-action", () => ({
 
 jest.mock("models/process", () => ({
     createWorkflowMounts: jest.fn(),
+    createWorkflowSecretMounts: jest.fn(),
 }));
 
 jest.mock("redux-form", () => ({
@@ -105,8 +106,10 @@ describe("run-process-panel-actions", () => {
             expect(services.containerRequestService.create).toHaveBeenCalledWith({
                 command: [
                     "arvados-cwl-runner",
-                    "--api=containers",
                     "--local",
+                    "--api=containers",
+                    "--no-log-timestamps",
+                    "--disable-color",
                     "--project-uuid=zzzzz-tpzed-yid70bw31f51234",
                     "/var/lib/cwl/workflow.json#main",
                     "/var/lib/cwl/cwl.input.json",
@@ -115,6 +118,7 @@ describe("run-process-panel-actions", () => {
                 cwd: "/var/spool/cwl",
                 description: "basicFormTestDescription",
                 mounts: undefined,
+                secret_mounts: undefined,
                 name: "basicFormTestName",
                 outputName: "Output from basicFormTestName",
                 outputPath: "/var/spool/cwl",