This commit is contained in:
tiero
2023-01-02 13:10:45 +01:00
parent cd20b32f87
commit c6a3be420c
11 changed files with 323 additions and 613 deletions

View File

@@ -1,19 +1,23 @@
import { getPublicKey } from "nostr-tools";
import { Connect, ConnectMessageType, GetPublicKeyResponse, Session } from "../src/index";
import { getPublicKey } from 'nostr-tools';
import {
Connect,
ConnectMessageType,
GetPublicKeyResponse,
Session,
} from '../src/index';
jest.setTimeout(5000);
describe('Nostr Connect', () => {
it('connect', async () => {
let resolvePaired: (arg0: boolean) => void;
let resolveGetPublicKey: (arg0: boolean) => void;
let resolveGetPublicKey: (arg0: boolean) => void;
// web app (this is ephemeral and represents the currention session)
const webSK = "5acff99d1ad3e1706360d213fd69203312d9b5e91a2d5f2e06100cc6f686e5b3";
const webSK =
'5acff99d1ad3e1706360d213fd69203312d9b5e91a2d5f2e06100cc6f686e5b3';
const webPK = getPublicKey(webSK);
console.log('webPk', webPK);
const sessionWeb = new Session({
target: webPK,
relay: 'wss://nostr.vulpem.com',
@@ -22,7 +26,7 @@ describe('Nostr Connect', () => {
description: 'lorem ipsum dolor sit amet',
url: 'https://vulpem.com',
icons: ['https://vulpem.com/1000x860-p-500.422be1bc.png'],
}
},
});
sessionWeb.on(ConnectMessageType.PAIRED, (msg: any) => {
expect(msg).toBeDefined();
@@ -31,8 +35,9 @@ describe('Nostr Connect', () => {
await sessionWeb.listen(webSK);
// mobile app (this can be a child key)
const sessionMobile = Session.fromConnectURI(sessionWeb.connectURI);// 'nostr://connect?target=...&metadata=...'
const mobileSK = "ed779ff047f99c95f732b22c9f8f842afb870c740aab591776ebc7b64e83cf6c";
const sessionMobile = Session.fromConnectURI(sessionWeb.connectURI); // 'nostr://connect?target=...&metadata=...'
const mobileSK =
'ed779ff047f99c95f732b22c9f8f842afb870c740aab591776ebc7b64e83cf6c';
const mobilePK = getPublicKey(mobileSK);
console.log('mobilePK', mobilePK);
await sessionMobile.pair(mobileSK);
@@ -43,16 +48,13 @@ describe('Nostr Connect', () => {
type: ConnectMessageType.GET_PUBLIC_KEY_RESPONSE,
value: {
pubkey: mobilePK,
}
},
};
const event = await sessionMobile.eventToBeSentToTarget(
message,
mobileSK
);
await sessionMobile.sendEvent(
event,
mobileSK
);
await sessionMobile.sendEvent(event, mobileSK);
resolveGetPublicKey(true);
});
await sessionMobile.listen(mobileSK);
@@ -71,13 +73,13 @@ describe('Nostr Connect', () => {
return expect(
Promise.all([
new Promise(resolve => {
resolvePaired = resolve
resolvePaired = resolve;
}),
new Promise(resolve => {
resolveGetPublicKey = resolve
})
resolveGetPublicKey = resolve;
}),
])
).resolves.toEqual([true, true])
).resolves.toEqual([true, true]);
/*
expect(handler).toBeCalledTimes(1);