aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/tests
diff options
context:
space:
mode:
authorChocobozzz <me@florianbigard.com>2018-11-30 15:06:06 +0100
committerChocobozzz <me@florianbigard.com>2018-11-30 15:06:36 +0100
commit1a8dd4da77468068d1ff7f7bd67f76399ae04e04 (patch)
tree430e92852055117af2a274ce7c6a92ee9f037f0a /server/tests
parentd7ea359d366f0caaf1efff2b727dd736c1301ddf (diff)
downloadPeerTube-1a8dd4da77468068d1ff7f7bd67f76399ae04e04.tar.gz
PeerTube-1a8dd4da77468068d1ff7f7bd67f76399ae04e04.tar.zst
PeerTube-1a8dd4da77468068d1ff7f7bd67f76399ae04e04.zip
Fix AP redirection
Diffstat (limited to 'server/tests')
-rw-r--r--server/tests/api/activitypub/client.ts44
-rw-r--r--server/tests/utils/server/activitypub.ts5
2 files changed, 40 insertions, 9 deletions
diff --git a/server/tests/api/activitypub/client.ts b/server/tests/api/activitypub/client.ts
index 5ca8bdfd3..ea0682634 100644
--- a/server/tests/api/activitypub/client.ts
+++ b/server/tests/api/activitypub/client.ts
@@ -2,25 +2,42 @@
2 2
3import * as chai from 'chai' 3import * as chai from 'chai'
4import 'mocha' 4import 'mocha'
5import { flushTests, killallServers, makeActivityPubGetRequest, runServer, ServerInfo, setAccessTokensToServers } from '../../utils' 5import {
6 doubleFollow,
7 flushAndRunMultipleServers,
8 flushTests,
9 killallServers,
10 makeActivityPubGetRequest,
11 runServer,
12 ServerInfo,
13 setAccessTokensToServers, uploadVideo
14} from '../../utils'
6 15
7const expect = chai.expect 16const expect = chai.expect
8 17
9describe('Test activitypub', function () { 18describe('Test activitypub', function () {
10 let server: ServerInfo = null 19 let servers: ServerInfo[] = []
20 let videoUUID: string
11 21
12 before(async function () { 22 before(async function () {
13 this.timeout(30000) 23 this.timeout(30000)
14 24
15 await flushTests() 25 await flushTests()
16 26
17 server = await runServer(1) 27 servers = await flushAndRunMultipleServers(2)
18 28
19 await setAccessTokensToServers([ server ]) 29 await setAccessTokensToServers(servers)
30
31 {
32 const res = await uploadVideo(servers[0].url, servers[0].accessToken, { name: 'video' })
33 videoUUID = res.body.video.uuid
34 }
35
36 await doubleFollow(servers[0], servers[1])
20 }) 37 })
21 38
22 it('Should return the account object', async function () { 39 it('Should return the account object', async function () {
23 const res = await makeActivityPubGetRequest(server.url, '/accounts/root') 40 const res = await makeActivityPubGetRequest(servers[0].url, '/accounts/root')
24 const object = res.body 41 const object = res.body
25 42
26 expect(object.type).to.equal('Person') 43 expect(object.type).to.equal('Person')
@@ -29,7 +46,22 @@ describe('Test activitypub', function () {
29 expect(object.preferredUsername).to.equal('root') 46 expect(object.preferredUsername).to.equal('root')
30 }) 47 })
31 48
49 it('Should return the video object', async function () {
50 const res = await makeActivityPubGetRequest(servers[0].url, '/videos/watch/' + videoUUID)
51 const object = res.body
52
53 expect(object.type).to.equal('Video')
54 expect(object.id).to.equal('http://localhost:9001/videos/watch/' + videoUUID)
55 expect(object.name).to.equal('video')
56 })
57
58 it('Should redirect to the origin video object', async function () {
59 const res = await makeActivityPubGetRequest(servers[1].url, '/videos/watch/' + videoUUID, 302)
60
61 expect(res.header.location).to.equal('http://localhost:9001/videos/watch/' + videoUUID)
62 })
63
32 after(async function () { 64 after(async function () {
33 killallServers([ server ]) 65 killallServers(servers)
34 }) 66 })
35}) 67})
diff --git a/server/tests/utils/server/activitypub.ts b/server/tests/utils/server/activitypub.ts
index cf3c1c3b3..eccb198ca 100644
--- a/server/tests/utils/server/activitypub.ts
+++ b/server/tests/utils/server/activitypub.ts
@@ -1,11 +1,10 @@
1import * as request from 'supertest' 1import * as request from 'supertest'
2 2
3function makeActivityPubGetRequest (url: string, path: string) { 3function makeActivityPubGetRequest (url: string, path: string, expectedStatus = 200) {
4 return request(url) 4 return request(url)
5 .get(path) 5 .get(path)
6 .set('Accept', 'application/activity+json,text/html;q=0.9,\\*/\\*;q=0.8') 6 .set('Accept', 'application/activity+json,text/html;q=0.9,\\*/\\*;q=0.8')
7 .expect(200) 7 .expect(expectedStatus)
8 .expect('Content-Type', /json/)
9} 8}
10 9
11// --------------------------------------------------------------------------- 10// ---------------------------------------------------------------------------