diff --git a/lib/token-pool.js b/lib/token-pool.js index cd22a6ec2c4ea..ff1f37eaec2dc 100644 --- a/lib/token-pool.js +++ b/lib/token-pool.js @@ -234,6 +234,12 @@ class TokenPool { this.fifoQueue.forEach(visit) this.priorityQueue.forEach(visit) } + + allValidTokenIds() { + const result = [] + this.forEach(({ id }) => result.push(id)) + return result + } } module.exports = { diff --git a/lib/token-pool.spec.js b/lib/token-pool.spec.js index 9a2df2d9ca60c..b9b9ccc1cce2e 100644 --- a/lib/token-pool.spec.js +++ b/lib/token-pool.spec.js @@ -22,6 +22,10 @@ describe('The token pool', function() { ids.forEach(id => tokenPool.add(id)) }) + it('allValidTokenIds() should return the full list', function() { + expect(tokenPool.allValidTokenIds()).to.deep.equal(ids) + }) + it('should yield the expected tokens', function() { ids.forEach(id => times(batchSize, () => expect(tokenPool.next().id).to.equal(id)) diff --git a/lib/token-provider.js b/lib/token-provider.js index 46a06aa1cc44b..6a3667d437e7b 100644 --- a/lib/token-provider.js +++ b/lib/token-provider.js @@ -57,13 +57,7 @@ class PoolingTokenProvider { // Return an array of token strings. toNative() { - const result = [] - - this.tokenPool.forEach(token => { - result.push(token.id) - }) - - return result + return this.tokenPool.allValidTokenIds() } } diff --git a/lib/token-provider.spec.js b/lib/token-provider.spec.js index 606042667de87..de3efca050226 100644 --- a/lib/token-provider.spec.js +++ b/lib/token-provider.spec.js @@ -2,7 +2,7 @@ const assert = require('assert') const { PoolingTokenProvider } = require('./token-provider') -const isValidGithubToken = require('./github-auth/is-valid-token') +const isValidGithubToken = require('../services/github/auth/is-valid-token') describe('The token provider', function() { describe('toNative', function() { diff --git a/server.js b/server.js index bb3a29f201ccd..a2da7d7a111a7 100644 --- a/server.js +++ b/server.js @@ -3190,10 +3190,10 @@ cache(function(data, match, sendBadge, request) { var allReleases = match[2]; var format = match[3]; let apiUrl = `/repos/${userRepo}/releases`; - var badgeData = getBadgeData('release', data); if (allReleases === undefined) { apiUrl = apiUrl + '/latest'; } + var badgeData = getBadgeData('release', data); if (badgeData.template === 'social') { badgeData.logo = getLogo('github', data); } diff --git a/lib/github-auth/is-valid-token.js b/services/github/auth/is-valid-token.js similarity index 100% rename from lib/github-auth/is-valid-token.js rename to services/github/auth/is-valid-token.js