From 80d18a263aaf33399cd75e245169734ac6ff5ae6 Mon Sep 17 00:00:00 2001 From: olav Date: Fri, 24 Jun 2022 13:44:16 +0200 Subject: [PATCH] refactor: remove response data from schema validation logging (#1748) * refactor: remove response data from schema validation logging * refactor: update validation error snapshots * refactor: add missing segments field to featureStrategySchema --- .../constraint-schema.test.ts.snap | 10 ------ .../__snapshots__/feature-schema.test.ts.snap | 34 ------------------- .../feature-type-schema.test.ts.snap | 1 - .../sort-order-schema.test.ts.snap | 3 -- src/lib/openapi/spec/feature-schema.test.ts | 1 + .../openapi/spec/feature-strategy-schema.ts | 6 ++++ src/lib/openapi/spec/strategy-schema.ts | 6 ++++ src/lib/openapi/validate.ts | 10 +++--- .../__snapshots__/openapi.e2e.test.ts.snap | 18 ++++++++++ 9 files changed, 35 insertions(+), 54 deletions(-) diff --git a/src/lib/openapi/spec/__snapshots__/constraint-schema.test.ts.snap b/src/lib/openapi/spec/__snapshots__/constraint-schema.test.ts.snap index f6e5ab0b48..b3a81622fd 100644 --- a/src/lib/openapi/spec/__snapshots__/constraint-schema.test.ts.snap +++ b/src/lib/openapi/spec/__snapshots__/constraint-schema.test.ts.snap @@ -2,11 +2,6 @@ exports[`constraintSchema invalid operator name 1`] = ` Object { - "data": Object { - "contextName": "a", - "operator": "b", - "value": "1", - }, "errors": Array [ Object { "instancePath": "/operator", @@ -40,11 +35,6 @@ Object { exports[`constraintSchema invalid value type 1`] = ` Object { - "data": Object { - "contextName": "a", - "operator": "NUM_LTE", - "value": 1, - }, "errors": Array [ Object { "instancePath": "/value", diff --git a/src/lib/openapi/spec/__snapshots__/feature-schema.test.ts.snap b/src/lib/openapi/spec/__snapshots__/feature-schema.test.ts.snap index cb7b10a263..76dc708e3f 100644 --- a/src/lib/openapi/spec/__snapshots__/feature-schema.test.ts.snap +++ b/src/lib/openapi/spec/__snapshots__/feature-schema.test.ts.snap @@ -2,19 +2,6 @@ exports[`featureSchema constraints 1`] = ` Object { - "data": Object { - "name": "a", - "strategies": Array [ - Object { - "constraints": Array [ - Object { - "contextName": "a", - }, - ], - "name": "a", - }, - ], - }, "errors": Array [ Object { "instancePath": "/strategies/0/constraints/0", @@ -32,27 +19,6 @@ Object { exports[`featureSchema overrides 1`] = ` Object { - "data": Object { - "name": "a", - "variants": Array [ - Object { - "name": "a", - "overrides": Array [ - Object { - "contextName": "a", - "values": "b", - }, - ], - "payload": Object { - "type": "a", - "value": "b", - }, - "stickiness": "a", - "weight": 1, - "weightType": "a", - }, - ], - }, "errors": Array [ Object { "instancePath": "/variants/0/overrides/0/values", diff --git a/src/lib/openapi/spec/__snapshots__/feature-type-schema.test.ts.snap b/src/lib/openapi/spec/__snapshots__/feature-type-schema.test.ts.snap index 1fd9d01904..a0d9e2f3db 100644 --- a/src/lib/openapi/spec/__snapshots__/feature-type-schema.test.ts.snap +++ b/src/lib/openapi/spec/__snapshots__/feature-type-schema.test.ts.snap @@ -2,7 +2,6 @@ exports[`featureTypeSchema empty 1`] = ` Object { - "data": Object {}, "errors": Array [ Object { "instancePath": "", diff --git a/src/lib/openapi/spec/__snapshots__/sort-order-schema.test.ts.snap b/src/lib/openapi/spec/__snapshots__/sort-order-schema.test.ts.snap index 3f6fbd77eb..84d3d12c79 100644 --- a/src/lib/openapi/spec/__snapshots__/sort-order-schema.test.ts.snap +++ b/src/lib/openapi/spec/__snapshots__/sort-order-schema.test.ts.snap @@ -2,9 +2,6 @@ exports[`sortOrderSchema invalid value type 1`] = ` Object { - "data": Object { - "a": "1", - }, "errors": Array [ Object { "instancePath": "/a", diff --git a/src/lib/openapi/spec/feature-schema.test.ts b/src/lib/openapi/spec/feature-schema.test.ts index f135755bfd..d6dfae8359 100644 --- a/src/lib/openapi/spec/feature-schema.test.ts +++ b/src/lib/openapi/spec/feature-schema.test.ts @@ -13,6 +13,7 @@ test('featureSchema', () => { operator: 'IN', }, ], + segments: [1], }, ], variants: [ diff --git a/src/lib/openapi/spec/feature-strategy-schema.ts b/src/lib/openapi/spec/feature-strategy-schema.ts index c03cd1cbda..d8979f1d92 100644 --- a/src/lib/openapi/spec/feature-strategy-schema.ts +++ b/src/lib/openapi/spec/feature-strategy-schema.ts @@ -41,6 +41,12 @@ export const featureStrategySchema = { sortOrder: { type: 'number', }, + segments: { + type: 'array', + items: { + type: 'number', + }, + }, constraints: { type: 'array', items: { diff --git a/src/lib/openapi/spec/strategy-schema.ts b/src/lib/openapi/spec/strategy-schema.ts index 40d37b2e30..c1b9ec0dc0 100644 --- a/src/lib/openapi/spec/strategy-schema.ts +++ b/src/lib/openapi/spec/strategy-schema.ts @@ -17,6 +17,12 @@ export const strategySchema = { sortOrder: { type: 'number', }, + segments: { + type: 'array', + items: { + type: 'number', + }, + }, constraints: { type: 'array', items: { diff --git a/src/lib/openapi/validate.ts b/src/lib/openapi/validate.ts index fbbb6066be..36b9a678fd 100644 --- a/src/lib/openapi/validate.ts +++ b/src/lib/openapi/validate.ts @@ -3,9 +3,8 @@ import addFormats from 'ajv-formats'; import { SchemaId, schemas } from './index'; import { omitKeys } from '../util/omit-keys'; -interface ISchemaValidationErrors { +interface ISchemaValidationErrors { schema: SchemaId; - data: T; errors: ErrorObject[]; } @@ -17,14 +16,13 @@ const ajv = new Ajv({ addFormats(ajv, ['date-time']); -export const validateSchema = ( +export const validateSchema = ( schema: SchemaId, - data: T, -): ISchemaValidationErrors | undefined => { + data: unknown, +): ISchemaValidationErrors | undefined => { if (!ajv.validate(schema, data)) { return { schema, - data: data, errors: ajv.errors ?? [], }; } diff --git a/src/test/e2e/api/openapi/__snapshots__/openapi.e2e.test.ts.snap b/src/test/e2e/api/openapi/__snapshots__/openapi.e2e.test.ts.snap index 683c3fe734..4b54f2524d 100644 --- a/src/test/e2e/api/openapi/__snapshots__/openapi.e2e.test.ts.snap +++ b/src/test/e2e/api/openapi/__snapshots__/openapi.e2e.test.ts.snap @@ -322,6 +322,12 @@ Object { "projectId": Object { "type": "string", }, + "segments": Object { + "items": Object { + "type": "number", + }, + "type": "array", + }, "sortOrder": Object { "type": "number", }, @@ -686,6 +692,12 @@ Object { "parameters": Object { "$ref": "#/components/schemas/parametersSchema", }, + "segments": Object { + "items": Object { + "type": "number", + }, + "type": "array", + }, "sortOrder": Object { "type": "number", }, @@ -889,6 +901,12 @@ Object { "parameters": Object { "$ref": "#/components/schemas/parametersSchema", }, + "segments": Object { + "items": Object { + "type": "number", + }, + "type": "array", + }, "sortOrder": Object { "type": "number", },