diff --git a/addons/addon-base-raas/packages/base-raas-services/lib/environment/service-catalog/__tests__/environment-sc-cidr-service.test.js b/addons/addon-base-raas/packages/base-raas-services/lib/environment/service-catalog/__tests__/environment-sc-cidr-service.test.js index a62dad96b1..3a54da194c 100644 --- a/addons/addon-base-raas/packages/base-raas-services/lib/environment/service-catalog/__tests__/environment-sc-cidr-service.test.js +++ b/addons/addon-base-raas/packages/base-raas-services/lib/environment/service-catalog/__tests__/environment-sc-cidr-service.test.js @@ -535,6 +535,48 @@ describe('EnvironmentScCidrService', () => { } }); + it('should not call anything since request has invalid port numbers', async () => { + // BUILD + const requestContext = {}; + let params = { + id: 'testId', + updateRequest: [ + { + protocol: 'tcp', + fromPort: 65536, + toPort: 65536, + cidrBlocks: ['123.123.123.123/32'], + }, + ], + }; + // OPERATE + try { + await service.update(requestContext, params); + expect.hasAssertions(); + } catch (err) { + expect(err.message).toEqual('Input has validation errors'); + } + + params = { + id: 'testId', + updateRequest: [ + { + protocol: 'tcp', + fromPort: -10, + toPort: -10, + cidrBlocks: ['123.123.123.123/32'], + }, + ], + }; + // OPERATE + try { + await service.update(requestContext, params); + expect.hasAssertions(); + } catch (err) { + expect(err.message).toEqual('Input has validation errors'); + } + }); + it('should throw the exception as expected during internal errors for revoke', async () => { // BUILD const requestContext = {}; diff --git a/addons/addon-base-raas/packages/base-raas-services/lib/schema/update-environment-sc-cidr.json b/addons/addon-base-raas/packages/base-raas-services/lib/schema/update-environment-sc-cidr.json index 74fdaf5145..7730b23aee 100644 --- a/addons/addon-base-raas/packages/base-raas-services/lib/schema/update-environment-sc-cidr.json +++ b/addons/addon-base-raas/packages/base-raas-services/lib/schema/update-environment-sc-cidr.json @@ -6,10 +6,14 @@ "type": "object", "properties": { "fromPort": { - "type": "integer" + "type": "integer", + "minimum": 0, + "maximum": 65535 }, "toPort": { - "type": "integer" + "type": "integer", + "minimum": 0, + "maximum": 65535 }, "protocol": { "type": "string"