From f3031c4f00abd0905c25d7fcc5b8541dcbb8b31d Mon Sep 17 00:00:00 2001 From: petruki <31597636+petruki@users.noreply.github.com> Date: Thu, 4 Apr 2024 21:50:30 -0700 Subject: [PATCH] Added metadata attribute to criteria response payload --- src/api-docs/paths/path-client.js | 3 +++ src/api-docs/schemas/config-strategy.js | 35 ------------------------- src/client/relay/index.js | 3 ++- src/client/resolvers.js | 3 ++- tests/relay.test.js | 4 ++- 5 files changed, 10 insertions(+), 38 deletions(-) diff --git a/src/api-docs/paths/path-client.js b/src/api-docs/paths/path-client.js index d8800b4..2fc3548 100644 --- a/src/api-docs/paths/path-client.js +++ b/src/api-docs/paths/path-client.js @@ -54,6 +54,9 @@ export default { reason: { type: 'string' }, + metadata: { + type: 'object' + }, strategies: { type: 'array', items: configStrategy.ConfigStrategy diff --git a/src/api-docs/schemas/config-strategy.js b/src/api-docs/schemas/config-strategy.js index 9217694..70e6cbd 100644 --- a/src/api-docs/schemas/config-strategy.js +++ b/src/api-docs/schemas/config-strategy.js @@ -31,41 +31,6 @@ const configStrategy = { operation: { type: 'string', enum: Object.values(OperationsType) - }, - config: { - type: 'string', - description: 'The config ID parent of the config strategy', - format: 'uuid' - }, - domain: { - type: 'string', - description: 'The domain ID parent of the config strategy', - format: 'uuid' - }, - owner: { - type: 'string', - description: 'The owner id of the config strategy' - }, - admin: { - type: 'object', - properties: { - _id: { - type: 'string', - description: 'The unique identifier of the admin' - }, - name: { - type: 'string', - description: 'The name of the admin who created the config strategy' - } - } - }, - createdAt: { - type: 'string', - description: 'The date when the config strategy was created' - }, - updatedAt: { - type: 'string', - description: 'The date when the config strategy was updated' } } }; diff --git a/src/client/relay/index.js b/src/client/relay/index.js index 7c7735f..81a7434 100644 --- a/src/client/relay/index.js +++ b/src/client/relay/index.js @@ -35,7 +35,8 @@ export async function resolveValidation(relay, entry, environment) { return { result: response.data.result, - message: response.data.message + message: response.data.message, + metadata: response.data.metadata }; } diff --git a/src/client/resolvers.js b/src/client/resolvers.js index 0ab1f2c..e161aaa 100644 --- a/src/client/resolvers.js +++ b/src/client/resolvers.js @@ -132,10 +132,11 @@ async function resolveRelay(config, environment, entry, response) { resolveNotification(config.relay, entry, environment); } else { const relayResponse = await resolveValidation(config.relay, entry, environment); - + response.result = relayResponse.result; response.reason = relayResponse.result ? 'Success' : 'Relay does not agree'; response.message = relayResponse.message; + response.metadata = relayResponse.metadata; } } } catch (e) { diff --git a/tests/relay.test.js b/tests/relay.test.js index eecdde3..4bb78cb 100644 --- a/tests/relay.test.js +++ b/tests/relay.test.js @@ -95,7 +95,7 @@ describe('Testing Switcher Relay', () => { axiosStub = sinon.stub(axios, 'get'); // Given - const mockRelayService = { data: { result: true, reason: 'Success' } }; + const mockRelayService = { data: { result: true, message: 'A message', metadata: { custom: 'VALUE' } } }; axiosStub.returns(Promise.resolve(mockRelayService)); // Setup Switcher @@ -122,7 +122,9 @@ describe('Testing Switcher Relay', () => { axiosStub.restore(); expect(req.statusCode).toBe(200); expect(req.body.reason).toEqual('Success'); + expect(req.body.message).toBe('A message'); expect(req.body.result).toBe(true); + expect(req.body.metadata).toEqual({ custom: 'VALUE' }); }); test('RELAY_SUITE - Should return success when validating relay using POST method', async () => {