mirror of https://codeberg.org/pzp/pzp-keypair.git
39 lines
1.1 KiB
JavaScript
39 lines
1.1 KiB
JavaScript
const test = require('node:test')
|
|
const assert = require('node:assert')
|
|
const b4a = require('b4a')
|
|
const Keypair = require('../lib/index')
|
|
|
|
test('generate() default', (t) => {
|
|
const keypair = Keypair.generate()
|
|
assert.equal(keypair.curve, 'ed25519')
|
|
assert.equal(typeof keypair.public, 'string')
|
|
assert.equal(typeof keypair.private, 'string')
|
|
assert.ok(b4a.isBuffer(keypair._public), true)
|
|
assert.ok(b4a.isBuffer(keypair._private), true)
|
|
assert.deepEqual(Object.keys(keypair), [
|
|
'curve',
|
|
'public',
|
|
'private',
|
|
'_public',
|
|
'_private',
|
|
])
|
|
})
|
|
|
|
test('generate() with ed25519 curve', (t) => {
|
|
const keypair = Keypair.generate('ed25519')
|
|
assert.equal(keypair.curve, 'ed25519')
|
|
assert.equal(typeof keypair.public, 'string')
|
|
assert.equal(typeof keypair.private, 'string')
|
|
})
|
|
|
|
test('generate() with unknown curve', (t) => {
|
|
assert.throws(() => {
|
|
Keypair.generate('foobar')
|
|
}, /Unknown curve "foobar"/)
|
|
})
|
|
|
|
test('generate() with seed', (t) => {
|
|
const keypair = Keypair.generate('ed25519', 'alice')
|
|
assert.equal(keypair.public, '4mjQ5aJu378cEu6TksRG3uXAiKFiwGjYQtWAjfVjDAJW')
|
|
})
|