]> git.codecow.com Git - libnemo.git/commitdiff
Fix lock and unlock tests.
authorChris Duncan <chris@zoso.dev>
Sat, 2 Aug 2025 20:15:57 +0000 (13:15 -0700)
committerChris Duncan <chris@zoso.dev>
Sat, 2 Aug 2025 20:15:57 +0000 (13:15 -0700)
test/test.lock-unlock.mjs

index 31a97270d4385fee43ecfd71ee3a206e6234ad7a..623e7dbdae8e4cfea2ee118b376633f68965d443 100644 (file)
@@ -34,79 +34,37 @@ await Promise.all([
                        const unlockResult = await wallet.unlock(NANO_TEST_VECTORS.PASSWORD)\r
 \r
                        assert.equal(unlockResult, true)\r
-                       assert.ok('mnemonic' in wallet)\r
-                       assert.ok('seed' in wallet)\r
-                       assert.equal(wallet.mnemonic, NANO_TEST_VECTORS.MNEMONIC)\r
-                       assert.equal(wallet.seed, NANO_TEST_VECTORS.BIP39_SEED)\r
+                       assert.ok(await wallet.verify(NANO_TEST_VECTORS.MNEMONIC))\r
+                       assert.ok(await wallet.verify(NANO_TEST_VECTORS.BIP39_SEED))\r
 \r
                        await assert.resolves(wallet.destroy())\r
                })\r
 \r
-               await test('locking and unlocking a Bip44Wallet Account with a password', async () => {\r
-                       const wallet = await Wallet.import('BIP-44', NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.MNEMONIC, NANO_TEST_VECTORS.PASSWORD)\r
-                       await wallet.unlock(NANO_TEST_VECTORS.PASSWORD)\r
-                       const account = await wallet.account()\r
-                       const lockResult = await wallet.lock()\r
-\r
-                       assert.equal(lockResult, true)\r
-\r
-                       const unlockResult = await wallet.unlock(NANO_TEST_VECTORS.PASSWORD)\r
-\r
-                       assert.equal(unlockResult, true)\r
-                       await assert.resolves(wallet.destroy())\r
-               })\r
-\r
                await test('fail to unlock a Bip44Wallet with different passwords', async () => {\r
                        const wallet = await Wallet.import('BIP-44', NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.MNEMONIC, NANO_TEST_VECTORS.PASSWORD)\r
                        await wallet.unlock(NANO_TEST_VECTORS.PASSWORD)\r
                        const lockResult = await wallet.lock()\r
 \r
-                       await assert.rejects(wallet.unlock(NANO_TEST_VECTORS.PASSWORD), { message: 'Failed to unlock wallet' })\r
+                       await assert.rejects(wallet.unlock(TREZOR_TEST_VECTORS.PASSWORD), { message: 'Failed to unlock wallet' })\r
                        assert.equal(lockResult, true)\r
                        assert.ok('mnemonic' in wallet)\r
                        assert.ok('seed' in wallet)\r
-                       assert.throws(() => wallet.mnemonic)\r
-                       assert.throws(() => wallet.seed)\r
-\r
-                       await assert.resolves(wallet.destroy())\r
-               })\r
-\r
-               await test('fail to unlock a Bip44Wallet with different valid inputs', async () => {\r
-                       const wallet = await Wallet.import('BIP-44', NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.MNEMONIC, NANO_TEST_VECTORS.PASSWORD)\r
-                       const key = crypto.getRandomValues(new Uint8Array(64))\r
-\r
-                       await assert.rejects(wallet.unlock(crypto.randomUUID()), { message: 'Failed to unlock wallet' })\r
-                       assert.ok('mnemonic' in wallet)\r
-                       assert.ok('seed' in wallet)\r
-                       assert.throws(() => wallet.mnemonic)\r
-                       assert.throws(() => wallet.seed)\r
+                       assert.ok(wallet.mnemonic === undefined)\r
+                       assert.ok(wallet.seed === undefined)\r
+                       await assert.rejects(wallet.verify(NANO_TEST_VECTORS.MNEMONIC))\r
+                       await assert.rejects(wallet.verify(NANO_TEST_VECTORS.BIP39_SEED))\r
 \r
                        await assert.resolves(wallet.destroy())\r
                })\r
 \r
