UNPKG

@apistudio/apim-cli

Version:

CLI for API Management Products

46 lines (34 loc) 1.39 kB
/** * Copyright Super iPaaS Integration LLC, an IBM Company 2024 */ import {GatewayAssetHandler} from '../../src/converter/gateway-asset.handler.js'; import path from 'path'; import fs from 'fs'; jest.mock('../../src/service/log-wrapper.js'); jest.mock('@apic/studio-logger', ()=> ({ LoggerConfig: { isLoggerEnabled: jest.fn(), }, })); describe('GatewayAsset handler ', () => { test('should return valid endpoint ', async () => { let converter: GatewayAssetHandler; const zipFilePath = path.resolve(__dirname, '../assets/valid-asset.zip'); const zipBuffer = fs.readFileSync(zipFilePath); // eslint-disable-next-line prefer-const converter = new GatewayAssetHandler(zipBuffer); const result = await converter.getApiEndpoints('PaymentAPI:1.0.1'); expect(result).toStrictEqual( [ 'https://localhost:3000/' ]); expect(result).not.toBe([]); expect(result).not.toBe(undefined); }); test('should return empty array if gateway json is not present', async () => { let converter: GatewayAssetHandler; const zipFilePath = path.resolve(__dirname, '../assets/invalid-asset-without-gateway-json.zip'); const zipBuffer = fs.readFileSync(zipFilePath); // eslint-disable-next-line prefer-const converter = new GatewayAssetHandler(zipBuffer); const result = await converter.getApiEndpoints('PaymentAPI:1.0.1'); expect(result).toStrictEqual([]); }); });