ccxt-rest
Version:
Open Source Unified REST API of 100+ Crypto Exchange Sites
2 lines • 1.41 MB
HTML
<!doctype html>
<html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title>CCXT-REST Exchange Summary Dashboard</title><link rel="stylesheet" href="assets/app.css"/></head><body data-raw="{"stats":{"suites":248,"tests":744,"passes":744,"pending":0,"failures":0,"start":"2020-06-21T18:10:18.827Z","end":"2020-06-21T18:12:31.086Z","duration":132259,"testsRegistered":744,"passPercent":100,"pendingPercent":0,"other":0,"hasOther":false,"skipped":0,"hasSkipped":false,"passPercentClass":"success","pendingPercentClass":"danger"},"suites":{"uuid":"8995d97c-05d7-40a3-a779-1712473a4c68","title":"","fullFile":"","file":"","beforeHooks":[],"afterHooks":[],"tests":[],"suites":[{"uuid":"857fa333-ae3b-4191-9edc-9d3804c1a1a8","title":"","fullFile":"","file":"","beforeHooks":[],"afterHooks":[],"tests":[],"suites":[{"uuid":"b57c5a73-11f3-42da-95f6-471545185839","title":"> [bibox] without API keys","fullFile":"/home/travis/build/ccxt-rest/ccxt-rest/test/generated/bibox-test.js","file":"/test/generated/bibox-test.js","beforeHooks":[],"afterHooks":[],"tests":[{"title":"> [bibox] connect","fullTitle":" > [bibox] without API keys > [bibox] connect","timedOut":false,"duration":334,"state":"passed","speed":"slow","pass":true,"fail":false,"pending":false,"code":"if (config.canExecute(_ctx)) {\n this.timeout(0)\n const query = config.queryBuilder ? config.queryBuilder(_ctx) : undefined\n const url = `${_ctx.baseUrl}/exchange/${_ctx.exchangeName}/${subPath}`\n superagent\n .get(url)\n .query(query)\n .retry(3)\n .timeout(TIMEOUT_MS)\n .end((err, res) => {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = (res && res.status) || 408\n exchangeDetail[property].response = res && res.body\n })\n if (config.successCallback) {\n config.successCallback(_ctx, res)\n }\n assertResponse(res)\n done();\n });\n} else {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = 'n/a'\n })\n if (!REPORT_ONLY) {\n this.skip()\n }\n done()\n}","err":{},"isRoot":false,"uuid":"61fdacc2-2213-4752-97f5-1e2f2bb6166e","isHook":false,"skipped":false},{"title":"> [bibox] markets","fullTitle":" > [bibox] without API keys > [bibox] markets","timedOut":false,"duration":792,"state":"passed","speed":"slow","pass":true,"fail":false,"pending":false,"code":"if (config.canExecute(_ctx)) {\n this.timeout(0)\n const query = config.queryBuilder ? config.queryBuilder(_ctx) : undefined\n const url = `${_ctx.baseUrl}/exchange/${_ctx.exchangeName}/${subPath}`\n superagent\n .get(url)\n .query(query)\n .retry(3)\n .timeout(TIMEOUT_MS)\n .end((err, res) => {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = (res && res.status) || 408\n exchangeDetail[property].response = res && res.body\n })\n if (config.successCallback) {\n config.successCallback(_ctx, res)\n }\n assertResponse(res)\n done();\n });\n} else {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = 'n/a'\n })\n if (!REPORT_ONLY) {\n this.skip()\n }\n done()\n}","err":{},"isRoot":false,"uuid":"ab7e4108-7202-4533-8d8e-f73aaaff6a28","isHook":false,"skipped":false},{"title":"> [bibox] ticker","fullTitle":" > [bibox] without API keys > [bibox] ticker","timedOut":false,"duration":37,"state":"passed","speed":"fast","pass":true,"fail":false,"pending":false,"code":"if (config.canExecute(_ctx)) {\n this.timeout(0)\n const query = config.queryBuilder ? config.queryBuilder(_ctx) : undefined\n const url = `${_ctx.baseUrl}/exchange/${_ctx.exchangeName}/${subPath}`\n superagent\n .get(url)\n .query(query)\n .retry(3)\n .timeout(TIMEOUT_MS)\n .end((err, res) => {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = (res && res.status) || 408\n exchangeDetail[property].response = res && res.body\n })\n if (config.successCallback) {\n config.successCallback(_ctx, res)\n }\n assertResponse(res)\n done();\n });\n} else {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = 'n/a'\n })\n if (!REPORT_ONLY) {\n this.skip()\n }\n done()\n}","err":{},"isRoot":false,"uuid":"cc42085c-49f5-4898-ab8c-2e2dacead0ff","isHook":false,"skipped":false},{"title":"> [bibox] tickers","fullTitle":" > [bibox] without API keys > [bibox] tickers","timedOut":false,"duration":1626,"state":"passed","speed":"slow","pass":true,"fail":false,"pending":false,"code":"if (config.canExecute(_ctx)) {\n this.timeout(0)\n const query = config.queryBuilder ? config.queryBuilder(_ctx) : undefined\n const url = `${_ctx.baseUrl}/exchange/${_ctx.exchangeName}/${subPath}`\n superagent\n .get(url)\n .query(query)\n .retry(3)\n .timeout(TIMEOUT_MS)\n .end((err, res) => {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = (res && res.status) || 408\n exchangeDetail[property].response = res && res.body\n })\n if (config.successCallback) {\n config.successCallback(_ctx, res)\n }\n assertResponse(res)\n done();\n });\n} else {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = 'n/a'\n })\n if (!REPORT_ONLY) {\n this.skip()\n }\n done()\n}","err":{},"isRoot":false,"uuid":"4cf12567-2701-49eb-8abf-0f5284a2b8a4","isHook":false,"skipped":false},{"title":"> [bibox] orderBook","fullTitle":" > [bibox] without API keys > [bibox] orderBook","timedOut":false,"duration":26,"state":"passed","speed":"fast","pass":true,"fail":false,"pending":false,"code":"if (config.canExecute(_ctx)) {\n this.timeout(0)\n const query = config.queryBuilder ? config.queryBuilder(_ctx) : undefined\n const url = `${_ctx.baseUrl}/exchange/${_ctx.exchangeName}/${subPath}`\n superagent\n .get(url)\n .query(query)\n .retry(3)\n .timeout(TIMEOUT_MS)\n .end((err, res) => {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = (res && res.status) || 408\n exchangeDetail[property].response = res && res.body\n })\n if (config.successCallback) {\n config.successCallback(_ctx, res)\n }\n assertResponse(res)\n done();\n });\n} else {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = 'n/a'\n })\n if (!REPORT_ONLY) {\n this.skip()\n }\n done()\n}","err":{},"isRoot":false,"uuid":"54f5346a-df9a-41ad-9bf4-2b4bc19d7f60","isHook":false,"skipped":false},{"title":"> [bibox] trades","fullTitle":" > [bibox] without API keys > [bibox] trades","timedOut":false,"duration":17,"state":"passed","speed":"fast","pass":true,"fail":false,"pending":false,"code":"if (config.canExecute(_ctx)) {\n this.timeout(0)\n const query = config.queryBuilder ? config.queryBuilder(_ctx) : undefined\n const url = `${_ctx.baseUrl}/exchange/${_ctx.exchangeName}/${subPath}`\n superagent\n .get(url)\n .query(query)\n .retry(3)\n .timeout(TIMEOUT_MS)\n .end((err, res) => {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = (res && res.status) || 408\n exchangeDetail[property].response = res && res.body\n })\n if (config.successCallback) {\n config.successCallback(_ctx, res)\n }\n assertResponse(res)\n done();\n });\n} else {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = 'n/a'\n })\n if (!REPORT_ONLY) {\n this.skip()\n }\n done()\n}","err":{},"isRoot":false,"uuid":"eeee0fe6-9d79-4372-a761-c28194c765fb","isHook":false,"skipped":false}],"suites":[],"passes":["61fdacc2-2213-4752-97f5-1e2f2bb6166e","ab7e4108-7202-4533-8d8e-f73aaaff6a28","cc42085c-49f5-4898-ab8c-2e2dacead0ff","4cf12567-2701-49eb-8abf-0f5284a2b8a4","54f5346a-df9a-41ad-9bf4-2b4bc19d7f60","eeee0fe6-9d79-4372-a761-c28194c765fb"],"failures":[],"pending":[],"skipped":[],"duration":2832,"root":false,"rootEmpty":false,"_timeout":2000}],"passes":[],"failures":[],"pending":[],"skipped":[],"duration":0,"root":false,"rootEmpty":false,"_timeout":2000},{"uuid":"5c074f2a-7dca-417a-928b-39f240e025d1","title":"","fullFile":"","file":"","beforeHooks":[],"afterHooks":[],"tests":[],"suites":[{"uuid":"a1f0b883-ce88-4169-9827-486050945288","title":"> [binanceje] without API keys","fullFile":"/home/travis/build/ccxt-rest/ccxt-rest/test/generated/binanceje-test.js","file":"/test/generated/binanceje-test.js","beforeHooks":[],"afterHooks":[],"tests":[{"title":"> [binanceje] connect","fullTitle":" > [binanceje] without API keys > [binanceje] connect","timedOut":false,"duration":187,"state":"passed","speed":"slow","pass":true,"fail":false,"pending":false,"code":"if (config.canExecute(_ctx)) {\n this.timeout(0)\n const query = config.queryBuilder ? config.queryBuilder(_ctx) : undefined\n const url = `${_ctx.baseUrl}/exchange/${_ctx.exchangeName}/${subPath}`\n superagent\n .get(url)\n .query(query)\n .retry(3)\n .timeout(TIMEOUT_MS)\n .end((err, res) => {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = (res && res.status) || 408\n exchangeDetail[property].response = res && res.body\n })\n if (config.successCallback) {\n config.successCallback(_ctx, res)\n }\n assertResponse(res)\n done();\n });\n} else {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = 'n/a'\n })\n if (!REPORT_ONLY) {\n this.skip()\n }\n done()\n}","err":{},"isRoot":false,"uuid":"a2fc4fec-d352-49aa-9ac9-a07163b400ed","isHook":false,"skipped":false},{"title":"> [binanceje] markets","fullTitle":" > [binanceje] without API keys > [binanceje] markets","timedOut":false,"duration":619,"state":"passed","speed":"slow","pass":true,"fail":false,"pending":false,"code":"if (config.canExecute(_ctx)) {\n this.timeout(0)\n const query = config.queryBuilder ? config.queryBuilder(_ctx) : undefined\n const url = `${_ctx.baseUrl}/exchange/${_ctx.exchangeName}/${subPath}`\n superagent\n .get(url)\n .query(query)\n .retry(3)\n .timeout(TIMEOUT_MS)\n .end((err, res) => {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = (res && res.status) || 408\n exchangeDetail[property].response = res && res.body\n })\n if (config.successCallback) {\n config.successCallback(_ctx, res)\n }\n assertResponse(res)\n done();\n });\n} else {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = 'n/a'\n })\n if (!REPORT_ONLY) {\n this.skip()\n }\n done()\n}","err":{},"isRoot":false,"uuid":"1a78b2fb-e369-44c1-b803-79fe7c81a876","isHook":false,"skipped":false},{"title":"> [binanceje] ticker","fullTitle":" > [binanceje] without API keys > [binanceje] ticker","timedOut":false,"duration":725,"state":"passed","speed":"slow","pass":true,"fail":false,"pending":false,"code":"if (config.canExecute(_ctx)) {\n this.timeout(0)\n const query = config.queryBuilder ? config.queryBuilder(_ctx) : undefined\n const url = `${_ctx.baseUrl}/exchange/${_ctx.exchangeName}/${subPath}`\n superagent\n .get(url)\n .query(query)\n .retry(3)\n .timeout(TIMEOUT_MS)\n .end((err, res) => {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = (res && res.status) || 408\n exchangeDetail[property].response = res && res.body\n })\n if (config.successCallback) {\n config.successCallback(_ctx, res)\n }\n assertResponse(res)\n done();\n });\n} else {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = 'n/a'\n })\n if (!REPORT_ONLY) {\n this.skip()\n }\n done()\n}","err":{},"isRoot":false,"uuid":"0be32d12-f80f-438b-88d5-27fd93a06879","isHook":false,"skipped":false},{"title":"> [binanceje] tickers","fullTitle":" > [binanceje] without API keys > [binanceje] tickers","timedOut":false,"duration":726,"state":"passed","speed":"slow","pass":true,"fail":false,"pending":false,"code":"if (config.canExecute(_ctx)) {\n this.timeout(0)\n const query = config.queryBuilder ? config.queryBuilder(_ctx) : undefined\n const url = `${_ctx.baseUrl}/exchange/${_ctx.exchangeName}/${subPath}`\n superagent\n .get(url)\n .query(query)\n .retry(3)\n .timeout(TIMEOUT_MS)\n .end((err, res) => {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = (res && res.status) || 408\n exchangeDetail[property].response = res && res.body\n })\n if (config.successCallback) {\n config.successCallback(_ctx, res)\n }\n assertResponse(res)\n done();\n });\n} else {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = 'n/a'\n })\n if (!REPORT_ONLY) {\n this.skip()\n }\n done()\n}","err":{},"isRoot":false,"uuid":"39055945-6e0e-4b35-a72d-12073e231fbb","isHook":false,"skipped":false},{"title":"> [binanceje] orderBook","fullTitle":" > [binanceje] without API keys > [binanceje] orderBook","timedOut":false,"duration":484,"state":"passed","speed":"slow","pass":true,"fail":false,"pending":false,"code":"if (config.canExecute(_ctx)) {\n this.timeout(0)\n const query = config.queryBuilder ? config.queryBuilder(_ctx) : undefined\n const url = `${_ctx.baseUrl}/exchange/${_ctx.exchangeName}/${subPath}`\n superagent\n .get(url)\n .query(query)\n .retry(3)\n .timeout(TIMEOUT_MS)\n .end((err, res) => {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = (res && res.status) || 408\n exchangeDetail[property].response = res && res.body\n })\n if (config.successCallback) {\n config.successCallback(_ctx, res)\n }\n assertResponse(res)\n done();\n });\n} else {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = 'n/a'\n })\n if (!REPORT_ONLY) {\n this.skip()\n }\n done()\n}","err":{},"isRoot":false,"uuid":"0515b508-f16c-4a34-a90a-ff64040b5662","isHook":false,"skipped":false},{"title":"> [binanceje] trades","fullTitle":" > [binanceje] without API keys > [binanceje] trades","timedOut":false,"duration":715,"state":"passed","speed":"slow","pass":true,"fail":false,"pending":false,"code":"if (config.canExecute(_ctx)) {\n this.timeout(0)\n const query = config.queryBuilder ? config.queryBuilder(_ctx) : undefined\n const url = `${_ctx.baseUrl}/exchange/${_ctx.exchangeName}/${subPath}`\n superagent\n .get(url)\n .query(query)\n .retry(3)\n .timeout(TIMEOUT_MS)\n .end((err, res) => {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = (res && res.status) || 408\n exchangeDetail[property].response = res && res.body\n })\n if (config.successCallback) {\n config.successCallback(_ctx, res)\n }\n assertResponse(res)\n done();\n });\n} else {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = 'n/a'\n })\n if (!REPORT_ONLY) {\n this.skip()\n }\n done()\n}","err":{},"isRoot":false,"uuid":"29335a2d-fab9-4060-9a59-efb31debda7e","isHook":false,"skipped":false}],"suites":[],"passes":["a2fc4fec-d352-49aa-9ac9-a07163b400ed","1a78b2fb-e369-44c1-b803-79fe7c81a876","0be32d12-f80f-438b-88d5-27fd93a06879","39055945-6e0e-4b35-a72d-12073e231fbb","0515b508-f16c-4a34-a90a-ff64040b5662","29335a2d-fab9-4060-9a59-efb31debda7e"],"failures":[],"pending":[],"skipped":[],"duration":3456,"root":false,"rootEmpty":false,"_timeout":2000}],"passes":[],"failures":[],"pending":[],"skipped":[],"duration":0,"root":false,"rootEmpty":false,"_timeout":2000},{"uuid":"9181e562-a2c2-4c88-9406-943dffa88af1","title":"","fullFile":"","file":"","beforeHooks":[],"afterHooks":[],"tests":[],"suites":[{"uuid":"9737f136-518d-4247-9498-69d39fca4d63","title":"> [binance] without API keys","fullFile":"/home/travis/build/ccxt-rest/ccxt-rest/test/generated/binance-test.js","file":"/test/generated/binance-test.js","beforeHooks":[],"afterHooks":[],"tests":[{"title":"> [binance] connect","fullTitle":" > [binance] without API keys > [binance] connect","timedOut":false,"duration":233,"state":"passed","speed":"slow","pass":true,"fail":false,"pending":false,"code":"if (config.canExecute(_ctx)) {\n this.timeout(0)\n const query = config.queryBuilder ? config.queryBuilder(_ctx) : undefined\n const url = `${_ctx.baseUrl}/exchange/${_ctx.exchangeName}/${subPath}`\n superagent\n .get(url)\n .query(query)\n .retry(3)\n .timeout(TIMEOUT_MS)\n .end((err, res) => {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = (res && res.status) || 408\n exchangeDetail[property].response = res && res.body\n })\n if (config.successCallback) {\n config.successCallback(_ctx, res)\n }\n assertResponse(res)\n done();\n });\n} else {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = 'n/a'\n })\n if (!REPORT_ONLY) {\n this.skip()\n }\n done()\n}","err":{},"isRoot":false,"uuid":"ba59917e-2353-4874-89d2-c1e5b92501a5","isHook":false,"skipped":false},{"title":"> [binance] markets","fullTitle":" > [binance] without API keys > [binance] markets","timedOut":false,"duration":675,"state":"passed","speed":"slow","pass":true,"fail":false,"pending":false,"code":"if (config.canExecute(_ctx)) {\n this.timeout(0)\n const query = config.queryBuilder ? config.queryBuilder(_ctx) : undefined\n const url = `${_ctx.baseUrl}/exchange/${_ctx.exchangeName}/${subPath}`\n superagent\n .get(url)\n .query(query)\n .retry(3)\n .timeout(TIMEOUT_MS)\n .end((err, res) => {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = (res && res.status) || 408\n exchangeDetail[property].response = res && res.body\n })\n if (config.successCallback) {\n config.successCallback(_ctx, res)\n }\n assertResponse(res)\n done();\n });\n} else {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = 'n/a'\n })\n if (!REPORT_ONLY) {\n this.skip()\n }\n done()\n}","err":{},"isRoot":false,"uuid":"979c88e3-361e-4b7e-bac9-cd7119ae0d57","isHook":false,"skipped":false},{"title":"> [binance] ticker","fullTitle":" > [binance] without API keys > [binance] ticker","timedOut":false,"duration":856,"state":"passed","speed":"slow","pass":true,"fail":false,"pending":false,"code":"if (config.canExecute(_ctx)) {\n this.timeout(0)\n const query = config.queryBuilder ? config.queryBuilder(_ctx) : undefined\n const url = `${_ctx.baseUrl}/exchange/${_ctx.exchangeName}/${subPath}`\n superagent\n .get(url)\n .query(query)\n .retry(3)\n .timeout(TIMEOUT_MS)\n .end((err, res) => {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = (res && res.status) || 408\n exchangeDetail[property].response = res && res.body\n })\n if (config.successCallback) {\n config.successCallback(_ctx, res)\n }\n assertResponse(res)\n done();\n });\n} else {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = 'n/a'\n })\n if (!REPORT_ONLY) {\n this.skip()\n }\n done()\n}","err":{},"isRoot":false,"uuid":"4ddcd9f3-6910-4117-be6a-2f393ad11457","isHook":false,"skipped":false},{"title":"> [binance] tickers","fullTitle":" > [binance] without API keys > [binance] tickers","timedOut":false,"duration":843,"state":"passed","speed":"slow","pass":true,"fail":false,"pending":false,"code":"if (config.canExecute(_ctx)) {\n this.timeout(0)\n const query = config.queryBuilder ? config.queryBuilder(_ctx) : undefined\n const url = `${_ctx.baseUrl}/exchange/${_ctx.exchangeName}/${subPath}`\n superagent\n .get(url)\n .query(query)\n .retry(3)\n .timeout(TIMEOUT_MS)\n .end((err, res) => {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = (res && res.status) || 408\n exchangeDetail[property].response = res && res.body\n })\n if (config.successCallback) {\n config.successCallback(_ctx, res)\n }\n assertResponse(res)\n done();\n });\n} else {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = 'n/a'\n })\n if (!REPORT_ONLY) {\n this.skip()\n }\n done()\n}","err":{},"isRoot":false,"uuid":"519237e7-214b-4446-88b1-39e3ae4c470f","isHook":false,"skipped":false},{"title":"> [binance] orderBook","fullTitle":" > [binance] without API keys > [binance] orderBook","timedOut":false,"duration":305,"state":"passed","speed":"slow","pass":true,"fail":false,"pending":false,"code":"if (config.canExecute(_ctx)) {\n this.timeout(0)\n const query = config.queryBuilder ? config.queryBuilder(_ctx) : undefined\n const url = `${_ctx.baseUrl}/exchange/${_ctx.exchangeName}/${subPath}`\n superagent\n .get(url)\n .query(query)\n .retry(3)\n .timeout(TIMEOUT_MS)\n .end((err, res) => {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = (res && res.status) || 408\n exchangeDetail[property].response = res && res.body\n })\n if (config.successCallback) {\n config.successCallback(_ctx, res)\n }\n assertResponse(res)\n done();\n });\n} else {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = 'n/a'\n })\n if (!REPORT_ONLY) {\n this.skip()\n }\n done()\n}","err":{},"isRoot":false,"uuid":"d6b5c808-0c10-4fc6-b527-26ce6f0531c6","isHook":false,"skipped":false},{"title":"> [binance] trades","fullTitle":" > [binance] without API keys > [binance] trades","timedOut":false,"duration":776,"state":"passed","speed":"slow","pass":true,"fail":false,"pending":false,"code":"if (config.canExecute(_ctx)) {\n this.timeout(0)\n const query = config.queryBuilder ? config.queryBuilder(_ctx) : undefined\n const url = `${_ctx.baseUrl}/exchange/${_ctx.exchangeName}/${subPath}`\n superagent\n .get(url)\n .query(query)\n .retry(3)\n .timeout(TIMEOUT_MS)\n .end((err, res) => {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = (res && res.status) || 408\n exchangeDetail[property].response = res && res.body\n })\n if (config.successCallback) {\n config.successCallback(_ctx, res)\n }\n assertResponse(res)\n done();\n });\n} else {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = 'n/a'\n })\n if (!REPORT_ONLY) {\n this.skip()\n }\n done()\n}","err":{},"isRoot":false,"uuid":"e6d27aab-7ccb-42df-bcff-7c091e3124c2","isHook":false,"skipped":false}],"suites":[],"passes":["ba59917e-2353-4874-89d2-c1e5b92501a5","979c88e3-361e-4b7e-bac9-cd7119ae0d57","4ddcd9f3-6910-4117-be6a-2f393ad11457","519237e7-214b-4446-88b1-39e3ae4c470f","d6b5c808-0c10-4fc6-b527-26ce6f0531c6","e6d27aab-7ccb-42df-bcff-7c091e3124c2"],"failures":[],"pending":[],"skipped":[],"duration":3688,"root":false,"rootEmpty":false,"_timeout":2000}],"passes":[],"failures":[],"pending":[],"skipped":[],"duration":0,"root":false,"rootEmpty":false,"_timeout":2000},{"uuid":"d6b71d47-f4f8-4d17-b72b-f34c4145d96b","title":"","fullFile":"","file":"","beforeHooks":[],"afterHooks":[],"tests":[],"suites":[{"uuid":"b47456d7-0584-46d6-9a47-857be0720013","title":"> [acx] without API keys","fullFile":"/home/travis/build/ccxt-rest/ccxt-rest/test/generated/acx-test.js","file":"/test/generated/acx-test.js","beforeHooks":[],"afterHooks":[],"tests":[{"title":"> [acx] connect","fullTitle":" > [acx] without API keys > [acx] connect","timedOut":false,"duration":520,"state":"passed","speed":"slow","pass":true,"fail":false,"pending":false,"code":"if (config.canExecute(_ctx)) {\n this.timeout(0)\n const query = config.queryBuilder ? config.queryBuilder(_ctx) : undefined\n const url = `${_ctx.baseUrl}/exchange/${_ctx.exchangeName}/${subPath}`\n superagent\n .get(url)\n .query(query)\n .retry(3)\n .timeout(TIMEOUT_MS)\n .end((err, res) => {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = (res && res.status) || 408\n exchangeDetail[property].response = res && res.body\n })\n if (config.successCallback) {\n config.successCallback(_ctx, res)\n }\n assertResponse(res)\n done();\n });\n} else {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = 'n/a'\n })\n if (!REPORT_ONLY) {\n this.skip()\n }\n done()\n}","err":{},"isRoot":false,"uuid":"b0e7bd3e-4ac3-4024-8fb5-21092b405e63","isHook":false,"skipped":false},{"title":"> [acx] markets","fullTitle":" > [acx] without API keys > [acx] markets","timedOut":false,"duration":1016,"state":"passed","speed":"slow","pass":true,"fail":false,"pending":false,"code":"if (config.canExecute(_ctx)) {\n this.timeout(0)\n const query = config.queryBuilder ? config.queryBuilder(_ctx) : undefined\n const url = `${_ctx.baseUrl}/exchange/${_ctx.exchangeName}/${subPath}`\n superagent\n .get(url)\n .query(query)\n .retry(3)\n .timeout(TIMEOUT_MS)\n .end((err, res) => {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = (res && res.status) || 408\n exchangeDetail[property].response = res && res.body\n })\n if (config.successCallback) {\n config.successCallback(_ctx, res)\n }\n assertResponse(res)\n done();\n });\n} else {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = 'n/a'\n })\n if (!REPORT_ONLY) {\n this.skip()\n }\n done()\n}","err":{},"isRoot":false,"uuid":"e241288c-e660-4bf5-beac-414c3d2d726a","isHook":false,"skipped":false},{"title":"> [acx] ticker","fullTitle":" > [acx] without API keys > [acx] ticker","timedOut":false,"duration":1218,"state":"passed","speed":"slow","pass":true,"fail":false,"pending":false,"code":"if (config.canExecute(_ctx)) {\n this.timeout(0)\n const query = config.queryBuilder ? config.queryBuilder(_ctx) : undefined\n const url = `${_ctx.baseUrl}/exchange/${_ctx.exchangeName}/${subPath}`\n superagent\n .get(url)\n .query(query)\n .retry(3)\n .timeout(TIMEOUT_MS)\n .end((err, res) => {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = (res && res.status) || 408\n exchangeDetail[property].response = res && res.body\n })\n if (config.successCallback) {\n config.successCallback(_ctx, res)\n }\n assertResponse(res)\n done();\n });\n} else {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = 'n/a'\n })\n if (!REPORT_ONLY) {\n this.skip()\n }\n done()\n}","err":{},"isRoot":false,"uuid":"40aad70a-5377-477f-808e-daf16acf6712","isHook":false,"skipped":false},{"title":"> [acx] tickers","fullTitle":" > [acx] without API keys > [acx] tickers","timedOut":false,"duration":1053,"state":"passed","speed":"slow","pass":true,"fail":false,"pending":false,"code":"if (config.canExecute(_ctx)) {\n this.timeout(0)\n const query = config.queryBuilder ? config.queryBuilder(_ctx) : undefined\n const url = `${_ctx.baseUrl}/exchange/${_ctx.exchangeName}/${subPath}`\n superagent\n .get(url)\n .query(query)\n .retry(3)\n .timeout(TIMEOUT_MS)\n .end((err, res) => {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = (res && res.status) || 408\n exchangeDetail[property].response = res && res.body\n })\n if (config.successCallback) {\n config.successCallback(_ctx, res)\n }\n assertResponse(res)\n done();\n });\n} else {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = 'n/a'\n })\n if (!REPORT_ONLY) {\n this.skip()\n }\n done()\n}","err":{},"isRoot":false,"uuid":"73fdcf86-b01b-45ad-88ac-8c9b3e3f83e6","isHook":false,"skipped":false},{"title":"> [acx] orderBook","fullTitle":" > [acx] without API keys > [acx] orderBook","timedOut":false,"duration":947,"state":"passed","speed":"slow","pass":true,"fail":false,"pending":false,"code":"if (config.canExecute(_ctx)) {\n this.timeout(0)\n const query = config.queryBuilder ? config.queryBuilder(_ctx) : undefined\n const url = `${_ctx.baseUrl}/exchange/${_ctx.exchangeName}/${subPath}`\n superagent\n .get(url)\n .query(query)\n .retry(3)\n .timeout(TIMEOUT_MS)\n .end((err, res) => {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = (res && res.status) || 408\n exchangeDetail[property].response = res && res.body\n })\n if (config.successCallback) {\n config.successCallback(_ctx, res)\n }\n assertResponse(res)\n done();\n });\n} else {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = 'n/a'\n })\n if (!REPORT_ONLY) {\n this.skip()\n }\n done()\n}","err":{},"isRoot":false,"uuid":"b1f4ef5a-fff3-40fc-a079-8088baf2f82e","isHook":false,"skipped":false},{"title":"> [acx] trades","fullTitle":" > [acx] without API keys > [acx] trades","timedOut":false,"duration":1030,"state":"passed","speed":"slow","pass":true,"fail":false,"pending":false,"code":"if (config.canExecute(_ctx)) {\n this.timeout(0)\n const query = config.queryBuilder ? config.queryBuilder(_ctx) : undefined\n const url = `${_ctx.baseUrl}/exchange/${_ctx.exchangeName}/${subPath}`\n superagent\n .get(url)\n .query(query)\n .retry(3)\n .timeout(TIMEOUT_MS)\n .end((err, res) => {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = (res && res.status) || 408\n exchangeDetail[property].response = res && res.body\n })\n if (config.successCallback) {\n config.successCallback(_ctx, res)\n }\n assertResponse(res)\n done();\n });\n} else {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = 'n/a'\n })\n if (!REPORT_ONLY) {\n this.skip()\n }\n done()\n}","err":{},"isRoot":false,"uuid":"a93d1c34-39e8-47e5-aec8-99a1c152d56b","isHook":false,"skipped":false}],"suites":[],"passes":["b0e7bd3e-4ac3-4024-8fb5-21092b405e63","e241288c-e660-4bf5-beac-414c3d2d726a","40aad70a-5377-477f-808e-daf16acf6712","73fdcf86-b01b-45ad-88ac-8c9b3e3f83e6","b1f4ef5a-fff3-40fc-a079-8088baf2f82e","a93d1c34-39e8-47e5-aec8-99a1c152d56b"],"failures":[],"pending":[],"skipped":[],"duration":5784,"root":false,"rootEmpty":false,"_timeout":2000}],"passes":[],"failures":[],"pending":[],"skipped":[],"duration":0,"root":false,"rootEmpty":false,"_timeout":2000},{"uuid":"82316f3a-fab1-4284-a1aa-7fd9d26b7e06","title":"","fullFile":"","file":"","beforeHooks":[],"afterHooks":[],"tests":[],"suites":[{"uuid":"88e77ebe-7543-47cd-a2ae-683acfd5ef01","title":"> [binanceus] without API keys","fullFile":"/home/travis/build/ccxt-rest/ccxt-rest/test/generated/binanceus-test.js","file":"/test/generated/binanceus-test.js","beforeHooks":[],"afterHooks":[],"tests":[{"title":"> [binanceus] connect","fullTitle":" > [binanceus] without API keys > [binanceus] connect","timedOut":false,"duration":42,"state":"passed","speed":"medium","pass":true,"fail":false,"pending":false,"code":"if (config.canExecute(_ctx)) {\n this.timeout(0)\n const query = config.queryBuilder ? config.queryBuilder(_ctx) : undefined\n const url = `${_ctx.baseUrl}/exchange/${_ctx.exchangeName}/${subPath}`\n superagent\n .get(url)\n .query(query)\n .retry(3)\n .timeout(TIMEOUT_MS)\n .end((err, res) => {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = (res && res.status) || 408\n exchangeDetail[property].response = res && res.body\n })\n if (config.successCallback) {\n config.successCallback(_ctx, res)\n }\n assertResponse(res)\n done();\n });\n} else {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = 'n/a'\n })\n if (!REPORT_ONLY) {\n this.skip()\n }\n done()\n}","err":{},"isRoot":false,"uuid":"ce3bd3d8-abe1-41b9-9bdb-df47e5a16101","isHook":false,"skipped":false},{"title":"> [binanceus] markets","fullTitle":" > [binanceus] without API keys > [binanceus] markets","timedOut":false,"duration":393,"state":"passed","speed":"slow","pass":true,"fail":false,"pending":false,"code":"if (config.canExecute(_ctx)) {\n this.timeout(0)\n const query = config.queryBuilder ? config.queryBuilder(_ctx) : undefined\n const url = `${_ctx.baseUrl}/exchange/${_ctx.exchangeName}/${subPath}`\n superagent\n .get(url)\n .query(query)\n .retry(3)\n .timeout(TIMEOUT_MS)\n .end((err, res) => {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchangeDetail[property].statusCode = (res && res.status) || 408\n exchangeDetail[property].response = res && res.body\n })\n if (config.successCallback) {\n config.successCallback(_ctx, res)\n }\n assertResponse(res)\n done();\n });\n} else {\n logExchangeDetail(_ctx.exchangeName, exchangeDetail => {\n exchangeDetail[property] = exchangeDetail[property] || {}\n exchan