mirror of
https://github.com/aljazceru/pubky-core.git
synced 2025-12-31 12:54:35 +01:00
test(pubky): add tests for 401 and 403 responses
This commit is contained in:
@@ -43,6 +43,78 @@ test('public: put/get', async (t) => {
|
||||
// }
|
||||
})
|
||||
|
||||
test.skip("not found")
|
||||
test("not found", async (t) => {
|
||||
const client = PubkyClient.testnet();
|
||||
|
||||
test.skip("unauthorized")
|
||||
|
||||
const keypair = Keypair.random();
|
||||
|
||||
const homeserver = PublicKey.from('8pinxxgqs41n4aididenw5apqp1urfmzdztr8jt4abrkdn435ewo');
|
||||
await client.signup(keypair, homeserver);
|
||||
|
||||
const publicKey = keypair.public_key();
|
||||
|
||||
let url = `pubky://${publicKey.z32()}/pub/example.com/arbitrary`;
|
||||
|
||||
let result = await client.get(url).catch(e => e);
|
||||
|
||||
t.ok(result instanceof Error);
|
||||
t.is(
|
||||
result.message,
|
||||
`HTTP status client error (404 Not Found) for url (http://localhost:15411/${publicKey.z32()}/pub/example.com/arbitrary)`
|
||||
)
|
||||
})
|
||||
|
||||
test("unauthorized", async (t) => {
|
||||
const client = PubkyClient.testnet();
|
||||
|
||||
const keypair = Keypair.random()
|
||||
const publicKey = keypair.public_key()
|
||||
|
||||
const homeserver = PublicKey.from('8pinxxgqs41n4aididenw5apqp1urfmzdztr8jt4abrkdn435ewo')
|
||||
await client.signup(keypair, homeserver)
|
||||
|
||||
const session = await client.session(publicKey)
|
||||
t.ok(session, "signup")
|
||||
|
||||
await client.signout(publicKey)
|
||||
|
||||
const body = Buffer.from(JSON.stringify({ foo: 'bar' }))
|
||||
|
||||
let url = `pubky://${publicKey.z32()}/pub/example.com/arbitrary`;
|
||||
|
||||
// PUT public data, by authorized client
|
||||
let result = await client.put(url, body).catch(e => e);
|
||||
|
||||
t.ok(result instanceof Error);
|
||||
t.is(
|
||||
result.message,
|
||||
`HTTP status client error (401 Unauthorized) for url (http://localhost:15411/${publicKey.z32()}/pub/example.com/arbitrary)`
|
||||
)
|
||||
})
|
||||
|
||||
test("forbidden", async (t) => {
|
||||
const client = PubkyClient.testnet();
|
||||
|
||||
const keypair = Keypair.random()
|
||||
const publicKey = keypair.public_key()
|
||||
|
||||
const homeserver = PublicKey.from('8pinxxgqs41n4aididenw5apqp1urfmzdztr8jt4abrkdn435ewo')
|
||||
await client.signup(keypair, homeserver)
|
||||
|
||||
const session = await client.session(publicKey)
|
||||
t.ok(session, "signup")
|
||||
|
||||
const body = Buffer.from(JSON.stringify({ foo: 'bar' }))
|
||||
|
||||
let url = `pubky://${publicKey.z32()}/priv/example.com/arbitrary`;
|
||||
|
||||
// PUT public data, by authorized client
|
||||
let result = await client.put(url, body).catch(e => e);
|
||||
|
||||
t.ok(result instanceof Error);
|
||||
t.is(
|
||||
result.message,
|
||||
`HTTP status client error (403 Forbidden) for url (http://localhost:15411/${publicKey.z32()}/priv/example.com/arbitrary)`
|
||||
)
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user