2022-05-11 23:35:13 -07:00
|
|
|
/*
|
|
|
|
* Copyright 2021 Collate
|
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
* you may not use this file except in compliance with the License.
|
|
|
|
* You may obtain a copy of the License at
|
|
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
* See the License for the specific language governing permissions and
|
|
|
|
* limitations under the License.
|
|
|
|
*/
|
|
|
|
|
2022-11-28 12:40:19 +05:30
|
|
|
import { deleteCreatedService, editOwnerforCreatedService, goToAddNewServicePage, testServiceCreationAndIngestion, updateDescriptionForIngestedTables, uuid } from '../../common/common';
|
|
|
|
import { API_SERVICE, SERVICE_TYPE } from '../../constants/constants';
|
2022-07-25 10:54:47 +05:30
|
|
|
|
|
|
|
const serviceType = 'Snowflake';
|
|
|
|
const serviceName = `${serviceType}-ct-test-${uuid()}`;
|
2022-10-04 17:06:33 +05:30
|
|
|
const tableName = 'CUSTOMER';
|
|
|
|
const schema = 'TPCH_SF1000';
|
2022-09-27 18:55:58 +05:30
|
|
|
const description = `This is ${serviceName} description`;
|
2022-05-11 23:35:13 -07:00
|
|
|
|
|
|
|
describe('Snowflake Ingestion', () => {
|
2022-09-23 16:05:54 +05:30
|
|
|
beforeEach(() => {
|
2022-11-28 12:40:19 +05:30
|
|
|
cy.login();
|
2022-09-23 16:05:54 +05:30
|
|
|
});
|
2022-05-12 12:07:09 -07:00
|
|
|
it('add and ingest data', { defaultCommandTimeout: 8000 }, () => {
|
2022-08-11 10:57:39 +05:30
|
|
|
goToAddNewServicePage(SERVICE_TYPE.Database);
|
2022-05-11 23:35:13 -07:00
|
|
|
const connectionInput = () => {
|
|
|
|
cy.get('#root_username').type(Cypress.env('snowflakeUsername'));
|
|
|
|
cy.get('#root_password').type(Cypress.env('snowflakePassword'));
|
|
|
|
cy.get('#root_account').type(Cypress.env('snowflakeAccount'));
|
|
|
|
cy.get('#root_database').type(Cypress.env('snowflakeDatabase'));
|
|
|
|
cy.get('#root_warehouse').type(Cypress.env('snowflakeWarehouse'));
|
|
|
|
};
|
|
|
|
|
|
|
|
const addIngestionInput = () => {
|
2022-12-13 16:14:48 +05:30
|
|
|
cy.get('[data-testid="schema-filter-pattern-checkbox"]').invoke('show').trigger('mouseover').check();
|
2022-05-11 23:35:13 -07:00
|
|
|
cy.get('[data-testid="filter-pattern-includes-schema"]')
|
|
|
|
.should('be.visible')
|
2022-10-04 17:06:33 +05:30
|
|
|
.type(schema);
|
2022-05-11 23:35:13 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
testServiceCreationAndIngestion(
|
2022-07-25 10:54:47 +05:30
|
|
|
serviceType,
|
2022-05-11 23:35:13 -07:00
|
|
|
connectionInput,
|
2022-07-25 10:54:47 +05:30
|
|
|
addIngestionInput,
|
2022-08-06 12:38:27 +05:30
|
|
|
serviceName
|
2022-05-11 23:35:13 -07:00
|
|
|
);
|
2022-05-30 11:38:55 +05:30
|
|
|
});
|
2022-07-25 10:54:47 +05:30
|
|
|
|
2022-11-03 10:10:32 +05:30
|
|
|
it('Update table description and verify description after re-run', () => {
|
2022-09-27 18:55:58 +05:30
|
|
|
updateDescriptionForIngestedTables(
|
|
|
|
serviceName,
|
|
|
|
tableName,
|
|
|
|
description,
|
|
|
|
SERVICE_TYPE.Database,
|
|
|
|
'tables'
|
|
|
|
);
|
|
|
|
});
|
|
|
|
|
2022-08-06 12:38:27 +05:30
|
|
|
it('Edit and validate owner', () => {
|
2022-11-03 10:10:32 +05:30
|
|
|
editOwnerforCreatedService(
|
|
|
|
SERVICE_TYPE.Database,
|
|
|
|
serviceName,
|
2022-11-14 18:09:38 +05:30
|
|
|
API_SERVICE.databaseServices
|
2022-11-03 10:10:32 +05:30
|
|
|
);
|
2022-08-06 12:38:27 +05:30
|
|
|
});
|
|
|
|
|
2022-07-25 10:54:47 +05:30
|
|
|
it('delete created service', () => {
|
2022-11-14 18:09:38 +05:30
|
|
|
deleteCreatedService(SERVICE_TYPE.Database, serviceName, API_SERVICE.databaseServices);
|
2022-07-25 10:54:47 +05:30
|
|
|
});
|
2022-05-11 23:35:13 -07:00
|
|
|
});
|