-               await test('fail to unlock a Bip44Wallet with no input', async () => {\r
+               await test('fail to unlock a Bip44Wallet with invalid input', async () => {\r
                        const wallet = await Wallet.import('BIP-44', NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.MNEMONIC, NANO_TEST_VECTORS.PASSWORD)\r
                        await wallet.unlock(NANO_TEST_VECTORS.PASSWORD)\r
 \r
                        //@ts-expect-error\r
                        await assert.rejects(wallet.unlock(), { message: 'Failed to unlock wallet' })\r
-                       assert.ok('mnemonic' in wallet)\r
-                       assert.ok('seed' in wallet)\r
-                       assert.throws(() => wallet.mnemonic)\r
-                       assert.throws(() => wallet.seed)\r
-\r
-                       await assert.resolves(wallet.destroy())\r
-               })\r
-\r
-               await test('fail to unlock a Bip44Wallet with invalid input', async () => {\r
-                       const wallet = await Wallet.import('BIP-44', NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.MNEMONIC, NANO_TEST_VECTORS.PASSWORD)\r
-\r
                        //@ts-expect-error\r
                        await assert.rejects(wallet.unlock(1), { message: 'Failed to unlock wallet' })\r
-                       assert.ok('mnemonic' in wallet)\r
-                       assert.ok('seed' in wallet)\r
-                       assert.throws(() => wallet.mnemonic)\r
-                       assert.throws(() => wallet.seed)\r
 \r
                        await assert.resolves(wallet.destroy())\r
                })\r
@@ -116,31 +74,15 @@ await Promise.all([
 \r
                        assert.ok('mnemonic' in wallet)\r
                        assert.ok('seed' in wallet)\r
-                       assert.throws(() => wallet.mnemonic)\r
-                       assert.throws(() => wallet.seed)\r
+                       assert.ok(wallet.mnemonic === undefined)\r
+                       assert.ok(wallet.seed === undefined)\r
 \r
                        const unlockResult = await wallet.unlock(NANO_TEST_VECTORS.PASSWORD)\r
 \r
                        assert.equal(unlockResult, true)\r
-                       assert.ok('mnemonic' in wallet)\r
-                       assert.ok('seed' in wallet)\r
-                       assert.equal(wallet.mnemonic, TREZOR_TEST_VECTORS.MNEMONIC_0)\r
-                       assert.equal(wallet.seed, TREZOR_TEST_VECTORS.ENTROPY_0)\r
-\r
-                       await assert.resolves(wallet.destroy())\r
-               })\r
-\r
-               await test('locking and unlocking a Blake2bWallet Account with a password', async () => {\r
-                       const wallet = await Wallet.import('BLAKE2b', NANO_TEST_VECTORS.PASSWORD, TREZOR_TEST_VECTORS.ENTROPY_0)\r
-                       await wallet.unlock(NANO_TEST_VECTORS.PASSWORD)\r
-                       const account = await wallet.account()\r
-                       const lockResult = await wallet.lock()\r
+                       assert.ok(await wallet.verify(TREZOR_TEST_VECTORS.MNEMONIC_0))\r
+                       assert.ok(await wallet.verify(TREZOR_TEST_VECTORS.ENTROPY_0))\r
 \r
-                       assert.equal(lockResult, true)\r
-\r
-                       const unlockResult = await wallet.unlock(NANO_TEST_VECTORS.PASSWORD)\r
-\r
-                       assert.equal(unlockResult, true)\r
                        await assert.resolves(wallet.destroy())\r
                })\r
 \r
@@ -150,21 +92,10 @@ await Promise.all([
                        await assert.rejects(wallet.unlock(TREZOR_TEST_VECTORS.PASSWORD), { message: 'Failed to unlock wallet' })\r
                        assert.ok('mnemonic' in wallet)\r
                        assert.ok('seed' in wallet)\r
-                       assert.throws(() => wallet.mnemonic)\r
-                       assert.throws(() => wallet.seed)\r
-\r
-                       await assert.resolves(wallet.destroy())\r
-               })\r
-\r
-               await test('fail to unlock a Blake2bWallet with different valid inputs', async () => {\r
-                       const wallet = await Wallet.import('BLAKE2b', NANO_TEST_VECTORS.PASSWORD, TREZOR_TEST_VECTORS.ENTROPY_1)\r
-                       const key = crypto.getRandomValues(new Uint8Array(64))\r
-\r
-                       await assert.rejects(wallet.unlock(crypto.randomUUID()), { message: 'Failed to unlock wallet' })\r
-                       assert.ok('mnemonic' in wallet)\r
-                       assert.ok('seed' in wallet)\r
-                       assert.throws(() => wallet.mnemonic)\r
-                       assert.throws(() => wallet.seed)\r
+                       assert.ok(wallet.mnemonic === undefined)\r
+                       assert.ok(wallet.seed === undefined)\r
+                       await assert.rejects(wallet.verify(TREZOR_TEST_VECTORS.MNEMONIC_1))\r
+                       await assert.rejects(wallet.verify(TREZOR_TEST_VECTORS.ENTROPY_1))\r
 \r
                        await assert.resolves(wallet.destroy())\r
                })\r
@@ -174,23 +105,8 @@ await Promise.all([
 \r
                        //@ts-expect-error\r
                        await assert.rejects(wallet.unlock(), { message: 'Failed to unlock wallet' })\r
-                       assert.ok('mnemonic' in wallet)\r
-                       assert.ok('seed' in wallet)\r
-                       assert.throws(() => wallet.mnemonic)\r
-                       assert.throws(() => wallet.seed)\r
-\r
-                       await assert.resolves(wallet.destroy())\r
-               })\r
-\r
-               await test('fail to unlock a Blake2bWallet with invalid input', async () => {\r
-                       const wallet = await Wallet.import('BLAKE2b', NANO_TEST_VECTORS.PASSWORD, TREZOR_TEST_VECTORS.ENTROPY_1)\r
-\r
                        //@ts-expect-error\r
                        await assert.rejects(wallet.unlock(1), { message: 'Failed to unlock wallet' })\r
-                       assert.ok('mnemonic' in wallet)\r
-                       assert.ok('seed' in wallet)\r
-                       assert.throws(() => wallet.mnemonic)\r
-                       assert.throws(() => wallet.seed)\r
 \r
                        await assert.resolves(wallet.destroy())\r
                })\r