@event-inc/connections
Version:
Event Inc is a fully managed event bus lets you send and receive data across mission-critical cloud apps, databases and warehouses.
327 lines (271 loc) • 10.2 kB
text/typescript
// import { setEvents } from '../logic/sources/setEvents';
// import { ValidAccessKey } from '@event-inc/types';
// import { createSource } from '../logic/sources/createSource';
// import {
// createDestination,
// deleteDestination,
// deleteSource,
// listDestinations,
// listSources,
// getParser
// } from '../logic';
// import { makeId } from '@event-inc/utils';
// import { createClient } from '../client';
// require('dotenv').config();
// jest.setTimeout(30000);
// describe('Connections APIs Specs', () => {
// it('Should create a Stripe source, subscribe to customer.created event, create a mongodb destination', async () => {
// const client = createClient(
// process.env.BUILDABLE_SECRET_KEY,
// {
// baseUrl: process.env.EVENT_INC_API_BASE_URL
// }
// );
// const source = await createSource(client, {
// type: 'stripe',
// group: `my-stripe-source-${makeId(4)}`,
// label: `My Stripe Source ${makeId(4)}`,
// config: {
// STRIPE_SECRET_KEY: process.env.CONNECTIONS_TEST_STRIPE_SECRET_KEY,
// },
// });
// expect(source).toHaveProperty('key');
// await new Promise((resolve) => setTimeout(resolve, 5000));
// const subscribe = await setEvents(client, {
// type: 'stripe',
// key: source.key,
// events: ['customer.created'],
// });
// expect(subscribe).toHaveProperty('success', true);
// const destination = await createDestination(client, {
// type: 'mongodb',
// group: `my-mongodb-destination-${makeId(4)}`,
// label: `My MongoDB Destination ${makeId(4)}`,
// config: {
// MONGODB_URI: process.env.CONNECTIONS_TEST_MONGODB_URI,
// },
// });
// expect(destination).toHaveProperty('key');
// await new Promise((resolve) => setTimeout(resolve, 5000));
// const deleteSourceResult = await deleteSource(client, {
// key: source.key,
// });
// expect(deleteSourceResult).toHaveProperty('success', true);
// const deleteDestinationResult = await deleteDestination(client, {
// key: destination.key,
// });
// expect(deleteDestinationResult).toHaveProperty('success', true);
// });
// // it('Should create an FTP source with a custom parser', async () => {
// // const client = createClient(
// // process.env.BUILDABLE_SECRET_KEY as ValidAccessKey,
// // {
// // baseUrl: process.env.EVENT_INC_API_BASE_URL
// // }
// // );
// // const source = await createSource<"ftp">(client, {
// // type: 'ftp',
// // group: `my-ftp-${makeId(4)}`,
// // label: `FTP Source with a custom parser - ${makeId(4)}`,
// // config: {
// // FTP_HOST: process.env.CONNECTIONS_TEST_FTP_HOST,
// // FTP_USER: process.env.CONNECTIONS_TEST_FTP_USER,
// // FTP_PASSWORD: process.env.CONNECTIONS_TEST_FTP_PASSWORD,
// // FTP_PATH: process.env.CONNECTIONS_TEST_FTP_PATH,
// // FTP_PORT: process.env.CONNECTIONS_TEST_FTP_PORT,
// // FTP_SCAN_INTERVAL: '*/1 * * * *',
// // FTP_FILE_ARCHIVING_ENABLED: "Y",
// // FTP_FILE_EXTRACTION_ENABLED: "Y",
// // FTP_EXTRACTOR_FILE_TYPE: "csv",
// // FTP_PARSER: function parseCSV (payload: string): {
// // [key: string]: string
// // }[] {
// // const [headerLine, ...dataLines] = payload.split("\n");
// // const delimiter = ",";
// // const headers = headerLine.split(delimiter);
// // return dataLines.map((line) => {
// // const cells = line.split(delimiter);
// // return headers.reduce((obj: {
// // [key: string]: string
// // }, header, index) => {
// // obj[header] = cells[index] + " | custom"
// // return obj;
// // }, {});
// // });
// // },
// // FTP_EXTRACTOR_FILE_SIZE_LIMIT: "2mb",
// // FTP_EXTRACTOR_RECORD_COUNT_LIMIT: "25"
// // }
// // });
// // console.log(source);
// // expect(source.parser).toBeDefined();
// // });
// // it('Should create an FTP source with a default CSV parser', async () => {
// // const client = createClient(
// // process.env.BUILDABLE_SECRET_KEY as ValidAccessKey,
// // {
// // baseUrl: process.env.EVENT_INC_API_BASE_URL
// // }
// // );
// // const source = await createSource<"ftp">(client, {
// // type: 'ftp',
// // group: `my-ftp-${makeId(4)}`,
// // label: `FTP Source with a default csv parser - ${makeId(4)}`,
// // config: {
// // FTP_HOST: process.env.CONNECTIONS_TEST_FTP_HOST,
// // FTP_USER: process.env.CONNECTIONS_TEST_FTP_USER,
// // FTP_PASSWORD: process.env.CONNECTIONS_TEST_FTP_PASSWORD,
// // FTP_PATH: process.env.CONNECTIONS_TEST_FTP_PATH,
// // FTP_PORT: process.env.CONNECTIONS_TEST_FTP_PORT,
// // FTP_SCAN_INTERVAL: '*/1 * * * *',
// // FTP_FILE_ARCHIVING_ENABLED: "Y",
// // FTP_FILE_EXTRACTION_ENABLED: "Y",
// // FTP_EXTRACTOR_FILE_TYPE: "csv",
// // FTP_PARSER: "csv",
// // FTP_EXTRACTOR_FILE_SIZE_LIMIT: "2mb",
// // FTP_EXTRACTOR_RECORD_COUNT_LIMIT: "25"
// // }
// // });
// // console.log(source);
// // expect(source.parser).toBeDefined();
// // });
// // it('Should create an FTP source with a default JSON parser', async () => {
// // const client = createClient(
// // process.env.BUILDABLE_SECRET_KEY as ValidAccessKey,
// // {
// // baseUrl: process.env.EVENT_INC_API_BASE_URL
// // }
// // );
// // const source = await createSource<"ftp">(client, {
// // type: 'ftp',
// // group: `my-ftp-${makeId(4)}`,
// // label: `FTP Source with a default JSON parser - ${makeId(4)}`,
// // config: {
// // FTP_HOST: process.env.CONNECTIONS_TEST_FTP_HOST,
// // FTP_USER: process.env.CONNECTIONS_TEST_FTP_USER,
// // FTP_PASSWORD: process.env.CONNECTIONS_TEST_FTP_PASSWORD,
// // FTP_PATH: process.env.CONNECTIONS_TEST_FTP_PATH,
// // FTP_PORT: process.env.CONNECTIONS_TEST_FTP_PORT,
// // FTP_SCAN_INTERVAL: '*/1 * * * *',
// // FTP_FILE_ARCHIVING_ENABLED: "Y",
// // FTP_FILE_EXTRACTION_ENABLED: "Y",
// // FTP_EXTRACTOR_FILE_TYPE: "json",
// // FTP_PARSER: "json",
// // FTP_EXTRACTOR_FILE_SIZE_LIMIT: "2mb",
// // FTP_EXTRACTOR_RECORD_COUNT_LIMIT: "25"
// // }
// // });
// // console.log(source);
// // expect(source.parser).toBeDefined();
// // });
// // it('Should get an FTP source parser function', async () => {
// // const client = createClient(
// // process.env.BUILDABLE_SECRET_KEY as ValidAccessKey,
// // {
// // baseUrl: process.env.EVENT_INC_API_BASE_URL
// // }
// // );
// // const source = await createSource<"ftp">(client, {
// // type: 'ftp',
// // group: `my-ftp-${makeId(4)}`,
// // label: `FTP Source - ${makeId(4)}`,
// // config: {
// // FTP_HOST: process.env.CONNECTIONS_TEST_FTP_HOST,
// // FTP_USER: process.env.CONNECTIONS_TEST_FTP_USER,
// // FTP_PASSWORD: process.env.CONNECTIONS_TEST_FTP_PASSWORD,
// // FTP_PATH: process.env.CONNECTIONS_TEST_FTP_PATH,
// // FTP_PORT: process.env.CONNECTIONS_TEST_FTP_PORT,
// // FTP_SCAN_INTERVAL: '*/1 * * * *',
// // FTP_FILE_ARCHIVING_ENABLED: "Y",
// // FTP_FILE_EXTRACTION_ENABLED: "Y",
// // FTP_EXTRACTOR_FILE_TYPE: "json",
// // FTP_PARSER: "json",
// // FTP_EXTRACTOR_FILE_SIZE_LIMIT: "2mb",
// // FTP_EXTRACTOR_RECORD_COUNT_LIMIT: "25"
// // }
// // });
// // const parser = await getParser(client, {
// // key: source.key
// // });
// // console.log(parser)
// // expect(parser).toBeDefined();
// // });
// it('Should list all sources', async () => {
// const client = createClient(
// process.env.BUILDABLE_SECRET_KEY as ValidAccessKey,
// {
// baseUrl: process.env.EVENT_INC_API_BASE_URL
// }
// );
// const sourceList = await listSources(client);
// expect(sourceList).toHaveProperty('rows');
// });
// it('Should list all destinations', async () => {
// const client = createClient(
// process.env.BUILDABLE_SECRET_KEY as ValidAccessKey,
// {
// baseUrl: process.env.EVENT_INC_API_BASE_URL
// }
// );
// const destinationList = await listDestinations(client);
// expect(destinationList).toHaveProperty('rows');
// });
// it('Should create a kafka destination', async () => {
// const client = createClient(
// process.env.BUILDABLE_SECRET_KEY as ValidAccessKey,
// {
// baseUrl: process.env.EVENT_INC_API_BASE_URL
// }
// );
// const destination = await createDestination(client, {
// type: 'kafka',
// group: `my-kafka-${makeId(4)}`,
// label: `Kafka Destination - ${makeId(4)}`,
// config: {
// KAFKA_CLIENT_ID: 'my-kafka-client-id',
// KAFKA_BROKER_URLS: process.env.KAFKA_BROKER_URLS,
// KAFKA_USERNAME: process.env.KAFKA_USERNAME,
// KAFKA_PASSWORD: process.env.KAFKA_PASSWORD,
// }
// });
// console.log('destination',destination)
// expect(destination).toBeDefined();
// });
// // it('Should create a Rutter source', async () => {
// // const client = createClient(
// // process.env.BUILDABLE_SECRET_KEY as ValidAccessKey,
// // {
// // baseUrl: process.env.EVENT_INC_API_BASE_URL
// // }
// // );
// // const source = await createSource<"rutter">(client, {
// // type: 'rutter',
// // group: `my-rutter-${makeId(4)}`,
// // label: `Rutter - ${makeId(4)}`
// // });
// // console.log(source);
// // expect(source.frontend.spec.type).toBe("rutter");
// // });
// it('Should create an Microsort SQL Server Destination', async () => {
// const client = createClient(
// process.env.BUILDABLE_SECRET_KEY as ValidAccessKey,
// {
// baseUrl: process.env.EVENT_INC_API_BASE_URL
// }
// );
// const source = await createDestination<"mssql">(client, {
// type: 'mssql',
// group: `my-mssql-${makeId(4)}`,
// label: `Microsoft SQL Server - ${makeId(4)}`,
// config: {
// MSSQL_DATABASE: process.env.MSSQL_DATABASE,
// MSSQL_HOST: process.env.MSSQL_HOST,
// MSSQL_PASSWORD: process.env.MSSQL_PASSWORD,
// MSSQL_PORT: process.env.MSSQL_PORT,
// MSSQL_USERNAME: process.env.MSSQL_USERNAME,
// }
// });
// console.log(source);
// expect(source.frontend.spec.type).toBe("mssql");
// });
// });