Skip to content

Commit

Permalink
added core interceptor for pipeline
Browse files Browse the repository at this point in the history
  • Loading branch information
pnaik1 committed May 9, 2024
1 parent ee7e684 commit df4251e
Show file tree
Hide file tree
Showing 18 changed files with 440 additions and 398 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import {
buildMockPipelineV2,
buildMockPipelines,
buildMockPipelineVersionV2,
buildMockPipelineVersionsV2,
mockProjectK8sResource,
mockRouteK8sResource,
buildMockRunKF,
Expand Down Expand Up @@ -90,21 +89,24 @@ describe('Compare runs', () => {
});

it('valid number of runs but it is invalid', () => {
cy.intercept(
cy.interceptOdh(
'GET /api/service/pipelines/:namespace/dspa/apis/v2beta1/runs/:runId',
{
pathname: `/api/service/pipelines/${projectName}/dspa/apis/v2beta1/runs/invalid_run_id`,
path: { namespace: projectName, runId: 'invalid_run_id' },
},
{ statusCode: 404 },
).as('invalidRun');

compareRunsGlobal.visit(projectName, mockExperiment.experiment_id, ['invalid_run_id']);
cy.wait('@invalidRun');
compareRunsGlobal.findInvalidRunsError().should('exist');
});

it('invalid runs are removed from url', () => {
cy.intercept(
cy.interceptOdh(
'GET /api/service/pipelines/:namespace/dspa/apis/v2beta1/runs/:runId',
{
pathname: `/api/service/pipelines/${projectName}/dspa/apis/v2beta1/runs/invalid_run_id`,
path: { namespace: projectName, runId: 'invalid_run_id' },
},
{ statusCode: 404 },
).as('invalidRun');
Expand All @@ -128,9 +130,10 @@ describe('Compare runs', () => {
details: [],
},
};
cy.intercept(
cy.interceptOdh(
'GET /api/service/pipelines/:namespace/dspa/apis/v2beta1/runs/:runId',
{
pathname: `/api/service/pipelines/${projectName}/dspa/apis/v2beta1/runs/invalid_run_id`,
path: { namespace: projectName, runId: 'invalid_run_id' },
},
errorRun,
).as('invalidRun');
Expand Down Expand Up @@ -224,36 +227,31 @@ const initIntercepts = () => {
mockProjectK8sResource({ k8sName: projectName, displayName: projectName }),
]),
);

cy.intercept(
cy.interceptOdh(
'GET /api/service/pipelines/:namespace/dspa/apis/v2beta1/pipelines',
{
pathname: `/api/service/pipelines/${projectName}/dspa/apis/v2beta1/pipelines`,
path: { namespace: projectName },
},
buildMockPipelines([initialMockPipeline]),
);

cy.intercept(
{
method: 'POST',
pathname: `/api/service/pipelines/${projectName}/dspa/apis/v2beta1/pipeline_versions`,
},
buildMockPipelineVersionsV2([initialMockPipelineVersion]),
);
cy.intercept(
{
pathname: `/api/service/pipelines/${projectName}/dspa/apis/v2beta1/experiments/${mockExperiment.experiment_id}`,
},
cy.interceptOdh(
'GET /api/service/pipelines/:namespace/dspa/apis/v2beta1/experiments/:experimentId',
{ path: { namespace: projectName, experimentId: mockExperiment.experiment_id } },
mockExperiment,
);
cy.intercept(

cy.interceptOdh(
'GET /api/service/pipelines/:namespace/dspa/apis/v2beta1/runs/:runId',
{
pathname: `/api/service/pipelines/${projectName}/dspa/apis/v2beta1/runs/${mockRun.run_id}`,
path: { namespace: projectName, runId: mockRun.run_id },
},
mockRun,
).as('validRun');
cy.intercept(

cy.interceptOdh(
'GET /api/service/pipelines/:namespace/dspa/apis/v2beta1/runs/:runId',
{
pathname: `/api/service/pipelines/${projectName}/dspa/apis/v2beta1/runs/${mockRun2.run_id}`,
path: { namespace: projectName, runId: mockRun2.run_id },
},
mockRun2,
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ import {
mockK8sResourceList,
buildMockPipelineV2,
buildMockPipelines,
buildMockPipelineVersionV2,
buildMockPipelineVersionsV2,
mockProjectK8sResource,
mockRouteK8sResource,
} from '~/__mocks__';
Expand All @@ -28,9 +26,6 @@ import {

const projectName = 'test-project-name';
const initialMockPipeline = buildMockPipelineV2({ display_name: 'Test pipeline' });
const initialMockPipelineVersion = buildMockPipelineVersionV2({
pipeline_id: initialMockPipeline.pipeline_id,
});
const mockExperiments = [
buildMockExperimentKF({
display_name: 'Test experiment 1',
Expand Down Expand Up @@ -270,40 +265,33 @@ const initIntercepts = () => {
mockProjectK8sResource({ k8sName: projectName, displayName: projectName }),
]),
);

cy.intercept(
cy.interceptOdh(
'GET /api/service/pipelines/:namespace/dspa/apis/v2beta1/pipelines',
{
pathname: `/api/service/pipelines/${projectName}/dspa/apis/v2beta1/pipelines`,
path: { namespace: projectName },
},
buildMockPipelines([initialMockPipeline]),
);

cy.intercept(
{
method: 'POST',
pathname: `/api/service/pipelines/${projectName}/dspa/apis/v2beta1/pipeline_versions`,
},
buildMockPipelineVersionsV2([initialMockPipelineVersion]),
);
cy.intercept(
cy.interceptOdh(
'GET /api/service/pipelines/:namespace/dspa/apis/v2beta1/runs',
{
pathname: `/api/service/pipelines/${projectName}/dspa/apis/v2beta1/runs`,
path: { namespace: projectName },
},
{ runs: [] },
);
cy.intercept(
{
method: 'GET',
pathname: `/api/service/pipelines/${projectName}/dspa/apis/v2beta1/recurringruns`,
},

cy.interceptOdh(
'GET /api/service/pipelines/:namespace/dspa/apis/v2beta1/recurringruns',
{
recurringRuns: [],
path: { namespace: projectName },
},
{ recurringRuns: [] },
);
cy.intercept(
{
pathname: `/api/service/pipelines/${projectName}/dspa/apis/v2beta1/experiments/${mockExperiments[0].experiment_id}`,
},

cy.interceptOdh(
'GET /api/service/pipelines/:namespace/dspa/apis/v2beta1/experiments/:experimentId',
{ path: { namespace: projectName, experimentId: mockExperiments[0].experiment_id } },
mockExperiments[0],
);
};
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ const initialRunIds = ['test-run-1', 'test-run-2'];

const mockRuns = Array(11)
.fill(buildMockRunKF())
.map((mockRun: Partial<PipelineRunKFv2>, index) => ({
.map((mockRun: PipelineRunKFv2, index) => ({
...mockRun,
display_name: `Test run ${index + 1}`,
run_id: `test-run-${index + 1}`,
Expand Down Expand Up @@ -95,10 +95,10 @@ describe('Manage runs', () => {
});

it('navigates to "Compare runs" page with updated run IDs when "Update" toolbar action is clicked', () => {
cy.intercept(
cy.interceptOdh(
'GET /api/service/pipelines/:namespace/dspa/apis/v2beta1/runs/:runId',
{
method: 'GET',
pathname: `/api/service/pipelines/${projectName}/dspa/apis/v2beta1/runs/test-run-3`,
path: { namespace: projectName, runId: 'test-run-3' },
},
mockRuns[2],
);
Expand All @@ -117,10 +117,10 @@ const initIntercepts = () => {
configIntercept();
dspaIntercepts(projectName);
projectsIntercept([{ k8sName: projectName, displayName: 'Test project' }]);

cy.intercept(
cy.interceptOdh(
'GET /api/service/pipelines/:namespace/dspa/apis/v2beta1/pipelines',
{
pathname: `/api/service/pipelines/${projectName}/dspa/apis/v2beta1/pipelines`,
path: { namespace: projectName },
},
buildMockPipelines([buildMockPipelineV2({ pipeline_id: pipelineId })]),
);
Expand All @@ -130,37 +130,32 @@ const initIntercepts = () => {
pipeline_id: pipelineId,
});

cy.intercept(
cy.interceptOdh(
'GET /api/service/pipelines/:namespace/dspa/apis/v2beta1/pipelines/:pipelineId/versions',
{
method: 'GET',
pathname: `/api/service/pipelines/${projectName}/dspa/apis/v2beta1/pipelines/${pipelineId}/versions`,
path: { namespace: projectName, pipelineId },
},
buildMockPipelineVersionsV2([mockPipelineVersion]),
);

cy.intercept(
{
method: 'GET',
pathname: `/api/service/pipelines/${projectName}/dspa/apis/v2beta1/experiments/${experimentId}`,
},
cy.interceptOdh(
'GET /api/service/pipelines/:namespace/dspa/apis/v2beta1/experiments/:experimentId',
{ path: { namespace: projectName, experimentId } },
buildMockExperimentKF({ experiment_id: experimentId }),
);

initialRunIds.forEach((selectedRunId) => {
cy.intercept(
cy.interceptOdh(
'GET /api/service/pipelines/:namespace/dspa/apis/v2beta1/runs/:runId',
{
method: 'GET',
pathname: `/api/service/pipelines/${projectName}/dspa/apis/v2beta1/runs/${selectedRunId}`,
path: { namespace: projectName, runId: selectedRunId },
},
mockRuns.find((mockRun) => mockRun.run_id === selectedRunId),
);
});

cy.intercept(
{
method: 'GET',
pathname: `/api/service/pipelines/${projectName}/dspa/apis/v2beta1/runs`,
},
cy.interceptOdh(
'GET /api/service/pipelines/:namespace/dspa/apis/v2beta1/runs',
{ path: { namespace: projectName } },
{
runs: mockRuns,
total_size: mockRuns.length,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,18 +69,6 @@ describe('Pipeline create runs', () => {
});

describe('Runs', () => {
beforeEach(() => {
mockExperiments.forEach((experiment) => {
cy.intercept(
{
method: 'POST',
pathname: `/api/service/pipelines/${projectName}/dspa/apis/v2beta1/experiments/${experiment.experiment_id}`,
},
experiment,
);
});
});

it('switches to scheduled runs from triggered', () => {
// Mock experiments, pipelines & versions for form select dropdowns
createRunPage.mockGetExperiments(projectName, mockExperiments);
Expand Down Expand Up @@ -471,11 +459,9 @@ describe('Pipeline create runs', () => {
describe('Schedules', () => {
beforeEach(() => {
mockExperiments.forEach((experiment) => {
cy.intercept(
{
method: 'GET',
pathname: `/api/service/pipelines/${projectName}/dspa/apis/v2beta1/experiments/${experiment.experiment_id}`,
},
cy.interceptOdh(
'GET /api/service/pipelines/:namespace/dspa/apis/v2beta1/experiments/:experimentId',
{ path: { namespace: projectName, experimentId: experiment.experiment_id } },
experiment,
);
});
Expand Down Expand Up @@ -725,19 +711,17 @@ const initIntercepts = () => {
configIntercept();
dspaIntercepts(projectName);
projectsIntercept([{ k8sName: projectName, displayName: 'Test project' }]);

cy.intercept(
cy.interceptOdh(
'GET /api/service/pipelines/:namespace/dspa/apis/v2beta1/recurringruns',
{
method: 'GET',
pathname: `/api/service/pipelines/${projectName}/dspa/apis/v2beta1/recurringruns`,
path: { namespace: projectName },
},
{ recurringRuns: initialMockRecurringRuns, total_size: initialMockRecurringRuns.length },
);

cy.intercept(
cy.interceptOdh(
'GET /api/service/pipelines/:namespace/dspa/apis/v2beta1/runs',
{
method: 'GET',
pathname: `/api/service/pipelines/${projectName}/dspa/apis/v2beta1/runs`,
path: { namespace: projectName },
},
{ runs: initialMockRuns, total_size: initialMockRuns.length },
);
Expand Down
Loading

0 comments on commit df4251e

Please sign in to comment.