Verified Commit d897210c authored by Chocobozzz's avatar Chocobozzz
Browse files

Introduce services command

parent 4f219914
......@@ -6,7 +6,6 @@ import { Video, VideoPlaylistPrivacy } from '@shared/models'
import {
addVideoInPlaylist,
createVideoPlaylist,
getOEmbed,
getVideosList,
ServerInfo,
setAccessTokensToServers,
......@@ -70,7 +69,7 @@ describe('Test services', function () {
for (const basePath of [ '/videos/watch/', '/w/' ]) {
const oembedUrl = 'http://localhost:' + server.port + basePath + video.uuid
const res = await getOEmbed(server.url, oembedUrl)
const res = await server.servicesCommand.getOEmbed({ oembedUrl })
const expectedHtml = '<iframe width="560" height="315" sandbox="allow-same-origin allow-scripts" ' +
`title="${video.name}" src="http://localhost:${server.port}/videos/embed/${video.uuid}" ` +
'frameborder="0" allowfullscreen></iframe>'
......@@ -91,7 +90,7 @@ describe('Test services', function () {
for (const basePath of [ '/videos/watch/playlist/', '/w/p/' ]) {
const oembedUrl = 'http://localhost:' + server.port + basePath + playlistUUID
const res = await getOEmbed(server.url, oembedUrl)
const res = await server.servicesCommand.getOEmbed({ oembedUrl })
const expectedHtml = '<iframe width="560" height="315" sandbox="allow-same-origin allow-scripts" ' +
`title="${playlistDisplayName}" src="http://localhost:${server.port}/video-playlists/embed/${playlistUUID}" ` +
'frameborder="0" allowfullscreen></iframe>'
......@@ -114,7 +113,7 @@ describe('Test services', function () {
const maxHeight = 50
const maxWidth = 50
const res = await getOEmbed(server.url, oembedUrl, format, maxHeight, maxWidth)
const res = await server.servicesCommand.getOEmbed({ oembedUrl, format, maxHeight, maxWidth })
const expectedHtml = '<iframe width="50" height="50" sandbox="allow-same-origin allow-scripts" ' +
`title="${video.name}" src="http://localhost:${server.port}/videos/embed/${video.uuid}" ` +
'frameborder="0" allowfullscreen></iframe>'
......
......@@ -18,7 +18,7 @@ import { makeGetRequest } from '../requests/requests'
import { SearchCommand } from '../search'
import { SocketIOCommand } from '../socket'
import { AccountsCommand, BlocklistCommand, SubscriptionsCommand } from '../users'
import { LiveCommand } from '../videos'
import { LiveCommand, ServicesCommand } from '../videos'
import { ConfigCommand } from './config-command'
import { ContactFormCommand } from './contact-form-command'
import { DebugCommand } from './debug-command'
......@@ -101,6 +101,7 @@ interface ServerInfo {
blocklistCommand?: BlocklistCommand
subscriptionsCommand?: SubscriptionsCommand
liveCommand?: LiveCommand
servicesCommand?: ServicesCommand
}
function parallelTests () {
......@@ -327,6 +328,7 @@ async function runServer (server: ServerInfo, configOverrideArg?: any, args = []
server.blocklistCommand = new BlocklistCommand(server)
server.subscriptionsCommand = new SubscriptionsCommand(server)
server.liveCommand = new LiveCommand(server)
server.servicesCommand = new ServicesCommand(server)
res(server)
})
......
export * from './live-command'
export * from './live'
export * from './services'
export * from './services-command'
export * from './video-blacklist'
export * from './video-captions'
export * from './video-change-ownership'
......
import { HttpStatusCode } from '../../core-utils/miscs/http-error-codes'
import { AbstractCommand, OverrideCommandOptions } from '../shared'
export class ServicesCommand extends AbstractCommand {
getOEmbed (options: OverrideCommandOptions & {
oembedUrl: string
format?: string
maxHeight?: number
maxWidth?: number
}) {
const path = '/services/oembed'
const query = {
url: options.oembedUrl,
format: options.format,
maxheight: options.maxHeight,
maxwidth: options.maxWidth
}
return this.getRequest({
...options,
path,
query,
defaultExpectedStatus: HttpStatusCode.OK_200
})
}
}
import * as request from 'supertest'
import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes'
function getOEmbed (url: string, oembedUrl: string, format?: string, maxHeight?: number, maxWidth?: number) {
const path = '/services/oembed'
const query = {
url: oembedUrl,
format,
maxheight: maxHeight,
maxwidth: maxWidth
}
return request(url)
.get(path)
.query(query)
.set('Accept', 'application/json')
.expect(HttpStatusCode.OK_200)
}
// ---------------------------------------------------------------------------
export {
getOEmbed
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment