UNPKG

@agreed/core

Version:

agreed is a mock server and test client, agreed will be helper for Consumer Driven Contract

288 lines (287 loc) 5.3 kB
module.exports = [ { request: { path: "/hoge/fuga", method: "GET", query: { q: "foo", }, }, response: { headers: { "x-csrf-token": "csrf-token", }, body: { message: "hello world", }, }, }, "./hoge/foo.json", "./foo/bar.yaml", { request: require("./qux/request.json"), response: require("./qux/response.json"), }, { request: { path: "/path/:id", method: "GET", // value for test client values: { id: "yosuke", }, }, response: { headers: { "x-csrf-token": "csrf-token", }, body: { // :id is for request value message: "hello {:id}", }, }, }, { request: { path: "/path/:id", method: "POST", // query embed data, any query is ok. query: { meta: "{:meta}", }, body: { message: "{:message}", }, // value for test client values: { id: "yosuke", meta: true, message: "foobarbaz", }, }, response: { headers: { "x-csrf-token": "csrf-token", }, body: { // :id is for request value message: "hello {:id}, {:meta}, {:message}", }, }, }, { request: { // if no method then GET path: "/nyan/:id", query: { meta: "{:meta}", }, // value for test client values: { id: "yosuke", meta: false, }, }, response: { headers: { "x-csrf-token": "csrf-token", }, body: { // :id is for request value message: "hello {:id}, {:meta}", }, }, }, { request: { path: "/embed/from/response/:id", method: "POST", query: { meta: "{:meta}", }, body: { message: "{:message}", }, // value for test client values: { id: "yosuke", meta: false, message: "this is a message", }, }, response: { headers: { "x-csrf-token": "csrf-token", }, body: { // embed template from response values image: "{:image}", topics: "{:topics}", message: "hello {:id} {:meta} {:message}", }, values: { image: "http://imgfp.hotp.jp/SYS/cmn/images/front_002/logo_hotopepper_264x45.png", topics: [ { a: "a", }, { b: "b", }, ], }, }, }, { request: { path: "/images/:id", method: "GET", query: { q: "{:someQueryStrings}", }, values: { id: "yosuke", someQueryStrings: "foo", }, }, response: { headers: { "x-csrf-token": "csrf-token", }, body: { message: "{:greeting} {:id} {:someQueryStrings}", images: "{:images}", themes: "{:themes}", }, values: { greeting: "hello", images: ["http://example.com/foo.jpg", "http://example.com/bar.jpg"], themes: { name: "green", }, }, }, }, { request: { path: "/list/:index", method: "GET", values: { index: 1, }, }, response: { body: { result: "{:list[:index]}", }, values: { list: ["hello", "hi", "dunke"], }, }, }, { request: { path: "/useschema/:index", method: "GET", values: { index: 1, }, }, response: { body: { result: "{:list[:index]}", }, schema: { type: "object", properties: { result: { type: "string", }, }, }, values: { list: ["hello", "hi", "dunke"], }, }, }, { request: { path: "/useschema/withstring/:index", method: "GET", values: { index: 1, }, }, response: { body: { result: "{:list[:index]}", }, schema: "./schema/hi.json", values: { list: ["hello", "hi", "dunke"], }, }, }, { request: { path: "/headers/:index", method: "GET", headers: { "x-token": "{:token}", "x-api-key": "{:apiKey}", }, values: { index: 2, token: "nyan", apiKey: "nyaaan", }, }, response: { body: { result: "{:list[:index]} {:token} {:apiKey}", }, values: { list: ["hello", "hi", "dunke"], }, }, }, { request: { path: "/headers/:index", method: "GET", values: { index: 1, }, }, response: { body: { result: "{:list[:index]}", }, values: { list: ["hello", "hi", "dunke"], }, }, }, { request: { path: "/headers/test/:index", method: "GET", headers: { "x-test-token": "{:xTestToken}", }, values: { index: 1, xTestToken: "fdajfdsaoijfdoajofdjaoj", }, }, response: { body: { result: "{:list[:index]}", }, values: { list: ["hello", "hi", "dunke"], }, }, }, ];