@apistudio/apim-cli
Version:
CLI for API Management Products
46 lines (34 loc) • 1.39 kB
text/typescript
/**
* 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([]);
});
});