Some checks failed
build / lint (22) (push) Failing after 17s
build / test (22) (push) Failing after 8s
build / lint (23) (push) Failing after 2s
build / build (22) (push) Has been skipped
build / build (23) (push) Has been skipped
build / test (23) (push) Failing after 4s
docsearch / docsearch (push) Failing after 1s
92 lines
2.5 KiB
TypeScript
92 lines
2.5 KiB
TypeScript
import test from 'ava'
|
|
import { newHocuspocus, newHocuspocusProvider } from '../utils/index.ts'
|
|
|
|
test('executes the onAuthenticated callback', async t => {
|
|
await new Promise(async resolve => {
|
|
const server = await newHocuspocus(t, {
|
|
async onAuthenticate({ token }) {
|
|
if (token !== 'SUPER-SECRET-TOKEN') {
|
|
throw new Error()
|
|
}
|
|
},
|
|
})
|
|
|
|
const provider = newHocuspocusProvider(t, server, {
|
|
token: 'SUPER-SECRET-TOKEN',
|
|
onAuthenticated() {
|
|
t.is(provider.isAuthenticated, true)
|
|
t.is(provider.authorizedScope, 'read-write')
|
|
t.pass()
|
|
resolve('done')
|
|
},
|
|
})
|
|
})
|
|
})
|
|
|
|
test('executes the onAuthenticated callback when token is provided as a function that returns a promise', async t => {
|
|
await new Promise(async resolve => {
|
|
const server = await newHocuspocus(t, {
|
|
async onAuthenticate({ token }) {
|
|
if (token !== 'SUPER-SECRET-TOKEN') {
|
|
throw new Error()
|
|
}
|
|
},
|
|
})
|
|
|
|
const provider = newHocuspocusProvider(t, server, {
|
|
token: async () => Promise.resolve('SUPER-SECRET-TOKEN'),
|
|
onAuthenticated() {
|
|
t.is(provider.isAuthenticated, true)
|
|
t.is(provider.authorizedScope, 'read-write')
|
|
t.pass()
|
|
resolve('done')
|
|
},
|
|
})
|
|
})
|
|
})
|
|
|
|
test('executes the onAuthenticated callback when token is provided as a function that returns a string', async t => {
|
|
await new Promise(async resolve => {
|
|
const server = await newHocuspocus(t, {
|
|
async onAuthenticate({ token }) {
|
|
if (token !== 'SUPER-SECRET-TOKEN') {
|
|
throw new Error()
|
|
}
|
|
},
|
|
})
|
|
|
|
const provider = newHocuspocusProvider(t, server, {
|
|
token: () => 'SUPER-SECRET-TOKEN',
|
|
onAuthenticated() {
|
|
t.is(provider.isAuthenticated, true)
|
|
t.is(provider.authorizedScope, 'read-write')
|
|
t.pass()
|
|
resolve('done')
|
|
},
|
|
})
|
|
})
|
|
})
|
|
|
|
test('sets correct scope for readonly', async t => {
|
|
await new Promise(async resolve => {
|
|
const server = await newHocuspocus(t, {
|
|
async onAuthenticate({ token, connectionConfig }) {
|
|
if (token !== 'SUPER-SECRET-TOKEN') {
|
|
throw new Error()
|
|
}
|
|
connectionConfig.readOnly = true
|
|
},
|
|
})
|
|
|
|
const provider = newHocuspocusProvider(t, server, {
|
|
token: 'SUPER-SECRET-TOKEN',
|
|
onAuthenticated() {
|
|
t.is(provider.isAuthenticated, true)
|
|
t.is(provider.authorizedScope, 'readonly')
|
|
t.pass()
|
|
resolve('done')
|
|
},
|
|
})
|
|
})
|
|
})
|