From fef899b11c7a87373fe5f6d49fc409e8cdf78472 Mon Sep 17 00:00:00 2001 From: DevSide Date: Wed, 30 Oct 2024 19:16:43 +0100 Subject: [PATCH] chore: add some yml tests query --- packages/dynamock/test/integrations.spec.ts | 46 --------- packages/puppeteer/src/index.ts | 10 +- packages/puppeteer/test/puppeteer.spec.ts | 65 ++++++------- .../config/validation/invalid-put.yml | 5 + .../query/matching-query-exact-multiple.yml | 81 ++++++++++++++++ .../matching/query/matching-query-exact.yml | 50 ++++++++++ .../matching/query/matching-query-partial.yml | 52 +++++++++++ .../query/matching-query-regex-and-simple.yml | 90 ++++++++++++++++++ .../matching/query/matching-query-regex.yml | 56 +++++++++++ .../query/matching-query-strict-multiple.yml | 90 ++++++++++++++++++ .../matching/query/matching-query-type.yml | 85 +++++++++++++++++ .../query/no-matching-query-exact-mutiple.yml | 52 +++++++++++ .../query/no-matching-query-exact.yml | 50 ++++++++++ .../no-matching-query-regex-and-simple.yml | 60 ++++++++++++ .../query/no-matching-query-regex.yml | 56 +++++++++++ .../no-matching-query-strict-multiple.yml | 93 +++++++++++++++++++ 16 files changed, 849 insertions(+), 92 deletions(-) create mode 100644 packages/test-cases/test-files/fixtures/matching/query/matching-query-exact-multiple.yml create mode 100644 packages/test-cases/test-files/fixtures/matching/query/matching-query-exact.yml create mode 100644 packages/test-cases/test-files/fixtures/matching/query/matching-query-partial.yml create mode 100644 packages/test-cases/test-files/fixtures/matching/query/matching-query-regex-and-simple.yml create mode 100644 packages/test-cases/test-files/fixtures/matching/query/matching-query-regex.yml create mode 100644 packages/test-cases/test-files/fixtures/matching/query/matching-query-strict-multiple.yml create mode 100644 packages/test-cases/test-files/fixtures/matching/query/matching-query-type.yml create mode 100644 packages/test-cases/test-files/fixtures/matching/query/no-matching-query-exact-mutiple.yml create mode 100644 packages/test-cases/test-files/fixtures/matching/query/no-matching-query-exact.yml create mode 100644 packages/test-cases/test-files/fixtures/matching/query/no-matching-query-regex-and-simple.yml create mode 100644 packages/test-cases/test-files/fixtures/matching/query/no-matching-query-regex.yml create mode 100644 packages/test-cases/test-files/fixtures/matching/query/no-matching-query-strict-multiple.yml diff --git a/packages/dynamock/test/integrations.spec.ts b/packages/dynamock/test/integrations.spec.ts index 615132f..de0faeb 100644 --- a/packages/dynamock/test/integrations.spec.ts +++ b/packages/dynamock/test/integrations.spec.ts @@ -22,18 +22,6 @@ describe('integrations.js', () => { server.close(done) }) - describe('manipulate configuration', () => { - test.each([ - // invalid - [[], false], - ])('validate config="%o" response="%o" options="%o" isValid=%s', (config, isValid) => { - return request - .put('/___config') - .send(config) - .expect(isValid ? 200 : 400) - }) - }) - describe('create and delete fixtures', () => { // Special case: // We need the same supertest/server port in order to reproduce the sha1 of a fixture @@ -169,24 +157,6 @@ describe('integrations.js', () => { describe('matching query', () => { test.each([ - [null, '/test', { x: '1' }, '/test', null, false], - [null, '/test', { x: '1' }, '/test', { strict: false }, false], - [null, '/test', { x: '1' }, '/test', { allowRegex: true }, false], - [null, '/test', { x: '1' }, '/test', { strict: true }, false], - [null, '/test', { x: '1' }, '/test?x=1', null, true], - [null, '/test', { x: ' 1' }, '/test?x=%201', null, true], - [null, '/test', { x: ' 1' }, '/test?x= 1', null, true], - [null, '/test', { x: '%201' }, '/test?x=%201', null, false], - [null, '/test', { x: 1 }, '/test?x=1', null, true], - [null, '/test', { x: [] }, '/test?x=[]', null, true], - [null, '/test', { x: { y: 'y' } }, '/test?x={"y":"y"}', null, true], - [null, '/test', { x: '1' }, '/test?x=1', { strict: true }, true], - [null, '/test', { x: '1' }, '/test?x=1', { allowRegex: true }, true], - [null, '/test', { x: '/\\d+/' }, '/test?x=1', { allowRegex: true }, true], - [null, '/test', { x: '/\\d+/' }, '/test?x=1', null, false], - [null, '/test', { x: '1' }, '/test?x=2', null, false], - [null, '/test', { x: '1' }, '/test?x=2', { allowRegex: true }, false], - [null, '/test', { x: '1' }, '/test?x=2', { strict: true }, false], [null, '/test?x=1', {}, '/test?x=1', null, true], [null, '/test?x=1', {}, '/test?x=1', { allowRegex: true }, true], [null, '/test?x=1', {}, '/test?x=1', { strict: true }, true], @@ -201,22 +171,6 @@ describe('integrations.js', () => { [null, '/test', { x: '1', y: '2' }, '/test?y=2&x=1', null, true], [null, '/test', { x: '1' }, '/test?x=1&y=2', null, true], [null, '/test', { x: '1' }, '/test?x=1&y=2', { strict: true }, false], - [{ xOnly: { x: '1' } }, '/test', ['xOnly'], '/test?x=1', null, true], - [{ xOnly: { x: '1' } }, '/test', ['xOnly'], '/test?x=1', { allowRegex: true }, true], - [{ xOnly: { x: '/\\d+/' } }, '/test', ['xOnly'], '/test?x=1', { allowRegex: true }, true], - [{ xOnly: { x: '1' } }, '/test', ['xOnly'], '/test?x=1', { strict: true }, true], - [{ xOnly: { x: '1' } }, '/test', ['xOnly'], '/test?x=2', null, false], - [{ xAndY: { x: '1', y: '2' } }, '/test', ['xAndY'], '/test?x=1&y=2', null, true], - [{ xOnly: { x: '1' }, yOnly: { y: '2' } }, '/test', ['xOnly', 'yOnly'], '/test?x=1&y=2', null, true], - [ - { xOnly: { x: '/\\d+/' }, yOnly: { y: '/\\d+/' } }, - '/test', - ['xOnly', 'yOnly'], - '/test?x=1&y=2', - { allowRegex: true }, - true, - ], - [{ xOnly: { x: '1' } }, '/test', ['xOnly', { y: '2' }], '/test?x=1&y=2', null, true], ])( 'match query config="%o" matchPath="%s" matchValues="%o" path="%s" options="%o" result=%s', async (configuration, matchPath, matchValues, path, options, shouldMatch) => { diff --git a/packages/puppeteer/src/index.ts b/packages/puppeteer/src/index.ts index a3f8318..3d434a2 100644 --- a/packages/puppeteer/src/index.ts +++ b/packages/puppeteer/src/index.ts @@ -59,15 +59,7 @@ function mapToCoreRequest(request: HTTPRequest): CoreRequest { body, headers: headersWithoutCookie, cookies, - query: Object.entries(parsedUrl.searchParams).reduce<{ [key in string]: string }>((acc, [key, value]) => { - if (value) { - if (typeof value === 'string') { - acc[key] = value - } - } - - return acc - }, {}), + query: Object.fromEntries(parsedUrl.searchParams.entries()), } } diff --git a/packages/puppeteer/test/puppeteer.spec.ts b/packages/puppeteer/test/puppeteer.spec.ts index fa2e5d2..7d4bb80 100644 --- a/packages/puppeteer/test/puppeteer.spec.ts +++ b/packages/puppeteer/test/puppeteer.spec.ts @@ -51,36 +51,35 @@ describe('puppeteer integration tests', () => { await page.setCookie(...Object.entries(cookies ?? {}).map(([name, value]) => ({ name, value }))) } - const result = await page.evaluate( - async (_path, _method, _body, _bodyJSON, _headers, _query) => { - const fetchOptions: { - method: string - headers: { [key: string]: string } - body: null | string - } = { - method: _method, - headers: _headers, - body: null, - } + const fetchOptions: { + method: string + headers: { [key: string]: string } + body: null | string + } = { + method: method, + headers: safeHeaders, + body: null, + } - if (_bodyJSON !== undefined) { - fetchOptions.body = JSON.stringify(_bodyJSON) - fetchOptions.headers = { - ...fetchOptions.headers, - 'Content-Type': 'application/json', - } - } else if (_body !== undefined) { - fetchOptions.body = String(_body) - } + if (bodyJSON !== undefined) { + fetchOptions.body = JSON.stringify(bodyJSON) + fetchOptions.headers = { + ...fetchOptions.headers, + 'Content-Type': 'application/json', + } + } else if (body !== undefined) { + fetchOptions.body = String(body) + } - const url = new URL(`http://127.0.0.1:3000${_path}`) + const url = new URL(`http://127.0.0.1:3000${path}`) - for (const queryKey in _query) { - url.searchParams.set(queryKey, _query[queryKey]) - } + for (const queryKey in safeQuery) { + url.searchParams.set(queryKey, safeQuery[queryKey]) + } - console.log('pup test fetch', url.toString(), fetchOptions) - const result = await fetch(url.toString(), fetchOptions) + const result = await page.evaluate( + async (_url, _fetchOptions) => { + const result = await fetch(_url, _fetchOptions) const bodyText = await result.text() @@ -91,21 +90,13 @@ describe('puppeteer integration tests', () => { return { status: result.status, - headers: Object.entries(_headers).reduce<{ [key: string]: string }>((acc, [key, value]) => { - acc[key] = value - - return acc - }, {}), + headers: Object.fromEntries(result.headers.entries()), bodyText, bodyJSON, } }, - path, - method, - body, - bodyJSON, - safeHeaders, - safeQuery, + url.toString(), + fetchOptions, ) if (expectation.status) { diff --git a/packages/test-cases/test-files/config/validation/invalid-put.yml b/packages/test-cases/test-files/config/validation/invalid-put.yml index 646bda2..28b618f 100644 --- a/packages/test-cases/test-files/config/validation/invalid-put.yml +++ b/packages/test-cases/test-files/config/validation/invalid-put.yml @@ -22,3 +22,8 @@ headers: null expectation: status: 400 +- action: + name: put_config + data: [] + expectation: + status: 400 diff --git a/packages/test-cases/test-files/fixtures/matching/query/matching-query-exact-multiple.yml b/packages/test-cases/test-files/fixtures/matching/query/matching-query-exact-multiple.yml new file mode 100644 index 0000000..b0dda67 --- /dev/null +++ b/packages/test-cases/test-files/fixtures/matching/query/matching-query-exact-multiple.yml @@ -0,0 +1,81 @@ +- action: + name: post_fixture + data: + request: + path: /exact-multiple + method: GET + query: + a: a + b: b + response: + status: 200 + expectation: + status: 201 +- action: + name: test_fixture + data: + path: /exact-multiple + method: GET + query: + a: a + b: b + expectation: + status: 200 +- action: + name: put_config + data: + query: + custom: + a: a + b: b + customA: + a: a + customB: + b: b + expectation: + status: 200 +- action: + name: post_fixture + data: + request: + path: /exact-multiple-configuration + method: GET + query: + - custom + response: + status: 200 + expectation: + status: 201 +- action: + name: test_fixture + data: + path: /exact-multiple-configuration + method: GET + query: + a: a + b: b + expectation: + status: 200 +- action: + name: post_fixture + data: + request: + path: /exact-multiple-configuration-2 + method: GET + query: + - customA + - customB + response: + status: 200 + expectation: + status: 201 +- action: + name: test_fixture + data: + path: /exact-multiple-configuration-2 + method: GET + query: + a: a + b: b + expectation: + status: 200 \ No newline at end of file diff --git a/packages/test-cases/test-files/fixtures/matching/query/matching-query-exact.yml b/packages/test-cases/test-files/fixtures/matching/query/matching-query-exact.yml new file mode 100644 index 0000000..0651b3e --- /dev/null +++ b/packages/test-cases/test-files/fixtures/matching/query/matching-query-exact.yml @@ -0,0 +1,50 @@ +- action: + name: post_fixture + data: + request: + path: /exact + method: GET + query: + a: a + response: + status: 200 + expectation: + status: 201 +- action: + name: test_fixture + data: + path: /exact + method: GET + query: + a: a + expectation: + status: 200 +- action: + name: put_config + data: + query: + custom: + a: a + expectation: + status: 200 +- action: + name: post_fixture + data: + request: + path: /exact-configuration + method: GET + query: + - custom + response: + status: 200 + expectation: + status: 201 +- action: + name: test_fixture + data: + path: /exact-configuration + method: GET + query: + a: a + expectation: + status: 200 \ No newline at end of file diff --git a/packages/test-cases/test-files/fixtures/matching/query/matching-query-partial.yml b/packages/test-cases/test-files/fixtures/matching/query/matching-query-partial.yml new file mode 100644 index 0000000..16dd63d --- /dev/null +++ b/packages/test-cases/test-files/fixtures/matching/query/matching-query-partial.yml @@ -0,0 +1,52 @@ +- action: + name: post_fixture + data: + request: + path: /partial + method: GET + query: + a: a + response: + status: 200 + expectation: + status: 201 +- action: + name: test_fixture + data: + path: /partial + method: GET + query: + a: a + b: b + expectation: + status: 200 +- action: + name: put_config + data: + query: + custom: + a: a + expectation: + status: 200 +- action: + name: post_fixture + data: + request: + path: /partial-configuration + method: GET + query: + - custom + response: + status: 200 + expectation: + status: 201 +- action: + name: test_fixture + data: + path: /partial-configuration + method: GET + query: + a: a + b: b + expectation: + status: 200 \ No newline at end of file diff --git a/packages/test-cases/test-files/fixtures/matching/query/matching-query-regex-and-simple.yml b/packages/test-cases/test-files/fixtures/matching/query/matching-query-regex-and-simple.yml new file mode 100644 index 0000000..4cce1c1 --- /dev/null +++ b/packages/test-cases/test-files/fixtures/matching/query/matching-query-regex-and-simple.yml @@ -0,0 +1,90 @@ +- action: + name: post_fixture + data: + request: + path: /regex + method: GET + query: + a: '/A+/ig' + b: b + options: + query: + allowRegex: true + response: + status: 200 + expectation: + status: 201 +- action: + name: test_fixture + data: + path: /regex + method: GET + query: + a: aAaA + b: b + expectation: + status: 200 +- action: + name: put_config + data: + query: + custom: + a: '/A+/ig' + b: b + customA: + a: '/A+/ig' + customB: + b: b + expectation: + status: 200 +- action: + name: post_fixture + data: + request: + path: /regex-configuration + method: GET + query: + - custom + options: + query: + allowRegex: true + response: + status: 200 + expectation: + status: 201 +- action: + name: test_fixture + data: + path: /regex-configuration + method: GET + query: + a: aAaA + b: b + expectation: + status: 200 +- action: + name: post_fixture + data: + request: + path: /regex-configuration-2 + method: GET + query: + - customA + - customB + options: + query: + allowRegex: true + response: + status: 200 + expectation: + status: 201 +- action: + name: test_fixture + data: + path: /regex-configuration-2 + method: GET + query: + a: aAaA + b: b + expectation: + status: 200 diff --git a/packages/test-cases/test-files/fixtures/matching/query/matching-query-regex.yml b/packages/test-cases/test-files/fixtures/matching/query/matching-query-regex.yml new file mode 100644 index 0000000..39b4bff --- /dev/null +++ b/packages/test-cases/test-files/fixtures/matching/query/matching-query-regex.yml @@ -0,0 +1,56 @@ +- action: + name: post_fixture + data: + request: + path: /regex + method: GET + query: + a: '/A+/ig' + options: + query: + allowRegex: true + response: + status: 200 + expectation: + status: 201 +- action: + name: test_fixture + data: + path: /regex + method: GET + query: + a: aAaA + expectation: + status: 200 +- action: + name: put_config + data: + query: + custom: + a: '/A+/ig' + expectation: + status: 200 +- action: + name: post_fixture + data: + request: + path: /regex-configuration + method: GET + query: + - custom + options: + query: + allowRegex: true + response: + status: 200 + expectation: + status: 201 +- action: + name: test_fixture + data: + path: /regex-configuration + method: GET + query: + a: aAaA + expectation: + status: 200 diff --git a/packages/test-cases/test-files/fixtures/matching/query/matching-query-strict-multiple.yml b/packages/test-cases/test-files/fixtures/matching/query/matching-query-strict-multiple.yml new file mode 100644 index 0000000..9c92645 --- /dev/null +++ b/packages/test-cases/test-files/fixtures/matching/query/matching-query-strict-multiple.yml @@ -0,0 +1,90 @@ +- action: + name: post_fixture + data: + request: + path: /strict-multiple + method: GET + query: + a: a + b: b + options: + query: + strict: true + response: + status: 200 + expectation: + status: 201 +- action: + name: test_fixture + data: + path: /strict-multiple + method: GET + query: + a: a + b: b + expectation: + status: 200 +- action: + name: put_config + data: + query: + custom: + a: a + b: b + customA: + a: a + customB: + b: b + expectation: + status: 200 +- action: + name: post_fixture + data: + request: + path: /strict-multiple-configuration + method: GET + query: + - custom + options: + query: + strict: true + response: + status: 200 + expectation: + status: 201 +- action: + name: test_fixture + data: + path: /strict-multiple-configuration + method: GET + query: + a: a + b: b + expectation: + status: 200 +- action: + name: post_fixture + data: + request: + path: /strict-multiple-configuration-2 + method: GET + query: + - customA + - customB + options: + query: + strict: true + response: + status: 200 + expectation: + status: 201 +- action: + name: test_fixture + data: + path: /strict-multiple-configuration-2 + method: GET + query: + a: a + b: b + expectation: + status: 200 \ No newline at end of file diff --git a/packages/test-cases/test-files/fixtures/matching/query/matching-query-type.yml b/packages/test-cases/test-files/fixtures/matching/query/matching-query-type.yml new file mode 100644 index 0000000..c9aab7f --- /dev/null +++ b/packages/test-cases/test-files/fixtures/matching/query/matching-query-type.yml @@ -0,0 +1,85 @@ +- action: + name: post_fixture + data: + request: + path: / + method: GET + query: + a: 1 + response: + status: 200 + expectation: + status: 201 +- action: + name: test_fixture + data: + path: / + method: GET + query: + a: "1" + expectation: + status: 200 +- action: + name: post_fixture + data: + request: + path: / + method: GET + query: + a: [] + response: + status: 200 + expectation: + status: 201 +- action: + name: test_fixture + data: + path: / + method: GET + query: + a: "[]" + expectation: + status: 200 +- action: + name: post_fixture + data: + request: + path: / + method: GET + query: + a: + b: b + response: + status: 200 + expectation: + status: 201 +- action: + name: test_fixture + data: + path: / + method: GET + query: + a: '{"b":"b"}' + expectation: + status: 200 +- action: + name: post_fixture + data: + request: + path: / + method: GET + query: + a: null + response: + status: 200 + expectation: + status: 201 +- action: + name: test_fixture + data: + path: / + method: GET + query: + a: 'null' + expectation: + status: 200 \ No newline at end of file diff --git a/packages/test-cases/test-files/fixtures/matching/query/no-matching-query-exact-mutiple.yml b/packages/test-cases/test-files/fixtures/matching/query/no-matching-query-exact-mutiple.yml new file mode 100644 index 0000000..bba0825 --- /dev/null +++ b/packages/test-cases/test-files/fixtures/matching/query/no-matching-query-exact-mutiple.yml @@ -0,0 +1,52 @@ +- action: + name: post_fixture + data: + request: + path: /exact-multiple + method: GET + query: + a: a + b: b + response: + status: 200 + expectation: + status: 201 +- action: + name: test_fixture + data: + path: /exact-multiple + method: GET + query: + a: a + expectation: + status: 404 +- action: + name: put_config + data: + query: + custom: + a: a + b: b + expectation: + status: 200 +- action: + name: post_fixture + data: + request: + path: /exact-multiple-configuration + method: GET + query: + - custom + response: + status: 200 + expectation: + status: 201 +- action: + name: test_fixture + data: + path: /exact-multiple-configuration + method: GET + query: + a: a + expectation: + status: 404 \ No newline at end of file diff --git a/packages/test-cases/test-files/fixtures/matching/query/no-matching-query-exact.yml b/packages/test-cases/test-files/fixtures/matching/query/no-matching-query-exact.yml new file mode 100644 index 0000000..a9c6c82 --- /dev/null +++ b/packages/test-cases/test-files/fixtures/matching/query/no-matching-query-exact.yml @@ -0,0 +1,50 @@ +- action: + name: post_fixture + data: + request: + path: /exact + method: GET + query: + a: a + response: + status: 200 + expectation: + status: 201 +- action: + name: test_fixture + data: + path: /exact + method: GET + query: + b: b + expectation: + status: 404 +- action: + name: put_config + data: + query: + custom: + a: a + expectation: + status: 200 +- action: + name: post_fixture + data: + request: + path: /exact-configuration + method: GET + query: + - custom + response: + status: 200 + expectation: + status: 201 +- action: + name: test_fixture + data: + path: /exact-configuration + method: GET + query: + b: b + expectation: + status: 404 \ No newline at end of file diff --git a/packages/test-cases/test-files/fixtures/matching/query/no-matching-query-regex-and-simple.yml b/packages/test-cases/test-files/fixtures/matching/query/no-matching-query-regex-and-simple.yml new file mode 100644 index 0000000..de12b9a --- /dev/null +++ b/packages/test-cases/test-files/fixtures/matching/query/no-matching-query-regex-and-simple.yml @@ -0,0 +1,60 @@ +- action: + name: post_fixture + data: + request: + path: /regex + method: GET + query: + a: '/A+/ig' + b: b + options: + query: + allowRegex: true + response: + status: 200 + expectation: + status: 201 +- action: + name: test_fixture + data: + path: /regex + method: GET + query: + a: aAaA + b: c + expectation: + status: 404 +- action: + name: put_config + data: + query: + custom: + a: '/A+/ig' + b: b + expectation: + status: 200 +- action: + name: post_fixture + data: + request: + path: /regex-configuration + method: GET + query: + - custom + options: + query: + allowRegex: true + response: + status: 200 + expectation: + status: 201 +- action: + name: test_fixture + data: + path: /regex-configuration + method: GET + query: + a: aAaA + b: c + expectation: + status: 404 diff --git a/packages/test-cases/test-files/fixtures/matching/query/no-matching-query-regex.yml b/packages/test-cases/test-files/fixtures/matching/query/no-matching-query-regex.yml new file mode 100644 index 0000000..3ae6771 --- /dev/null +++ b/packages/test-cases/test-files/fixtures/matching/query/no-matching-query-regex.yml @@ -0,0 +1,56 @@ +- action: + name: post_fixture + data: + request: + path: /regex + method: GET + query: + a: '/A+/ig' + options: + query: + allowRegex: true + response: + status: 200 + expectation: + status: 201 +- action: + name: test_fixture + data: + path: /regex + method: GET + query: + a: b + expectation: + status: 404 +- action: + name: put_config + data: + query: + custom: + a: '/A+/ig' + expectation: + status: 200 +- action: + name: post_fixture + data: + request: + path: /regex-configuration + method: GET + query: + - custom + options: + query: + allowRegex: true + response: + status: 200 + expectation: + status: 201 +- action: + name: test_fixture + data: + path: /regex-configuration + method: GET + query: + a: b + expectation: + status: 404 diff --git a/packages/test-cases/test-files/fixtures/matching/query/no-matching-query-strict-multiple.yml b/packages/test-cases/test-files/fixtures/matching/query/no-matching-query-strict-multiple.yml new file mode 100644 index 0000000..c454434 --- /dev/null +++ b/packages/test-cases/test-files/fixtures/matching/query/no-matching-query-strict-multiple.yml @@ -0,0 +1,93 @@ +- action: + name: post_fixture + data: + request: + path: /strict-multiple + method: GET + query: + a: a + b: b + options: + query: + strict: true + response: + status: 200 + expectation: + status: 201 +- action: + name: test_fixture + data: + path: /strict-multiple + method: GET + query: + a: a + b: b + c: c + expectation: + status: 404 +- action: + name: put_config + data: + query: + custom: + a: a + b: b + customA: + a: a + customB: + b: b + expectation: + status: 200 +- action: + name: post_fixture + data: + request: + path: /strict-multiple-configuration + method: GET + query: + - custom + options: + query: + strict: true + response: + status: 200 + expectation: + status: 201 +- action: + name: test_fixture + data: + path: /strict-multiple-configuration + method: GET + query: + a: a + b: b + c: c + expectation: + status: 404 +- action: + name: post_fixture + data: + request: + path: /strict-multiple-configuration-2 + method: GET + query: + - customA + - customB + options: + query: + strict: true + response: + status: 200 + expectation: + status: 201 +- action: + name: test_fixture + data: + path: /strict-multiple-configuration-2 + method: GET + query: + a: a + b: b + c: c + expectation: + status: 404 \ No newline at end of file