From 20675998437c5f5a405eff00464ddd448b44f539 Mon Sep 17 00:00:00 2001 From: Joe Dowd Date: Mon, 31 Aug 2020 03:27:12 +0100 Subject: [PATCH] added test for hash prefix length --- src/utils/hashPrefixTester.js | 1 - test/cases/getSegmentsByHash.js | 42 +++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) diff --git a/src/utils/hashPrefixTester.js b/src/utils/hashPrefixTester.js index 0a6639e..f5aec61 100644 --- a/src/utils/hashPrefixTester.js +++ b/src/utils/hashPrefixTester.js @@ -1,5 +1,4 @@ const config = require('../config.js'); -const logger = require('./logger.js'); const minimumPrefix = config.minimumPrefix || '3'; const maximumPrefix = config.maximumPrefix || '32'; // Half the hash. diff --git a/test/cases/getSegmentsByHash.js b/test/cases/getSegmentsByHash.js index 191b58a..1084ee3 100644 --- a/test/cases/getSegmentsByHash.js +++ b/test/cases/getSegmentsByHash.js @@ -58,6 +58,48 @@ describe('getSegmentsByHash', () => { }); }); + it('Should return 400 prefix too short', (done) => { + request.get(utils.getbaseURL() + + '/api/skipSegments/11?categories=["shilling"]', null, + (err, res, body) => { + if (err) done("Couldn't call endpoint"); + else if (res.statusCode !== 400) done("non 400 status code, was " + res.statusCode); + else { + done(); // pass + } + }); + }); + + it('Should return 400 prefix too long', (done) => { + let prefix = new Array(50).join('1'); + if (prefix.length <= 32) { // default value, config can change this + done('failed to generate a long enough string for the test ' + prefix.length); + return; + } + + request.get(utils.getbaseURL() + + '/api/skipSegments/'+prefix+'?categories=["shilling"]', null, + (err, res, body) => { + if (err) done("Couldn't call endpoint"); + else if (res.statusCode !== 400) done("non 400 status code, was " + res.statusCode); + else { + done(); // pass + } + }); + }); + + it('Should not return 400 prefix in range', (done) => { + request.get(utils.getbaseURL() + + '/api/skipSegments/11111?categories=["shilling"]', null, + (err, res, body) => { + if (err) done("Couldn't call endpoint"); + else if (res.statusCode === 400) done("prefix length 5 gave 400 " + res.statusCode); + else { + done(); // pass + } + }); + }); + it('Should be able to get multiple videos', (done) => { request.get(utils.getbaseURL() + '/api/skipSegments/fdaf?categories=["sponsor","intro"]', null,