From cf0ede1a83236136913fc3fa8ed2bc1d47999d0a Mon Sep 17 00:00:00 2001 From: Anoop M D Date: Sat, 4 Feb 2023 16:11:29 +0530 Subject: [PATCH] chore: using fixtures to cleanup test file --- .../bruno-lang/v2/tests/fixtures/request.bru | 114 ++++++++ .../bruno-lang/v2/tests/fixtures/request.json | 123 +++++++++ packages/bruno-lang/v2/tests/index.spec.js | 244 +----------------- 3 files changed, 241 insertions(+), 240 deletions(-) create mode 100644 packages/bruno-lang/v2/tests/fixtures/request.bru create mode 100644 packages/bruno-lang/v2/tests/fixtures/request.json diff --git a/packages/bruno-lang/v2/tests/fixtures/request.bru b/packages/bruno-lang/v2/tests/fixtures/request.bru new file mode 100644 index 000000000..9db94d4dd --- /dev/null +++ b/packages/bruno-lang/v2/tests/fixtures/request.bru @@ -0,0 +1,114 @@ +meta { + name: Send Bulk SMS + type: http + seq: 1 +} + +get { + url: https://api.textlocal.in/send/ + body: json +} + +query { + apiKey: secret + numbers: 998877665 +} + +query:disabled { + message: hello +} + +headers { + content-type: application/json + Authorization: Bearer 123 +} + +headers:disabled { + transaction-id: {{transactionId}} +} + +body:form-urlencoded { + apikey: secret + numbers: +91998877665 +} + +body:form-urlencoded:disabled { + message: hello +} + +body:multipart-form { + apikey: secret + numbers: +91998877665 +} + +body:multipart-form:disabled { + message: hello +} + +body:json { + { + "hello": "world" + } +} + +body:text { + This is a text body +} + +body:xml { + + John + 30 + +} + +body:graphql { + { + launchesPast { + launch_site { + site_name + } + launch_success + } + } +} + +body:graphql:vars { + { + "limit": 5 + } +} + +vars { + token: $res.body.token +} + +vars:disabled { + petId: $res.body.id +} + +vars:local { + orderNumber: $res.body.orderNumber +} + +vars:local:disabled { + transactionId: $res.body.transactionId +} + +assert { + $res.status: 200 +} + +assert:disabled { + $res.body.message: success +} + +test { + function onResponse(request, response) { + expect(response.status).to.equal(200); + } +} + +docs { + This request needs auth token to be set in the headers. +} \ No newline at end of file diff --git a/packages/bruno-lang/v2/tests/fixtures/request.json b/packages/bruno-lang/v2/tests/fixtures/request.json new file mode 100644 index 000000000..167af5f60 --- /dev/null +++ b/packages/bruno-lang/v2/tests/fixtures/request.json @@ -0,0 +1,123 @@ +{ + "meta": { + "name": "Send Bulk SMS", + "type": "http", + "seq": "1" + }, + "http": { + "method": "GET", + "url": "https://api.textlocal.in/send/", + "body": "json" + }, + "query": [{ + "name": "apiKey", + "value": "secret", + "enabled": true + }, { + "name": "numbers", + "value": "998877665", + "enabled": true + }, { + "name": "message", + "value": "hello", + "enabled": false + }], + "headers": [ + { + "name": "content-type", + "value": "application/json", + "enabled": true + }, + { + "name": "Authorization", + "value": "Bearer 123", + "enabled": true + }, + { + "name": "transaction-id", + "value": "{{transactionId}}", + "enabled": false + } + ], + "body": { + "json": " {\n \"hello\": \"world\"\n }", + "text": " This is a text body", + "xml": " \n John\n 30\n ", + "graphql": { + "query": " {\n launchesPast {\n launch_site {\n site_name\n }\n launch_success\n }\n }", + "variables": " {\n \"limit\": 5\n }" + }, + "formUrlEncoded": [ + { + "name": "apikey", + "value": "secret", + "enabled": true + }, + { + "name": "numbers", + "value": "+91998877665", + "enabled": true + }, + { + "name": "message", + "value": "hello", + "enabled": false + } + ], + "multipartForm": [ + { + "name": "apikey", + "value": "secret", + "enabled": true + }, + { + "name": "numbers", + "value": "+91998877665", + "enabled": true + }, + { + "name": "message", + "value": "hello", + "enabled": false + } + ] + }, + "vars": [ + { + "name": "token", + "value": "$res.body.token", + "enabled": true + }, + { + "name": "petId", + "value": "$res.body.id", + "enabled": false + } + ], + "varsLocal": [ + { + "name": "orderNumber", + "value": "$res.body.orderNumber", + "enabled": true + }, + { + "name": "transactionId", + "value": "$res.body.transactionId", + "enabled": false + } + ], + "assert": [ + { + "name": "$res.status", + "value": "200", + "enabled": true + }, + { + "name": "$res.body.message", + "value": "success", + "enabled": false + } + ], + "test": " function onResponse(request, response) {\n expect(response.status).to.equal(200);\n }", + "docs": " This request needs auth token to be set in the headers." +} \ No newline at end of file diff --git a/packages/bruno-lang/v2/tests/index.spec.js b/packages/bruno-lang/v2/tests/index.spec.js index 53ef20d68..c33cd7630 100644 --- a/packages/bruno-lang/v2/tests/index.spec.js +++ b/packages/bruno-lang/v2/tests/index.spec.js @@ -1,248 +1,12 @@ +const fs = require("fs"); +const path = require("path"); const parser = require("../src/index"); describe("parser", () => { it("should parse the bru file", () => { - const input = ` -meta { - name: Send Bulk SMS - type: http - seq: 1 -} - -get { - url: https://api.textlocal.in/send/ - body: json -} - -query { - apiKey: secret - numbers: 998877665 -} - -query:disabled { - message: hello -} - -headers { - content-type: application/json - Authorization: Bearer 123 -} - -headers:disabled { - transaction-id: {{transactionId}} -} - -body:form-urlencoded { - apikey: secret - numbers: +91998877665 -} - -body:form-urlencoded:disabled { - message: hello -} - -body:multipart-form { - apikey: secret - numbers: +91998877665 -} - -body:multipart-form:disabled { - message: hello -} - -body:json { - { - "hello": "world" - } -} - -body:text { - This is a text body -} - -body:xml { - - John - 30 - -} - -body:graphql { - { - launchesPast { - launch_site { - site_name - } - launch_success - } - } -} - -body:graphql:vars { - { - "limit": 5 - } -} - -vars { - token: $res.body.token -} - -vars:disabled { - petId: $res.body.id -} - -vars:local { - orderNumber: $res.body.orderNumber -} - -vars:local:disabled { - transactionId: $res.body.transactionId -} - -assert { - $res.status: 200 -} - -assert:disabled { - $res.body.message: success -} - -test { - function onResponse(request, response) { - expect(response.status).to.equal(200); - } -} - -docs { - This request needs auth token to be set in the headers. -} -`; - + const input = fs.readFileSync(path.join(__dirname, 'fixtures', 'request.bru'), 'utf8'); + const expected = require("./fixtures/request.json"); const output = parser(input); - const expected = { - "meta": { - "name": "Send Bulk SMS", - "type": "http", - "seq": "1" - }, - "http": { - "method": "GET", - "url": "https://api.textlocal.in/send/", - "body": "json" - }, - "query": [{ - "name": "apiKey", - "value": "secret", - "enabled": true - }, { - "name": "numbers", - "value": "998877665", - "enabled": true - }, { - "name": "message", - "value": "hello", - "enabled": false - }], - "headers": [ - { - "name": "content-type", - "value": "application/json", - "enabled": true - }, - { - "name": "Authorization", - "value": "Bearer 123", - "enabled": true - }, - { - "name": "transaction-id", - "value": "{{transactionId}}", - "enabled": false - } - ], - "body": { - "json": " {\n \"hello\": \"world\"\n }", - "text": " This is a text body", - "xml": " \n John\n 30\n ", - "graphql": { - "query": " {\n launchesPast {\n launch_site {\n site_name\n }\n launch_success\n }\n }", - "variables": " {\n \"limit\": 5\n }" - }, - "formUrlEncoded": [ - { - "name": "apikey", - "value": "secret", - "enabled": true - }, - { - "name": "numbers", - "value": "+91998877665", - "enabled": true - }, - { - "name": "message", - "value": "hello", - "enabled": false - } - ], - "multipartForm": [ - { - "name": "apikey", - "value": "secret", - "enabled": true - }, - { - "name": "numbers", - "value": "+91998877665", - "enabled": true - }, - { - "name": "message", - "value": "hello", - "enabled": false - } - ] - }, - "vars": [ - { - "name": "token", - "value": "$res.body.token", - "enabled": true - }, - { - "name": "petId", - "value": "$res.body.id", - "enabled": false - } - ], - "varsLocal": [ - { - "name": "orderNumber", - "value": "$res.body.orderNumber", - "enabled": true - }, - { - "name": "transactionId", - "value": "$res.body.transactionId", - "enabled": false - } - ], - "assert": [ - { - "name": "$res.status", - "value": "200", - "enabled": true - }, - { - "name": "$res.body.message", - "value": "success", - "enabled": false - } - ], - "test": " function onResponse(request, response) {\n expect(response.status).to.equal(200);\n }", - "docs": " This request needs auth token to be set in the headers." - } // console.log(JSON.stringify(output, null, 2)); expect(output).toEqual(expected);