@apistudio/apim-cli
Version:
CLI for API Management Products
65 lines (52 loc) • 1.46 kB
text/typescript
/**
* Copyright IBM Corp. 2024, 2025
*/
import path from 'path';
import fs from 'fs';
jest.mock('@apic/studio-shared');
jest.mock('@apic/studio-logger', () => ({
LoggerConfig: {
isLoggerEnabled: jest.fn(),
},
}));
jest.mock('@apic/studio-shared', () => ({
Component: {
Build: 'Build',
},
LogComponent: () => {
return () => {
/* noop */
};
},
isValidAsset: jest.fn().mockReturnValue(true),
SchemaHandler: jest.fn().mockImplementation(() => ({
getSchema: jest.fn().mockReturnValue(JSON.stringify({ type: 'object' })),
})),
Logger: {
error: jest.fn(),
warn: jest.fn(),
info: jest.fn(),
},
toError: jest.fn((e) => (e instanceof Error ? e : new Error(String(e)))),
ErrorResponse: jest.fn(),
Metadata_Ref: jest.fn(),
SpecObject: jest.fn(),
YamlContent: jest.fn(),
UpperCaseKinds: jest.fn(),
}));
jest.mock('@apic/studio-client-model', () => ({
AssetModelKindConstants: {
API: 'API',
},
}));
import { ZipProcessor } from '../src/index.js';
describe('ZipProcessor', () => {
it('should process and send the response for valid Asset', async () => {
const zipFilePath = path.resolve(__dirname, './assets/gateway-asset.zip');
const Buffer = fs.readFileSync(zipFilePath);
const zipprocess = new ZipProcessor();
const result = await zipprocess.extractGatewaysJson(Buffer);
expect(result).not.toBe(undefined);
expect(result).not.toBe(false);
});
});