diff options
author | Chocobozzz <me@florianbigard.com> | 2021-07-08 10:23:21 +0200 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2021-07-20 15:27:17 +0200 |
commit | d897210c2db1ca2acc1e7b28a13127647ab2222c (patch) | |
tree | d36bcc0d17f1ff3c787beb395175e7a20d36e449 | |
parent | 4f2199144e428c16460750305f737b890c1ac322 (diff) | |
download | PeerTube-d897210c2db1ca2acc1e7b28a13127647ab2222c.tar.gz PeerTube-d897210c2db1ca2acc1e7b28a13127647ab2222c.tar.zst PeerTube-d897210c2db1ca2acc1e7b28a13127647ab2222c.zip |
Introduce services command
-rw-r--r-- | server/tests/api/server/services.ts | 7 | ||||
-rw-r--r-- | shared/extra-utils/server/servers.ts | 4 | ||||
-rw-r--r-- | shared/extra-utils/videos/index.ts | 2 | ||||
-rw-r--r-- | shared/extra-utils/videos/services-command.ts | 28 | ||||
-rw-r--r-- | shared/extra-utils/videos/services.ts | 24 |
5 files changed, 35 insertions, 30 deletions
diff --git a/server/tests/api/server/services.ts b/server/tests/api/server/services.ts index ea64e4040..0adf6b667 100644 --- a/server/tests/api/server/services.ts +++ b/server/tests/api/server/services.ts | |||
@@ -6,7 +6,6 @@ import { Video, VideoPlaylistPrivacy } from '@shared/models' | |||
6 | import { | 6 | import { |
7 | addVideoInPlaylist, | 7 | addVideoInPlaylist, |
8 | createVideoPlaylist, | 8 | createVideoPlaylist, |
9 | getOEmbed, | ||
10 | getVideosList, | 9 | getVideosList, |
11 | ServerInfo, | 10 | ServerInfo, |
12 | setAccessTokensToServers, | 11 | setAccessTokensToServers, |
@@ -70,7 +69,7 @@ describe('Test services', function () { | |||
70 | for (const basePath of [ '/videos/watch/', '/w/' ]) { | 69 | for (const basePath of [ '/videos/watch/', '/w/' ]) { |
71 | const oembedUrl = 'http://localhost:' + server.port + basePath + video.uuid | 70 | const oembedUrl = 'http://localhost:' + server.port + basePath + video.uuid |
72 | 71 | ||
73 | const res = await getOEmbed(server.url, oembedUrl) | 72 | const res = await server.servicesCommand.getOEmbed({ oembedUrl }) |
74 | const expectedHtml = '<iframe width="560" height="315" sandbox="allow-same-origin allow-scripts" ' + | 73 | const expectedHtml = '<iframe width="560" height="315" sandbox="allow-same-origin allow-scripts" ' + |
75 | `title="${video.name}" src="http://localhost:${server.port}/videos/embed/${video.uuid}" ` + | 74 | `title="${video.name}" src="http://localhost:${server.port}/videos/embed/${video.uuid}" ` + |
76 | 'frameborder="0" allowfullscreen></iframe>' | 75 | 'frameborder="0" allowfullscreen></iframe>' |
@@ -91,7 +90,7 @@ describe('Test services', function () { | |||
91 | for (const basePath of [ '/videos/watch/playlist/', '/w/p/' ]) { | 90 | for (const basePath of [ '/videos/watch/playlist/', '/w/p/' ]) { |
92 | const oembedUrl = 'http://localhost:' + server.port + basePath + playlistUUID | 91 | const oembedUrl = 'http://localhost:' + server.port + basePath + playlistUUID |
93 | 92 | ||
94 | const res = await getOEmbed(server.url, oembedUrl) | 93 | const res = await server.servicesCommand.getOEmbed({ oembedUrl }) |
95 | const expectedHtml = '<iframe width="560" height="315" sandbox="allow-same-origin allow-scripts" ' + | 94 | const expectedHtml = '<iframe width="560" height="315" sandbox="allow-same-origin allow-scripts" ' + |
96 | `title="${playlistDisplayName}" src="http://localhost:${server.port}/video-playlists/embed/${playlistUUID}" ` + | 95 | `title="${playlistDisplayName}" src="http://localhost:${server.port}/video-playlists/embed/${playlistUUID}" ` + |
97 | 'frameborder="0" allowfullscreen></iframe>' | 96 | 'frameborder="0" allowfullscreen></iframe>' |
@@ -114,7 +113,7 @@ describe('Test services', function () { | |||
114 | const maxHeight = 50 | 113 | const maxHeight = 50 |
115 | const maxWidth = 50 | 114 | const maxWidth = 50 |
116 | 115 | ||
117 | const res = await getOEmbed(server.url, oembedUrl, format, maxHeight, maxWidth) | 116 | const res = await server.servicesCommand.getOEmbed({ oembedUrl, format, maxHeight, maxWidth }) |
118 | const expectedHtml = '<iframe width="50" height="50" sandbox="allow-same-origin allow-scripts" ' + | 117 | const expectedHtml = '<iframe width="50" height="50" sandbox="allow-same-origin allow-scripts" ' + |
119 | `title="${video.name}" src="http://localhost:${server.port}/videos/embed/${video.uuid}" ` + | 118 | `title="${video.name}" src="http://localhost:${server.port}/videos/embed/${video.uuid}" ` + |
120 | 'frameborder="0" allowfullscreen></iframe>' | 119 | 'frameborder="0" allowfullscreen></iframe>' |
diff --git a/shared/extra-utils/server/servers.ts b/shared/extra-utils/server/servers.ts index eca0689aa..cb2a8814b 100644 --- a/shared/extra-utils/server/servers.ts +++ b/shared/extra-utils/server/servers.ts | |||
@@ -18,7 +18,7 @@ import { makeGetRequest } from '../requests/requests' | |||
18 | import { SearchCommand } from '../search' | 18 | import { SearchCommand } from '../search' |
19 | import { SocketIOCommand } from '../socket' | 19 | import { SocketIOCommand } from '../socket' |
20 | import { AccountsCommand, BlocklistCommand, SubscriptionsCommand } from '../users' | 20 | import { AccountsCommand, BlocklistCommand, SubscriptionsCommand } from '../users' |
21 | import { LiveCommand } from '../videos' | 21 | import { LiveCommand, ServicesCommand } from '../videos' |
22 | import { ConfigCommand } from './config-command' | 22 | import { ConfigCommand } from './config-command' |
23 | import { ContactFormCommand } from './contact-form-command' | 23 | import { ContactFormCommand } from './contact-form-command' |
24 | import { DebugCommand } from './debug-command' | 24 | import { DebugCommand } from './debug-command' |
@@ -101,6 +101,7 @@ interface ServerInfo { | |||
101 | blocklistCommand?: BlocklistCommand | 101 | blocklistCommand?: BlocklistCommand |
102 | subscriptionsCommand?: SubscriptionsCommand | 102 | subscriptionsCommand?: SubscriptionsCommand |
103 | liveCommand?: LiveCommand | 103 | liveCommand?: LiveCommand |
104 | servicesCommand?: ServicesCommand | ||
104 | } | 105 | } |
105 | 106 | ||
106 | function parallelTests () { | 107 | function parallelTests () { |
@@ -327,6 +328,7 @@ async function runServer (server: ServerInfo, configOverrideArg?: any, args = [] | |||
327 | server.blocklistCommand = new BlocklistCommand(server) | 328 | server.blocklistCommand = new BlocklistCommand(server) |
328 | server.subscriptionsCommand = new SubscriptionsCommand(server) | 329 | server.subscriptionsCommand = new SubscriptionsCommand(server) |
329 | server.liveCommand = new LiveCommand(server) | 330 | server.liveCommand = new LiveCommand(server) |
331 | server.servicesCommand = new ServicesCommand(server) | ||
330 | 332 | ||
331 | res(server) | 333 | res(server) |
332 | }) | 334 | }) |
diff --git a/shared/extra-utils/videos/index.ts b/shared/extra-utils/videos/index.ts index c9c884285..fe5dc6655 100644 --- a/shared/extra-utils/videos/index.ts +++ b/shared/extra-utils/videos/index.ts | |||
@@ -1,6 +1,6 @@ | |||
1 | export * from './live-command' | 1 | export * from './live-command' |
2 | export * from './live' | 2 | export * from './live' |
3 | export * from './services' | 3 | export * from './services-command' |
4 | export * from './video-blacklist' | 4 | export * from './video-blacklist' |
5 | export * from './video-captions' | 5 | export * from './video-captions' |
6 | export * from './video-change-ownership' | 6 | export * from './video-change-ownership' |
diff --git a/shared/extra-utils/videos/services-command.ts b/shared/extra-utils/videos/services-command.ts new file mode 100644 index 000000000..3b618ef66 --- /dev/null +++ b/shared/extra-utils/videos/services-command.ts | |||
@@ -0,0 +1,28 @@ | |||
1 | import { HttpStatusCode } from '../../core-utils/miscs/http-error-codes' | ||
2 | import { AbstractCommand, OverrideCommandOptions } from '../shared' | ||
3 | |||
4 | export class ServicesCommand extends AbstractCommand { | ||
5 | |||
6 | getOEmbed (options: OverrideCommandOptions & { | ||
7 | oembedUrl: string | ||
8 | format?: string | ||
9 | maxHeight?: number | ||
10 | maxWidth?: number | ||
11 | }) { | ||
12 | const path = '/services/oembed' | ||
13 | const query = { | ||
14 | url: options.oembedUrl, | ||
15 | format: options.format, | ||
16 | maxheight: options.maxHeight, | ||
17 | maxwidth: options.maxWidth | ||
18 | } | ||
19 | |||
20 | return this.getRequest({ | ||
21 | ...options, | ||
22 | |||
23 | path, | ||
24 | query, | ||
25 | defaultExpectedStatus: HttpStatusCode.OK_200 | ||
26 | }) | ||
27 | } | ||
28 | } | ||
diff --git a/shared/extra-utils/videos/services.ts b/shared/extra-utils/videos/services.ts deleted file mode 100644 index e13a788bd..000000000 --- a/shared/extra-utils/videos/services.ts +++ /dev/null | |||
@@ -1,24 +0,0 @@ | |||
1 | import * as request from 'supertest' | ||
2 | import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes' | ||
3 | |||
4 | function getOEmbed (url: string, oembedUrl: string, format?: string, maxHeight?: number, maxWidth?: number) { | ||
5 | const path = '/services/oembed' | ||
6 | const query = { | ||
7 | url: oembedUrl, | ||
8 | format, | ||
9 | maxheight: maxHeight, | ||
10 | maxwidth: maxWidth | ||
11 | } | ||
12 | |||
13 | return request(url) | ||
14 | .get(path) | ||
15 | .query(query) | ||
16 | .set('Accept', 'application/json') | ||
17 | .expect(HttpStatusCode.OK_200) | ||
18 | } | ||
19 | |||
20 | // --------------------------------------------------------------------------- | ||
21 | |||
22 | export { | ||
23 | getOEmbed | ||
24 | } | ||