mirror of
https://github.com/orbitdb/orbitdb.git
synced 2025-03-30 15:08:28 +00:00
fix: Export the IDP type in both the function definition and the function return values.
This commit is contained in:
parent
a25eb3aba6
commit
a552bde0b0
@ -85,5 +85,6 @@ const PublicKeyIdentityProvider = ({ keystore }) => () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
PublicKeyIdentityProvider.verifyIdentity = verifyIdentity
|
PublicKeyIdentityProvider.verifyIdentity = verifyIdentity
|
||||||
|
PublicKeyIdentityProvider.type = type
|
||||||
|
|
||||||
export default PublicKeyIdentityProvider
|
export default PublicKeyIdentityProvider
|
||||||
|
5
test/fixtures/providers/bad.js
vendored
Normal file
5
test/fixtures/providers/bad.js
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
const BadIdentityProvider = () => () => {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
export default BadIdentityProvider
|
20
test/fixtures/providers/custom.js
vendored
Normal file
20
test/fixtures/providers/custom.js
vendored
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
const type = 'custom'
|
||||||
|
|
||||||
|
const verifyIdentity = async (data) => { return true }
|
||||||
|
|
||||||
|
const CustomIdentityProvider = () => () => {
|
||||||
|
const getId = () => { return 'custom' }
|
||||||
|
|
||||||
|
const signIdentity = (data) => { return `signature '${data}'` }
|
||||||
|
|
||||||
|
return {
|
||||||
|
getId,
|
||||||
|
signIdentity,
|
||||||
|
type
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
CustomIdentityProvider.verifyIdentity = verifyIdentity
|
||||||
|
CustomIdentityProvider.type = type
|
||||||
|
|
||||||
|
export default CustomIdentityProvider
|
20
test/fixtures/providers/fake.js
vendored
Normal file
20
test/fixtures/providers/fake.js
vendored
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
const type = 'fake'
|
||||||
|
|
||||||
|
const verifyIdentity = async (data) => { return false }
|
||||||
|
|
||||||
|
const FakeIdentityProvider = () => () => {
|
||||||
|
const getId = () => { return 'pubKey' }
|
||||||
|
|
||||||
|
const signIdentity = (data) => { return `false signature '${data}'` }
|
||||||
|
|
||||||
|
return {
|
||||||
|
getId,
|
||||||
|
signIdentity,
|
||||||
|
type
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
FakeIdentityProvider.verifyIdentity = verifyIdentity
|
||||||
|
FakeIdentityProvider.type = type
|
||||||
|
|
||||||
|
export default FakeIdentityProvider
|
@ -3,10 +3,11 @@ import rmrf from 'rimraf'
|
|||||||
import { copy } from 'fs-extra'
|
import { copy } from 'fs-extra'
|
||||||
import { toString as uint8ArrayToString } from 'uint8arrays/to-string'
|
import { toString as uint8ArrayToString } from 'uint8arrays/to-string'
|
||||||
import KeyStore, { signMessage, verifyMessage } from '../../src/key-store.js'
|
import KeyStore, { signMessage, verifyMessage } from '../../src/key-store.js'
|
||||||
import { Identities, addIdentityProvider, getIdentityProvider, Identity } from '../../src/identities/index.js'
|
import { Identities, addIdentityProvider, getIdentityProvider, Identity, PublicKeyIdentityProvider } from '../../src/identities/index.js'
|
||||||
import testKeysPath from '../fixtures/test-keys-path.js'
|
import testKeysPath from '../fixtures/test-keys-path.js'
|
||||||
import { CustomIdentityProvider, FakeIdentityProvider } from '../fixtures/providers.js'
|
import { default as CustomIdentityProvider } from '../fixtures/providers/custom.js'
|
||||||
import * as PublicKeyIdentityProvider from '../../src/identities/providers/publickey.js'
|
import { default as FakeIdentityProvider } from '../fixtures/providers/fake.js'
|
||||||
|
import { default as BadIdentityProvider } from '../fixtures/providers/bad.js'
|
||||||
|
|
||||||
const type = 'publickey'
|
const type = 'publickey'
|
||||||
const keysPath = './testkeys'
|
const keysPath = './testkeys'
|
||||||
@ -69,7 +70,8 @@ describe('Identities', function () {
|
|||||||
it('Passes in an identity provider', async () => {
|
it('Passes in an identity provider', async () => {
|
||||||
const keystore = await KeyStore({ path: keysPath })
|
const keystore = await KeyStore({ path: keysPath })
|
||||||
identities = await Identities({ keystore })
|
identities = await Identities({ keystore })
|
||||||
identity = await identities.createIdentity({ id, provider: PublicKeyIdentityProvider.default({ keystore }) })
|
const provider = PublicKeyIdentityProvider({ keystore })
|
||||||
|
identity = await identities.createIdentity({ id, provider })
|
||||||
const result = await identities.getIdentity(identity.hash)
|
const result = await identities.getIdentity(identity.hash)
|
||||||
assert.strictEqual(result.id, identity.id)
|
assert.strictEqual(result.id, identity.id)
|
||||||
assert.strictEqual(result.hash, identity.hash)
|
assert.strictEqual(result.hash, identity.hash)
|
||||||
@ -230,7 +232,7 @@ describe('Identities', function () {
|
|||||||
|
|
||||||
it('false signature doesn\'t verify', async () => {
|
it('false signature doesn\'t verify', async () => {
|
||||||
addIdentityProvider(FakeIdentityProvider)
|
addIdentityProvider(FakeIdentityProvider)
|
||||||
identity = await identities.createIdentity({ provider: FakeIdentityProvider.default() })
|
identity = await identities.createIdentity({ provider: FakeIdentityProvider() })
|
||||||
const verified = await identities.verifyIdentity(identity)
|
const verified = await identities.verifyIdentity(identity)
|
||||||
assert.strictEqual(verified, false)
|
assert.strictEqual(verified, false)
|
||||||
})
|
})
|
||||||
@ -346,5 +348,17 @@ describe('Identities', function () {
|
|||||||
|
|
||||||
assert.deepStrictEqual(getIdentityProvider('custom'), CustomIdentityProvider)
|
assert.deepStrictEqual(getIdentityProvider('custom'), CustomIdentityProvider)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('cannot add an identity provider with missing type', () => {
|
||||||
|
let err
|
||||||
|
|
||||||
|
try {
|
||||||
|
addIdentityProvider(BadIdentityProvider)
|
||||||
|
} catch (e) {
|
||||||
|
err = e.toString()
|
||||||
|
}
|
||||||
|
|
||||||
|
assert.strictEqual(err, 'Error: Given IdentityProvider doesn\'t have a field \'type\'')
|
||||||
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user