UNPKG

@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
// 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"); // }); // });