ccxt-rest
Version:
Open Source Unified REST API of 100+ Crypto Exchange Sites
2 lines • 27 kB
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 Test Results</title><link rel="stylesheet" href="assets/app.css"/></head><body data-raw="{"stats":{"suites":8,"tests":18,"passes":18,"pending":0,"failures":0,"start":"2020-06-21T18:10:11.635Z","end":"2020-06-21T18:10:12.400Z","duration":765,"testsRegistered":18,"passPercent":100,"pendingPercent":0,"other":0,"hasOther":false,"skipped":0,"hasSkipped":false,"passPercentClass":"success","pendingPercentClass":"danger"},"suites":{"uuid":"9db8eb71-d809-4130-9bcb-deddf9275593","title":"","fullFile":"","file":"","beforeHooks":[],"afterHooks":[],"tests":[],"suites":[{"uuid":"b8ac1871-d27f-46df-8f6c-e6f1cc4ec365","title":"> controllers","fullFile":"/home/travis/build/ccxt-rest/ccxt-rest/test/api/controllers/exchange.js","file":"/test/api/controllers/exchange.js","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"> controllers \"before all\" hook","timedOut":false,"duration":535,"pass":false,"fail":false,"pending":false,"code":"if (fs.existsSync('./out/database.sqlite3')) {\n fs.unlinkSync('./out/database.sqlite3')\n}\nreturn new Promise((resolve) => {\n ccxtServer.start(_server => {\n server = _server\n resolve();\n }) \n})","err":{},"isRoot":false,"uuid":"7e5f99e5-7faa-44ff-a8b3-d0daa5037ccf","isHook":true,"skipped":false}],"afterHooks":[{"title":"\"after all\" hook","fullTitle":"> controllers \"after all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"if (server) {\n server.close()\n}\nif (fs.existsSync('./out/database.sqlite3')) {\n fs.unlinkSync('./out/database.sqlite3')\n}","err":{},"isRoot":false,"uuid":"f7f5402c-00b3-4335-ae4b-7860c24cb542","isHook":true,"skipped":false}],"tests":[],"suites":[{"uuid":"fd6218b1-a876-46f5-a928-39808d6dea2b","title":"> exchanges","fullFile":"/home/travis/build/ccxt-rest/ccxt-rest/test/api/controllers/exchange.js","file":"/test/api/controllers/exchange.js","beforeHooks":[],"afterHooks":[],"tests":[],"suites":[{"uuid":"58368bfd-c645-4bbf-803c-75ef93946f8d","title":"> GET /exchanges","fullFile":"/home/travis/build/ccxt-rest/ccxt-rest/test/api/controllers/exchange.js","file":"/test/api/controllers/exchange.js","beforeHooks":[],"afterHooks":[],"tests":[{"title":"> should return list of exchanges","fullTitle":"> controllers > exchanges > GET /exchanges > should return list of exchanges","timedOut":false,"duration":30,"state":"passed","speed":"fast","pass":true,"fail":false,"pending":false,"code":"request(server)\n .get('/exchanges')\n .expect('Content-Type', /json/)\n .expect(200)\n .end(function(err, res) {\n should.not.exist(err);\n res.body.should.eql(exchangeConfig.exchanges.map(i => '' + i));\n done();\n });","err":{},"isRoot":false,"uuid":"81a0d011-4239-4455-a0da-b08fe7d13c35","isHook":false,"skipped":false}],"suites":[],"passes":["81a0d011-4239-4455-a0da-b08fe7d13c35"],"failures":[],"pending":[],"skipped":[],"duration":30,"root":false,"rootEmpty":false,"_timeout":2000}],"passes":[],"failures":[],"pending":[],"skipped":[],"duration":0,"root":false,"rootEmpty":false,"_timeout":2000},{"uuid":"ba3c62b7-de12-410f-a5a2-f35ec7b139b6","title":"> exchange","fullFile":"/home/travis/build/ccxt-rest/ccxt-rest/test/api/controllers/exchange.js","file":"/test/api/controllers/exchange.js","beforeHooks":[],"afterHooks":[],"tests":[],"suites":[{"uuid":"8eae38be-b59e-4c8e-9fa0-38badcf7016f","title":"> Given unsupported exchange name","fullFile":"/home/travis/build/ccxt-rest/ccxt-rest/test/api/controllers/exchange.js","file":"/test/api/controllers/exchange.js","beforeHooks":[],"afterHooks":[],"tests":[],"suites":[{"uuid":"60401f33-8a70-4f07-902e-f531f3ed979f","title":"> [Unsupported Exchange name] Exchange Management API","fullFile":"/home/travis/build/ccxt-rest/ccxt-rest/test/api/controllers/exchange.js","file":"/test/api/controllers/exchange.js","beforeHooks":[],"afterHooks":[],"tests":[{"title":"> GET:/exchange/nonExistentExchangeName then return 404","fullTitle":"> controllers > exchange > Given unsupported exchange name > [Unsupported Exchange name] Exchange Management API > GET:/exchange/nonExistentExchangeName then return 404","timedOut":false,"duration":14,"state":"passed","speed":"fast","pass":true,"fail":false,"pending":false,"code":"request(server)\n .get('/exchange/nonExistentExchangeName')\n .expect(404)\n .end((err, res) => {\n should.not.exist(err);\n done();\n })","err":{},"isRoot":false,"uuid":"57d70ca2-eef2-4afa-9e0d-f2bc4cb5c833","isHook":false,"skipped":false},{"title":"> POST:/exchange/nonExistentExchangeName then return 404","fullTitle":"> controllers > exchange > Given unsupported exchange name > [Unsupported Exchange name] Exchange Management API > POST:/exchange/nonExistentExchangeName then return 404","timedOut":false,"duration":22,"state":"passed","speed":"fast","pass":true,"fail":false,"pending":false,"code":"request(server)\n .post('/exchange/nonExistentExchangeName')\n .send({id:'nonExistentExchangeName1'})\n .set('Accept', 'application/json')\n .expect(404)\n .end((err, res) => {\n should.not.exist(err);\n done();\n })","err":{},"isRoot":false,"uuid":"d1bd3b6f-d83c-4fcf-8c19-82265ecf12d6","isHook":false,"skipped":false}],"suites":[],"passes":["57d70ca2-eef2-4afa-9e0d-f2bc4cb5c833","d1bd3b6f-d83c-4fcf-8c19-82265ecf12d6"],"failures":[],"pending":[],"skipped":[],"duration":36,"root":false,"rootEmpty":false,"_timeout":2000},{"uuid":"7e99c5dd-74af-41fa-a104-1edbf95d8b4f","title":"> [Unsupported Exchange Name] Public Data API","fullFile":"/home/travis/build/ccxt-rest/ccxt-rest/test/api/controllers/exchange.js","file":"/test/api/controllers/exchange.js","beforeHooks":[],"afterHooks":[],"tests":[{"title":"> GET:/exchange/nonExistentExchangeName/markets then return 404","fullTitle":"> controllers > exchange > Given unsupported exchange name > [Unsupported Exchange Name] Public Data API > GET:/exchange/nonExistentExchangeName/markets then return 404","timedOut":false,"duration":6,"state":"passed","speed":"fast","pass":true,"fail":false,"pending":false,"code":"request(server)\n .get('/exchange/nonExistentExchangeName/markets')\n .expect('Content-Type', /json/)\n .expect(404)\n .end((err, res) => {\n should.not.exist(err);\n done();\n })","err":{},"isRoot":false,"uuid":"1d4a9a7c-7d8e-4ea1-89fe-9ca4487c57aa","isHook":false,"skipped":false},{"title":"> GET:/exchange/nonExistentExchangeName/orderBook then return 404","fullTitle":"> controllers > exchange > Given unsupported exchange name > [Unsupported Exchange Name] Public Data API > GET:/exchange/nonExistentExchangeName/orderBook then return 404","timedOut":false,"duration":10,"state":"passed","speed":"fast","pass":true,"fail":false,"pending":false,"code":"this.timeout(TIMEOUT_MS);\nrequest(server)\n .get('/exchange/nonExistentExchangeName/orderBook')\n .query({ symbol: 'BTC/ETH' })\n .set('Accept', 'application/json')\n .expect('Content-Type', /json/)\n .expect(404)\n .end((err, res) => {\n should.not.exist(err);\n done();\n })","err":{},"isRoot":false,"uuid":"54d3662a-4e8c-42e3-9ed6-07895c34cf89","isHook":false,"skipped":false},{"title":"> GET:/exchange/nonExistentExchangeName/l2OrderBook then return 404","fullTitle":"> controllers > exchange > Given unsupported exchange name > [Unsupported Exchange Name] Public Data API > GET:/exchange/nonExistentExchangeName/l2OrderBook then return 404","timedOut":false,"duration":6,"state":"passed","speed":"fast","pass":true,"fail":false,"pending":false,"code":"this.timeout(TIMEOUT_MS);\nrequest(server)\n .get('/exchange/nonExistentExchangeName/l2OrderBook')\n .query({ symbol: 'BTC/ETH' })\n .expect('Content-Type', /json/)\n .expect(404)\n .end((err, res) => {\n should.not.exist(err);\n done();\n })","err":{},"isRoot":false,"uuid":"ad4c427d-fa0c-421d-83ec-17948b141e0b","isHook":false,"skipped":false},{"title":"> GET:/exchange/nonExistentExchangeName/trades then return 404","fullTitle":"> controllers > exchange > Given unsupported exchange name > [Unsupported Exchange Name] Public Data API > GET:/exchange/nonExistentExchangeName/trades then return 404","timedOut":false,"duration":6,"state":"passed","speed":"fast","pass":true,"fail":false,"pending":false,"code":"this.timeout(TIMEOUT_MS)\nrequest(server)\n .get('/exchange/nonExistentExchangeName/trades')\n .query({ symbol: 'BTC/ETH' })\n .expect('Content-Type', /json/)\n .expect(404)\n .end((err, res) => {\n should.not.exist(err);\n done();\n })","err":{},"isRoot":false,"uuid":"d92563e2-35fd-42ac-a425-07c0fe10b131","isHook":false,"skipped":false},{"title":"> GET:/exchange/nonExistentExchangeName/ticker then return 404","fullTitle":"> controllers > exchange > Given unsupported exchange name > [Unsupported Exchange Name] Public Data API > GET:/exchange/nonExistentExchangeName/ticker then return 404","timedOut":false,"duration":7,"state":"passed","speed":"fast","pass":true,"fail":false,"pending":false,"code":"this.timeout(TIMEOUT_MS)\nrequest(server)\n .get('/exchange/nonExistentExchangeName/ticker')\n .query({ symbol: 'BTC/ETH' })\n .expect('Content-Type', /json/)\n .expect(404)\n .end((err, res) => {\n should.not.exist(err);\n done();\n })","err":{},"isRoot":false,"uuid":"2aae1374-57e7-4567-bbda-8c75a520d086","isHook":false,"skipped":false},{"title":"> GET:/exchange/nonExistentExchangeName/tickers then return 404","fullTitle":"> controllers > exchange > Given unsupported exchange name > [Unsupported Exchange Name] Public Data API > GET:/exchange/nonExistentExchangeName/tickers then return 404","timedOut":false,"duration":7,"state":"passed","speed":"fast","pass":true,"fail":false,"pending":false,"code":"this.timeout(TIMEOUT_MS)\nrequest(server)\n .get('/exchange/nonExistentExchangeName/tickers')\n .expect('Content-Type', /json/)\n .expect(404)\n .end((err, res) => {\n should.not.exist(err);\n done();\n })","err":{},"isRoot":false,"uuid":"2e46df87-c289-4c07-b902-cf8888edd21f","isHook":false,"skipped":false},{"title":"> POST:/exchange/nonExistentExchangeName/_/loadMarkets then return 404","fullTitle":"> controllers > exchange > Given unsupported exchange name > [Unsupported Exchange Name] Public Data API > POST:/exchange/nonExistentExchangeName/_/loadMarkets then return 404","timedOut":false,"duration":8,"state":"passed","speed":"fast","pass":true,"fail":false,"pending":false,"code":"this.timeout(TIMEOUT_MS)\nrequest(server)\n .post('/exchange/nonExistentExchangeName/_/loadMarkets')\n .type('text')\n .send(JSON.stringify([true]))\n .set('Accept', 'application/json')\n .expect(404)\n .end((err, res) => {\n should.not.exist(err);\n done();\n })","err":{},"isRoot":false,"uuid":"0e6fbf7f-5ca8-478d-a388-e6055e54e748","isHook":false,"skipped":false}],"suites":[],"passes":["1d4a9a7c-7d8e-4ea1-89fe-9ca4487c57aa","54d3662a-4e8c-42e3-9ed6-07895c34cf89","ad4c427d-fa0c-421d-83ec-17948b141e0b","d92563e2-35fd-42ac-a425-07c0fe10b131","2aae1374-57e7-4567-bbda-8c75a520d086","2e46df87-c289-4c07-b902-cf8888edd21f","0e6fbf7f-5ca8-478d-a388-e6055e54e748"],"failures":[],"pending":[],"skipped":[],"duration":50,"root":false,"rootEmpty":false,"_timeout":2000},{"uuid":"3de01d22-e8ea-428e-8691-fbfed2b6a94e","title":"> [Unsupported Exchange Name] Private Data APIs","fullFile":"/home/travis/build/ccxt-rest/ccxt-rest/test/api/controllers/exchange.js","file":"/test/api/controllers/exchange.js","beforeHooks":[],"afterHooks":[],"tests":[{"title":"> GET:/exchange/nonExistentExchangeName/balances then return 404","fullTitle":"> controllers > exchange > Given unsupported exchange name > [Unsupported Exchange Name] Private Data APIs > GET:/exchange/nonExistentExchangeName/balances then return 404","timedOut":false,"duration":5,"state":"passed","speed":"fast","pass":true,"fail":false,"pending":false,"code":"this.timeout(TIMEOUT_MS)\nrequest(server)\n .get('/exchange/nonExistentExchangeName/balances')\n .expect('Content-Type', /json/)\n .expect(404)\n .end((err, res) => {\n should.not.exist(err);\n done();\n })","err":{},"isRoot":false,"uuid":"191910a9-23b8-471f-822d-42e1013dc929","isHook":false,"skipped":false},{"title":"> [Unsupported Exchange Name] Place order then return 404","fullTitle":"> controllers > exchange > Given unsupported exchange name > [Unsupported Exchange Name] Private Data APIs > [Unsupported Exchange Name] Place order then return 404","timedOut":false,"duration":6,"state":"passed","speed":"fast","pass":true,"fail":false,"pending":false,"code":"request(server)\n .post('/exchange/nonExistentExchangeName/order')\n .send({ symbol: 'BTC/ETH', type: 'limit', side: 'buy', amount:0, price:0 })\n .set('Accept', 'application/json')\n .expect('Content-Type', /json/)\n .expect(404)\n .end((err, res) => {\n should.not.exist(err);\n done();\n })","err":{},"isRoot":false,"uuid":"0f57ca63-54df-4bb0-a0e8-996c00c16770","isHook":false,"skipped":false},{"title":"> [Unsupported Exchange Name] Cancel order then return 404","fullTitle":"> controllers > exchange > Given unsupported exchange name > [Unsupported Exchange Name] Private Data APIs > [Unsupported Exchange Name] Cancel order then return 404","timedOut":false,"duration":11,"state":"passed","speed":"fast","pass":true,"fail":false,"pending":false,"code":"request(server)\n .delete('/exchange/nonExistentExchangeName/order/dummy')\n .query({symbol : 'BTC/ETH'})\n .expect('Content-Type', /json/)\n .expect(404)\n .end((err, res) => {\n should.not.exist(err);\n done();\n })","err":{},"isRoot":false,"uuid":"fb431d32-e5a9-4587-af05-5539bc407e42","isHook":false,"skipped":false},{"title":"> [Unsupported Exchange Name] Get order then return 404","fullTitle":"> controllers > exchange > Given unsupported exchange name > [Unsupported Exchange Name] Private Data APIs > [Unsupported Exchange Name] Get order then return 404","timedOut":false,"duration":14,"state":"passed","speed":"fast","pass":true,"fail":false,"pending":false,"code":"this.timeout(TIMEOUT_MS)\nrequest(server)\n .get('/exchange/nonExistentExchangeName/order/dummy')\n .query({symbol : 'BTC/ETH'})\n .expect('Content-Type', /json/)\n .expect(404)\n .end((err, res) => {\n should.not.exist(err);\n done();\n })","err":{},"isRoot":false,"uuid":"744ce32c-6c7f-4f91-a950-49225f60c66f","isHook":false,"skipped":false},{"title":"> [Unsupported Exchange Name] Get orders then return 404","fullTitle":"> controllers > exchange > Given unsupported exchange name > [Unsupported Exchange Name] Private Data APIs > [Unsupported Exchange Name] Get orders then return 404","timedOut":false,"duration":15,"state":"passed","speed":"fast","pass":true,"fail":false,"pending":false,"code":"this.timeout(TIMEOUT_MS)\nrequest(server)\n .get('/exchange/nonExistentExchangeName/orders')\n .query({symbol : 'BTC/ETH'})\n .expect('Content-Type', /json/)\n .expect(404)\n .end((err, res) => {\n should.not.exist(err);\n done();\n })","err":{},"isRoot":false,"uuid":"06182686-28b5-4708-9416-41d0707256e0","isHook":false,"skipped":false},{"title":"> [Unsupported Exchange Name] Get open orders then return 404","fullTitle":"> controllers > exchange > Given unsupported exchange name > [Unsupported Exchange Name] Private Data APIs > [Unsupported Exchange Name] Get open orders then return 404","timedOut":false,"duration":14,"state":"passed","speed":"fast","pass":true,"fail":false,"pending":false,"code":"this.timeout(TIMEOUT_MS)\nrequest(server)\n .get('/exchange/nonExistentExchangeName/orders/open')\n .query({symbol : 'BTC/ETH'})\n .expect('Content-Type', /json/)\n .expect(404)\n .end((err, res) => {\n should.not.exist(err);\n done();\n })","err":{},"isRoot":false,"uuid":"076bf631-500b-4fb7-99c3-b258ca1fad1f","isHook":false,"skipped":false},{"title":"> [Unsupported Exchange Name] Get closed orders then return 404","fullTitle":"> controllers > exchange > Given unsupported exchange name > [Unsupported Exchange Name] Private Data APIs > [Unsupported Exchange Name] Get closed orders then return 404","timedOut":false,"duration":6,"state":"passed","speed":"fast","pass":true,"fail":false,"pending":false,"code":"this.timeout(TIMEOUT_MS)\nrequest(server)\n .get('/exchange/nonExistentExchangeName/orders/closed')\n .query({symbol : 'BTC/ETH'})\n .expect('Content-Type', /json/)\n .expect(404)\n .end((err, res) => {\n should.not.exist(err);\n done();\n })","err":{},"isRoot":false,"uuid":"149474ab-609d-4e53-a62e-9b6d4dbc23de","isHook":false,"skipped":false},{"title":"> [Unsupported Exchange Name] Get my trades then return 404","fullTitle":"> controllers > exchange > Given unsupported exchange name > [Unsupported Exchange Name] Private Data APIs > [Unsupported Exchange Name] Get my trades then return 404","timedOut":false,"duration":6,"state":"passed","speed":"fast","pass":true,"fail":false,"pending":false,"code":"this.timeout(TIMEOUT_MS)\nrequest(server)\n .get('/exchange/nonExistentExchangeName/trades/mine')\n .query({symbol : 'BTC/ETH'})\n .expect('Content-Type', /json/)\n .expect(404)\n .end((err, res) => {\n should.not.exist(err);\n done();\n })","err":{},"isRoot":false,"uuid":"1bdcdf47-8275-4141-8a98-928b6dd09982","isHook":false,"skipped":false}],"suites":[],"passes":["191910a9-23b8-471f-822d-42e1013dc929","0f57ca63-54df-4bb0-a0e8-996c00c16770","fb431d32-e5a9-4587-af05-5539bc407e42","744ce32c-6c7f-4f91-a950-49225f60c66f","06182686-28b5-4708-9416-41d0707256e0","076bf631-500b-4fb7-99c3-b258ca1fad1f","149474ab-609d-4e53-a62e-9b6d4dbc23de","1bdcdf47-8275-4141-8a98-928b6dd09982"],"failures":[],"pending":[],"skipped":[],"duration":77,"root":false,"rootEmpty":false,"_timeout":2000}],"passes":[],"failures":[],"pending":[],"skipped":[],"duration":0,"root":false,"rootEmpty":false,"_timeout":2000}],"passes":[],"failures":[],"pending":[],"skipped":[],"duration":0,"root":false,"rootEmpty":false,"_timeout":2000}],"passes":[],"failures":[],"pending":[],"skipped":[],"duration":0,"root":false,"rootEmpty":false,"_timeout":2000}],"passes":[],"failures":[],"pending":[],"skipped":[],"duration":0,"root":true,"rootEmpty":true,"_timeout":2000},"copyrightYear":2020}" data-config="{"reportFilename":"mochawesome","reportDir":"./out/mochawesome-report","reportTitle":"CCXT-REST Test Results","reportPageTitle":"CCXT-REST Test Results","inline":false,"inlineAssets":false,"cdn":false,"charts":true,"enableCharts":true,"code":true,"enableCode":true,"autoOpen":false,"overwrite":true,"timestamp":false,"ts":false,"showPassed":true,"showFailed":true,"showPending":true,"showSkipped":false,"showHooks":"failed","saveJson":true,"saveHtml":true,"dev":false,"assetsDir":"out/mochawesome-report/assets","jsonFile":"/home/travis/build/ccxt-rest/ccxt-rest/out/mochawesome-report/mochawesome.json","htmlFile":"/home/travis/build/ccxt-rest/ccxt-rest/out/mochawesome-report/mochawesome.html"}"><div id="report"></div><script src="assets/app.js"></script></body></html>