mirror of https://github.com/Chocobozzz/PeerTube
Merge branch '3520-cli_auth_add_trailing_slash' into release/3.0.0
commit
6eb3a98843
|
@ -66,6 +66,18 @@ describe('Test CLI wrapper', function () {
|
||||||
await execCLI(`${env} ${cmd} auth add -u ${server.url} -U user_1 -p super_password`)
|
await execCLI(`${env} ${cmd} auth add -u ${server.url} -U user_1 -p super_password`)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('Should not fail to add a user if there is a slash at the end of the instance URL', async function () {
|
||||||
|
this.timeout(60000)
|
||||||
|
|
||||||
|
const env = getEnvCli(server)
|
||||||
|
let fullServerURL
|
||||||
|
fullServerURL = server.url + '/'
|
||||||
|
await execCLI(`${env} ${cmd} auth add -u ${fullServerURL} -U user_1 -p super_password`)
|
||||||
|
|
||||||
|
fullServerURL = server.url + '/asdfasdf'
|
||||||
|
await execCLI(`${env} ${cmd} auth add -u ${fullServerURL} -U user_1 -p super_password`)
|
||||||
|
})
|
||||||
|
|
||||||
it('Should default to this user', async function () {
|
it('Should default to this user', async function () {
|
||||||
this.timeout(60000)
|
this.timeout(60000)
|
||||||
|
|
||||||
|
|
|
@ -46,6 +46,15 @@ function isURLaPeerTubeInstance (url: string) {
|
||||||
return url.startsWith('http://') || url.startsWith('https://')
|
return url.startsWith('http://') || url.startsWith('https://')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function stripExtraneousFromPeerTubeUrl (url: string) {
|
||||||
|
// Get everything before the 3rd /.
|
||||||
|
const urlLength = url.includes('/', 8)
|
||||||
|
? url.indexOf('/', 8)
|
||||||
|
: url.length
|
||||||
|
|
||||||
|
return url.substr(0, urlLength)
|
||||||
|
}
|
||||||
|
|
||||||
program
|
program
|
||||||
.name('auth')
|
.name('auth')
|
||||||
.usage('[command] [options]')
|
.usage('[command] [options]')
|
||||||
|
@ -80,8 +89,13 @@ program
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, async (_, result) => {
|
}, async (_, result) => {
|
||||||
|
|
||||||
// Check credentials
|
// Check credentials
|
||||||
try {
|
try {
|
||||||
|
// Strip out everything after the domain:port.
|
||||||
|
// @see https://github.com/Chocobozzz/PeerTube/issues/3520
|
||||||
|
result.url = stripExtraneousFromPeerTubeUrl(result.url)
|
||||||
|
|
||||||
await getAccessToken(result.url, result.username, result.password)
|
await getAccessToken(result.url, result.username, result.password)
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error(err.message)
|
console.error(err.message)
|
||||||
|
|
Loading…
Reference in New Issue