]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - shared/extra-utils/users/login.ts
Add bin directory creation for parallel tests
[github/Chocobozzz/PeerTube.git] / shared / extra-utils / users / login.ts
index 4fe54a74a5f86db964b8e45b9eed532208b063db..f1df027d3263d4c1bea10f902a387698f4703e15 100644 (file)
@@ -1,66 +1,11 @@
-import * as request from 'supertest'
+import { PeerTubeServer } from '../server/server'
 
-import { ServerInfo } from '../server/servers'
-import { getClient } from '../server/clients'
-
-type Client = { id: string, secret: string }
-type User = { username: string, password: string }
-type Server = { url: string, client: Client, user: User }
-
-function login (url: string, client: Client, user: User, expectedStatus = 200) {
-  const path = '/api/v1/users/token'
-
-  const body = {
-    client_id: client.id,
-    client_secret: client.secret,
-    username: user.username,
-    password: user.password,
-    response_type: 'code',
-    grant_type: 'password',
-    scope: 'upload'
-  }
-
-  return request(url)
-          .post(path)
-          .type('form')
-          .send(body)
-          .expect(expectedStatus)
-}
-
-async function serverLogin (server: Server) {
-  const res = await login(server.url, server.client, server.user, 200)
-
-  return res.body.access_token as string
-}
-
-async function userLogin (server: Server, user: User, expectedStatus = 200) {
-  const res = await login(server.url, server.client, user, expectedStatus)
-
-  return res.body.access_token as string
-}
-
-async function getAccessToken (url: string, username: string, password: string) {
-  const resClient = await getClient(url)
-  const client = {
-    id: resClient.body.client_id,
-    secret: resClient.body.client_secret
-  }
-
-  const user = { username, password }
-
-  try {
-    const res = await login(url, client, user)
-    return res.body.access_token
-  } catch (err) {
-    throw new Error('Cannot authenticate. Please check your username/password.')
-  }
-}
-
-function setAccessTokensToServers (servers: ServerInfo[]) {
+function setAccessTokensToServers (servers: PeerTubeServer[]) {
   const tasks: Promise<any>[] = []
 
   for (const server of servers) {
-    const p = serverLogin(server).then(t => { server.accessToken = t })
+    const p = server.login.getAccessToken()
+                                 .then(t => { server.accessToken = t })
     tasks.push(p)
   }
 
@@ -70,12 +15,5 @@ function setAccessTokensToServers (servers: ServerInfo[]) {
 // ---------------------------------------------------------------------------
 
 export {
-  login,
-  serverLogin,
-  userLogin,
-  getAccessToken,
-  setAccessTokensToServers,
-  Server,
-  Client,
-  User
+  setAccessTokensToServers
 }