mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-09-01 13:13:10 +00:00
* fixed: Weekly Ingestion Workflow do not get Executed #11391 * addressing comments * fixed float value was converted in to int issue in test case result * miner fix * updated cypress wait for ingestion * added scrollintoview --------- Co-authored-by: Chirag Madlani <12962843+chirag-madlani@users.noreply.github.com>
This commit is contained in:
parent
20effbe82a
commit
3ad9512400
@ -107,6 +107,16 @@ export const handleIngestionRetry = (
|
|||||||
'/api/v1/system/config/pipeline-service-client',
|
'/api/v1/system/config/pipeline-service-client',
|
||||||
'airflow'
|
'airflow'
|
||||||
);
|
);
|
||||||
|
interceptURL(
|
||||||
|
'GET',
|
||||||
|
'/api/v1/permissions/*/name/*',
|
||||||
|
'serviceDetailsPermission'
|
||||||
|
);
|
||||||
|
interceptURL(
|
||||||
|
'GET',
|
||||||
|
'/api/v1/services/ingestionPipelines/status',
|
||||||
|
'getIngestionPipelineStatus'
|
||||||
|
);
|
||||||
|
|
||||||
// ingestions page
|
// ingestions page
|
||||||
let retryCount = count;
|
let retryCount = count;
|
||||||
@ -131,6 +141,8 @@ export const handleIngestionRetry = (
|
|||||||
testIngestionsTab();
|
testIngestionsTab();
|
||||||
|
|
||||||
if (retryCount !== 0) {
|
if (retryCount !== 0) {
|
||||||
|
verifyResponseStatusCode('@getIngestionPipelineStatus', 200);
|
||||||
|
verifyResponseStatusCode('@serviceDetailsPermission', 200);
|
||||||
verifyResponseStatusCode('@serviceDetails', 200);
|
verifyResponseStatusCode('@serviceDetails', 200);
|
||||||
verifyResponseStatusCode('@ingestionPipelines', 200);
|
verifyResponseStatusCode('@ingestionPipelines', 200);
|
||||||
verifyResponseStatusCode('@airflow', 200);
|
verifyResponseStatusCode('@airflow', 200);
|
||||||
@ -331,10 +343,16 @@ export const testServiceCreationAndIngestion = ({
|
|||||||
'ingestionPipelines'
|
'ingestionPipelines'
|
||||||
);
|
);
|
||||||
interceptURL('GET', '/api/v1/services/*/name/*', 'serviceDetails');
|
interceptURL('GET', '/api/v1/services/*/name/*', 'serviceDetails');
|
||||||
|
interceptURL(
|
||||||
|
'GET',
|
||||||
|
'/api/v1/permissions/*/name/*',
|
||||||
|
'serviceDetailsPermission'
|
||||||
|
);
|
||||||
|
|
||||||
cy.get('[data-testid="view-service-button"]').should('be.visible').click();
|
cy.get('[data-testid="view-service-button"]').should('be.visible').click();
|
||||||
verifyResponseStatusCode('@serviceDetails', 200);
|
|
||||||
verifyResponseStatusCode('@getIngestionPipelineStatus', 200);
|
verifyResponseStatusCode('@getIngestionPipelineStatus', 200);
|
||||||
|
verifyResponseStatusCode('@serviceDetailsPermission', 200);
|
||||||
|
verifyResponseStatusCode('@serviceDetails', 200);
|
||||||
verifyResponseStatusCode('@ingestionPipelines', 200);
|
verifyResponseStatusCode('@ingestionPipelines', 200);
|
||||||
handleIngestionRetry(type, testIngestionButton);
|
handleIngestionRetry(type, testIngestionButton);
|
||||||
};
|
};
|
||||||
|
@ -171,10 +171,30 @@ describe('Postgres Ingestion', () => {
|
|||||||
scheduleIngestion();
|
scheduleIngestion();
|
||||||
|
|
||||||
cy.wait('@deployIngestion').then(() => {
|
cy.wait('@deployIngestion').then(() => {
|
||||||
|
interceptURL(
|
||||||
|
'GET',
|
||||||
|
'/api/v1/services/ingestionPipelines?*',
|
||||||
|
'ingestionPipelines'
|
||||||
|
);
|
||||||
|
interceptURL(
|
||||||
|
'GET',
|
||||||
|
'/api/v1/permissions/*/name/*',
|
||||||
|
'serviceDetailsPermission'
|
||||||
|
);
|
||||||
|
interceptURL('GET', '/api/v1/services/*/name/*', 'serviceDetails');
|
||||||
|
interceptURL(
|
||||||
|
'GET',
|
||||||
|
'/api/v1/services/ingestionPipelines/status',
|
||||||
|
'getIngestionPipelineStatus'
|
||||||
|
);
|
||||||
cy.get('[data-testid="view-service-button"]')
|
cy.get('[data-testid="view-service-button"]')
|
||||||
.scrollIntoView()
|
.scrollIntoView()
|
||||||
.should('be.visible')
|
.should('be.visible')
|
||||||
.click();
|
.click();
|
||||||
|
verifyResponseStatusCode('@getIngestionPipelineStatus', 200);
|
||||||
|
verifyResponseStatusCode('@serviceDetailsPermission', 200);
|
||||||
|
verifyResponseStatusCode('@serviceDetails', 200);
|
||||||
|
verifyResponseStatusCode('@ingestionPipelines', 200);
|
||||||
|
|
||||||
handleIngestionRetry('database', true, 0, 'usage');
|
handleIngestionRetry('database', true, 0, 'usage');
|
||||||
});
|
});
|
||||||
|
@ -194,6 +194,11 @@ describe('RedShift Ingestion', () => {
|
|||||||
'/api/v1/services/ingestionPipelines?*',
|
'/api/v1/services/ingestionPipelines?*',
|
||||||
'ingestionPipelines'
|
'ingestionPipelines'
|
||||||
);
|
);
|
||||||
|
interceptURL(
|
||||||
|
'GET',
|
||||||
|
'/api/v1/permissions/*/name/*',
|
||||||
|
'serviceDetailsPermission'
|
||||||
|
);
|
||||||
interceptURL('GET', '/api/v1/services/*/name/*', 'serviceDetails');
|
interceptURL('GET', '/api/v1/services/*/name/*', 'serviceDetails');
|
||||||
interceptURL(
|
interceptURL(
|
||||||
'GET',
|
'GET',
|
||||||
@ -204,8 +209,9 @@ describe('RedShift Ingestion', () => {
|
|||||||
.scrollIntoView()
|
.scrollIntoView()
|
||||||
.should('be.visible')
|
.should('be.visible')
|
||||||
.click();
|
.click();
|
||||||
verifyResponseStatusCode('@serviceDetails', 200);
|
|
||||||
verifyResponseStatusCode('@getIngestionPipelineStatus', 200);
|
verifyResponseStatusCode('@getIngestionPipelineStatus', 200);
|
||||||
|
verifyResponseStatusCode('@serviceDetailsPermission', 200);
|
||||||
|
verifyResponseStatusCode('@serviceDetails', 200);
|
||||||
verifyResponseStatusCode('@ingestionPipelines', 200);
|
verifyResponseStatusCode('@ingestionPipelines', 200);
|
||||||
handleIngestionRetry('database', true, 0, 'dbt');
|
handleIngestionRetry('database', true, 0, 'dbt');
|
||||||
});
|
});
|
||||||
|
@ -246,7 +246,10 @@ describe('Add and Remove Owner and Tier', () => {
|
|||||||
verifyResponseStatusCode('@getGlossaries', 200);
|
verifyResponseStatusCode('@getGlossaries', 200);
|
||||||
verifyResponseStatusCode('@glossaryPermission', 200);
|
verifyResponseStatusCode('@glossaryPermission', 200);
|
||||||
|
|
||||||
cy.get('[data-testid="edit-owner-button"]').should('be.visible').click();
|
cy.get('[data-testid="edit-owner-button"]')
|
||||||
|
.scrollIntoView()
|
||||||
|
.should('be.visible')
|
||||||
|
.click();
|
||||||
verifyResponseStatusCode('@getUsers', 200);
|
verifyResponseStatusCode('@getUsers', 200);
|
||||||
cy.get(`[title="${OWNER}"]`).should('be.visible').click();
|
cy.get(`[title="${OWNER}"]`).should('be.visible').click();
|
||||||
verifyResponseStatusCode('@patchOwner', 200);
|
verifyResponseStatusCode('@patchOwner', 200);
|
||||||
@ -305,7 +308,10 @@ describe('Add and Remove Owner and Tier', () => {
|
|||||||
verifyResponseStatusCode('@glossaryTermPermission', 200);
|
verifyResponseStatusCode('@glossaryTermPermission', 200);
|
||||||
verifyResponseStatusCode('@getGlossaryTerms', 200);
|
verifyResponseStatusCode('@getGlossaryTerms', 200);
|
||||||
|
|
||||||
cy.get('[data-testid="edit-owner-button"]').should('be.visible').click();
|
cy.get('[data-testid="edit-owner-button"]')
|
||||||
|
.scrollIntoView()
|
||||||
|
.should('be.visible')
|
||||||
|
.click();
|
||||||
verifyResponseStatusCode('@getUsers', 200);
|
verifyResponseStatusCode('@getUsers', 200);
|
||||||
cy.get(`[title="${OWNER}"]`).should('be.visible').click();
|
cy.get(`[title="${OWNER}"]`).should('be.visible').click();
|
||||||
verifyResponseStatusCode('@patchOwner', 200);
|
verifyResponseStatusCode('@patchOwner', 200);
|
||||||
|
@ -585,11 +585,15 @@ const AddIngestion = ({
|
|||||||
const createNewIngestion = () => {
|
const createNewIngestion = () => {
|
||||||
setSaveState(LOADING_STATE.WAITING);
|
setSaveState(LOADING_STATE.WAITING);
|
||||||
const { repeatFrequency, enableDebugLog, ingestionName } = state;
|
const { repeatFrequency, enableDebugLog, ingestionName } = state;
|
||||||
|
const date = new Date(Date.now());
|
||||||
|
date.setUTCHours(0, 0, 0, 0);
|
||||||
|
|
||||||
const ingestionDetails: CreateIngestionPipeline = {
|
const ingestionDetails: CreateIngestionPipeline = {
|
||||||
airflowConfig: {
|
airflowConfig: {
|
||||||
scheduleInterval: isEmpty(repeatFrequency)
|
scheduleInterval: isEmpty(repeatFrequency)
|
||||||
? undefined
|
? undefined
|
||||||
: repeatFrequency,
|
: repeatFrequency,
|
||||||
|
startDate: date,
|
||||||
},
|
},
|
||||||
loggerLevel: enableDebugLog ? LogLevels.Debug : LogLevels.Info,
|
loggerLevel: enableDebugLog ? LogLevels.Debug : LogLevels.Info,
|
||||||
name: trim(ingestionName),
|
name: trim(ingestionName),
|
||||||
|
@ -15,7 +15,7 @@ import { Button, Col, Row, Typography } from 'antd';
|
|||||||
import { AxiosError } from 'axios';
|
import { AxiosError } from 'axios';
|
||||||
import DatePickerMenu from 'components/DatePickerMenu/DatePickerMenu.component';
|
import DatePickerMenu from 'components/DatePickerMenu/DatePickerMenu.component';
|
||||||
import { t } from 'i18next';
|
import { t } from 'i18next';
|
||||||
import { isEmpty, isEqual, isUndefined, uniqueId } from 'lodash';
|
import { isEmpty, isEqual, isUndefined, round, uniqueId } from 'lodash';
|
||||||
import Qs from 'qs';
|
import Qs from 'qs';
|
||||||
import React, { ReactElement, useEffect, useMemo, useState } from 'react';
|
import React, { ReactElement, useEffect, useMemo, useState } from 'react';
|
||||||
import { useHistory } from 'react-router-dom';
|
import { useHistory } from 'react-router-dom';
|
||||||
@ -91,7 +91,7 @@ const TestSummary: React.FC<TestSummaryProps> = ({
|
|||||||
const values = result.testResultValue?.reduce((acc, curr) => {
|
const values = result.testResultValue?.reduce((acc, curr) => {
|
||||||
return {
|
return {
|
||||||
...acc,
|
...acc,
|
||||||
[curr.name || 'value']: parseInt(curr.value || '') || 0,
|
[curr.name || 'value']: round(parseFloat(curr.value ?? ''), 2) || 0,
|
||||||
};
|
};
|
||||||
}, {});
|
}, {});
|
||||||
|
|
||||||
|
@ -139,7 +139,7 @@ export const getSupportedPipelineTypes = (serviceDetails: ServicesType) => {
|
|||||||
config.supportsMetadataExtraction &&
|
config.supportsMetadataExtraction &&
|
||||||
pipelineType.push(PipelineType.Metadata);
|
pipelineType.push(PipelineType.Metadata);
|
||||||
config.supportsUsageExtraction && pipelineType.push(PipelineType.Usage);
|
config.supportsUsageExtraction && pipelineType.push(PipelineType.Usage);
|
||||||
config.supportsUsageExtraction && pipelineType.push(PipelineType.Lineage);
|
config.supportsLineageExtraction && pipelineType.push(PipelineType.Lineage);
|
||||||
config.supportsProfiler && pipelineType.push(PipelineType.Profiler);
|
config.supportsProfiler && pipelineType.push(PipelineType.Profiler);
|
||||||
config.supportsDBTExtraction && pipelineType.push(PipelineType.Dbt);
|
config.supportsDBTExtraction && pipelineType.push(PipelineType.Dbt);
|
||||||
(config as MetadataConnection).supportsDataInsightExtraction &&
|
(config as MetadataConnection).supportsDataInsightExtraction &&
|
||||||
|
Loading…
x
Reference in New Issue
Block a user