From 32a18cbf33a7cdbbe3d4885d32e4b67e19cdc1cf Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 11 Mar 2021 16:54:52 +0100 Subject: Add new plugin/peertube version notifs --- .../mock-servers/joinpeertube-versions.ts | 31 ++++++++++++++++++ .../mock-servers/mock-instances-index.ts | 38 ++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 shared/extra-utils/mock-servers/joinpeertube-versions.ts create mode 100644 shared/extra-utils/mock-servers/mock-instances-index.ts (limited to 'shared/extra-utils/mock-servers') diff --git a/shared/extra-utils/mock-servers/joinpeertube-versions.ts b/shared/extra-utils/mock-servers/joinpeertube-versions.ts new file mode 100644 index 000000000..d7d5b2c49 --- /dev/null +++ b/shared/extra-utils/mock-servers/joinpeertube-versions.ts @@ -0,0 +1,31 @@ +import * as express from 'express' + +export class MockJoinPeerTubeVersions { + private latestVersion: string + + initialize () { + return new Promise(res => { + const app = express() + + app.use('/', (req: express.Request, res: express.Response, next: express.NextFunction) => { + if (process.env.DEBUG) console.log('Receiving request on mocked server %s.', req.url) + + return next() + }) + + app.get('/versions.json', (req: express.Request, res: express.Response) => { + return res.json({ + peertube: { + latestVersion: this.latestVersion + } + }) + }) + + app.listen(42102, () => res()) + }) + } + + setLatestVersion (latestVersion: string) { + this.latestVersion = latestVersion + } +} diff --git a/shared/extra-utils/mock-servers/mock-instances-index.ts b/shared/extra-utils/mock-servers/mock-instances-index.ts new file mode 100644 index 000000000..2604eda03 --- /dev/null +++ b/shared/extra-utils/mock-servers/mock-instances-index.ts @@ -0,0 +1,38 @@ +import * as express from 'express' + +export class MockInstancesIndex { + private readonly indexInstances: { host: string, createdAt: string }[] = [] + + initialize () { + return new Promise(res => { + const app = express() + + app.use('/', (req: express.Request, res: express.Response, next: express.NextFunction) => { + if (process.env.DEBUG) console.log('Receiving request on mocked server %s.', req.url) + + return next() + }) + + app.get('/api/v1/instances/hosts', (req: express.Request, res: express.Response) => { + const since = req.query.since + + const filtered = this.indexInstances.filter(i => { + if (!since) return true + + return i.createdAt > since + }) + + return res.json({ + total: filtered.length, + data: filtered + }) + }) + + app.listen(42101, () => res()) + }) + } + + addInstance (host: string) { + this.indexInstances.push({ host, createdAt: new Date().toISOString() }) + } +} -- cgit v1.2.3