mirror of
https://github.com/usebruno/bruno.git
synced 2024-11-26 18:03:27 +01:00
118 lines
2.1 KiB
JavaScript
118 lines
2.1 KiB
JavaScript
const parser = require("../src/envToJson");
|
|
|
|
describe("env parser", () => {
|
|
it("should parse empty vars", () => {
|
|
const input = `
|
|
vars {
|
|
}`;
|
|
|
|
const output = parser(input);
|
|
const expected = {
|
|
"variables": []
|
|
};
|
|
|
|
expect(output).toEqual(expected);
|
|
});
|
|
|
|
it("should parse single var line", () => {
|
|
const input = `
|
|
vars {
|
|
url: http://localhost:3000
|
|
}`;
|
|
|
|
const output = parser(input);
|
|
const expected = {
|
|
"variables": [{
|
|
"name": "url",
|
|
"value": "http://localhost:3000",
|
|
"enabled" : true,
|
|
}]
|
|
};
|
|
|
|
expect(output).toEqual(expected);
|
|
});
|
|
|
|
it("should parse multiple var lines", () => {
|
|
const input = `
|
|
vars {
|
|
url: http://localhost:3000
|
|
port: 3000
|
|
~token: secret
|
|
}`;
|
|
|
|
const output = parser(input);
|
|
const expected = {
|
|
"variables": [{
|
|
"name": "url",
|
|
"value": "http://localhost:3000",
|
|
"enabled" : true
|
|
}, {
|
|
"name": "port",
|
|
"value": "3000",
|
|
"enabled" : true
|
|
}, {
|
|
"name": "token",
|
|
"value": "secret",
|
|
"enabled" : false
|
|
}]
|
|
};
|
|
|
|
expect(output).toEqual(expected);
|
|
});
|
|
|
|
it("should gracefully handle empty lines and spaces", () => {
|
|
const input = `
|
|
|
|
vars {
|
|
url: http://localhost:3000
|
|
port: 3000
|
|
}
|
|
|
|
`;
|
|
|
|
const output = parser(input);
|
|
const expected = {
|
|
"variables": [{
|
|
"name": "url",
|
|
"value": "http://localhost:3000",
|
|
"enabled" : true,
|
|
}, {
|
|
"name": "port",
|
|
"value": "3000",
|
|
"enabled" : true,
|
|
}]
|
|
};
|
|
|
|
expect(output).toEqual(expected);
|
|
});
|
|
|
|
it("should parse vars with empty values", () => {
|
|
const input = `
|
|
vars {
|
|
url:
|
|
phone:
|
|
api-key:
|
|
}
|
|
`;
|
|
|
|
const output = parser(input);
|
|
const expected = {
|
|
"variables": [{
|
|
"name": "url",
|
|
"value": "",
|
|
"enabled" : true,
|
|
}, {
|
|
"name": "phone",
|
|
"value": "",
|
|
"enabled" : true,
|
|
}, {
|
|
"name": "api-key",
|
|
"value": "",
|
|
"enabled" : true,
|
|
}]
|
|
};
|
|
|
|
expect(output).toEqual(expected);
|
|
});
|
|
});
|