UNPKG

@event-inc/pipelines

Version:

Event Inc is a fully managed event bus lets you send and receive data across mission-critical cloud apps, databases and warehouses.

111 lines 4.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const connections_1 = require("@event-inc/connections"); const createPipeline_1 = require("../logic/createPipeline"); const logic_1 = require("../logic"); const utils_1 = require("@event-inc/utils"); const transform_1 = tslib_1.__importDefault(require("./transform")); require('dotenv').config(); jest.setTimeout(60000); describe('Connections APIs Specs', () => { it('Should create a Stripe to MongoDB pipeline', () => tslib_1.__awaiter(void 0, void 0, void 0, function* () { const client = (0, connections_1.createClient)(process.env.BUILDABLE_SECRET_KEY, { baseUrl: process.env.EVENT_INC_API_BASE_URL }); const source = yield (0, connections_1.createSource)(client, { type: 'stripe', group: `my-stripe-source-${(0, utils_1.makeId)(4)}`, label: `My Stripe Source ${(0, utils_1.makeId)(4)}`, config: { STRIPE_SECRET_KEY: process.env.CONNECTIONS_TEST_STRIPE_SECRET_KEY, }, }); expect(source).toHaveProperty('key'); const destination = yield (0, connections_1.createDestination)(client, { type: 'mongodb', group: `my-mongodb-destination-${(0, utils_1.makeId)(4)}`, label: `My MongoDB Destination ${(0, utils_1.makeId)(4)}`, config: { MONGODB_URI: process.env.CONNECTIONS_TEST_MONGODB_URI, }, }); expect(destination).toHaveProperty('key'); const subscribe = yield (0, connections_1.setEvents)(client, { type: 'stripe', key: source.key, events: ['customer.created', 'customer.deleted'], }); expect(subscribe).toHaveProperty('success', true); const pipeline = yield (0, createPipeline_1.createPipeline)(client, { label: `my-pipeline-${(0, utils_1.makeId)(4)}`, source: { key: source.key, events: ['customer.created'], }, destination: { key: destination.key, action: 'insertOne', }, settings: { startToCloseTimeout: '30 minutes', retry: { maximumAttempts: 100, }, }, transformation: { type: 'javascript', func: transform_1.default, }, extractors: [ { settings: { startToCloseTimeout: '30 minutes', retry: { maximumAttempts: 100, }, }, type: 'http', label: 'some_http_extractor', config: { url: 'abc.com', method: 'POST', headers: { 'Content-Type': 'application/json', }, data: { name: 'someName', age: 25, }, }, }, ], }); expect(pipeline).toHaveProperty('key'); const updatedPipeline = yield (0, logic_1.updatePipeline)(client, { key: pipeline.key, active: false, }); expect(updatedPipeline).toHaveProperty('key'); const deletePipelineResult = yield (0, logic_1.deletePipeline)(client, { key: pipeline.key, }); expect(deletePipelineResult).toHaveProperty('success', true); const deleteSourceResult = yield (0, connections_1.deleteSource)(client, { key: source.key, }); expect(deleteSourceResult).toHaveProperty('success', true); const deleteDestinationResult = yield (0, connections_1.deleteDestination)(client, { key: destination.key, }); expect(deleteDestinationResult).toHaveProperty('success', true); })); it('Should list all pipelines', () => tslib_1.__awaiter(void 0, void 0, void 0, function* () { const client = (0, connections_1.createClient)(process.env.BUILDABLE_SECRET_KEY, { baseUrl: process.env.EVENT_INC_API_BASE_URL }); const pipelineList = yield (0, logic_1.listPipelines)(client); expect(pipelineList).toHaveProperty('rows'); })); }); //# sourceMappingURL=pipelines.spec.js.map