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 14, 2024
1 parent 37469fd commit dddd2e1
Show file tree
Hide file tree
Showing 18 changed files with 458 additions and 428 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 @@ -122,15 +124,14 @@ describe('Compare runs', () => {

it('other failed requests dont change the url ', () => {
const errorRun = {
error: {
code: 1, // cancelled
message: 'Run cancelled by caller',
details: [],
},
code: 1,
message: 'Run cancelled by caller',
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 +225,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),
mockRuns.find((mockRun) => mockRun.run_id === selectedRunId) as PipelineRunKFv2,
);
});

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 dddd2e1

Please sign in to comment.