UNPKG

@apistudio/apim-cli

Version:

CLI for API Management Products

58 lines (50 loc) 1.5 kB
/** * Copyright Super iPaaS Integration LLC, an IBM Company 2024 */ import { isPolicyKind } from './policy-helper'; import { KindEnums } from '@apic/api-model/common/StudioEnums.js'; describe('policy helper function test suite', () => { it('should return true for valid policy kinds', () => { const validKinds = [ KindEnums.Log, KindEnums.ErrorProcessing, KindEnums.IdentifyAndAuthorize, KindEnums.SetContextVariable, KindEnums.MonitorTraffic, KindEnums.CacheServiceResult, KindEnums.RateLimiter, KindEnums.InvokeAWSLambdaFunction, KindEnums.DataMasking, KindEnums.HTTPInvoke, KindEnums.InvokeMessagingExtension, KindEnums.TransformRequest, KindEnums.TransformResponse, KindEnums.ValidateAPISpecification, KindEnums.CORS, KindEnums.Route, KindEnums.Transport ]; validKinds.forEach(kind => { expect(isPolicyKind(kind)).toBe(true); }); }); it('should return false for invalid policy kinds', () => { const invalidKinds = [ 'UnknownKind1', 'UnknownKind2', 'AnotherUnknownKind' ]; invalidKinds.forEach(kind => { expect(isPolicyKind(kind)).toBe(false); }); }); it('should return false for an empty string', () => { expect(isPolicyKind('')).toBe(false); }); it('should return false for a null value', () => { expect(isPolicyKind(null as unknown as string)).toBe(false); }); it('should return false for a number', () => { expect(isPolicyKind(123 as unknown as string)).toBe(false); }); });