// import assert from 'assert' // import rmrf from 'rimraf' // import path from 'path' // import OrbitDB from '../src/OrbitDB.js' // // Include test utilities // import { // config, // startIpfs, // stopIpfs, // testAPIs, // } from 'orbit-db-test-utils' // const dbPath = './orbitdb/tests/kvstore' // Object.keys(testAPIs).forEach(API => { // describe(`orbit-db - Key-Value Database (${API})`, function() { // this.timeout(config.timeout) // let ipfsd, ipfs, orbitdb1 // before(async () => { // rmrf.sync(dbPath) // ipfsd = await startIpfs(API, config.daemon1) // ipfs = ipfsd.api // orbitdb1 = await OrbitDB.createInstance(ipfs, { directory: path.join(dbPath, '1') }) // }) // after(() => { // setTimeout(async () => { // await orbitdb1.stop() // await stopIpfs(ipfsd) // }, 0) // }) // it('creates and opens a database', async () => { // const db = await orbitdb1.keyvalue('first kv database') // assert.notEqual(db, null) // assert.equal(db.type, 'keyvalue') // assert.equal(db.dbname, 'first kv database') // await db.drop() // }) // it('put', async () => { // const db = await orbitdb1.keyvalue('first kv database') // await db.put('key1', 'hello1') // const value = db.get('key1') // assert.equal(value, 'hello1') // await db.drop() // }) // it('get', async () => { // const db = await orbitdb1.keyvalue('first kv database') // await db.put('key1', 'hello2') // const value = db.get('key1') // assert.equal(value, 'hello2') // await db.drop() // }) // it('put updates a value', async () => { // const db = await orbitdb1.keyvalue('first kv database') // await db.put('key1', 'hello3') // await db.put('key1', 'hello4') // const value = db.get('key1') // assert.equal(value, 'hello4') // await db.drop() // }) // it('set is an alias for put', async () => { // const db = await orbitdb1.keyvalue('first kv database') // await db.set('key1', 'hello5') // const value = db.get('key1') // assert.equal(value, 'hello5') // await db.drop() // }) // it('put/get - multiple keys', async () => { // const db = await orbitdb1.keyvalue('first kv database') // await db.put('key1', 'hello1') // await db.put('key2', 'hello2') // await db.put('key3', 'hello3') // const v1 = db.get('key1') // const v2 = db.get('key2') // const v3 = db.get('key3') // assert.equal(v1, 'hello1') // assert.equal(v2, 'hello2') // assert.equal(v3, 'hello3') // await db.drop() // }) // it('deletes a key', async () => { // const db = await orbitdb1.keyvalue('first kv database') // await db.put('key1', 'hello!') // await db.del('key1') // const value = db.get('key1') // assert.equal(value, null) // await db.drop() // }) // it('deletes a key after multiple updates', async () => { // const db = await orbitdb1.keyvalue('first kv database') // await db.put('key1', 'hello1') // await db.put('key1', 'hello2') // await db.put('key1', 'hello3') // await db.del('key1') // const value = db.get('key1') // assert.equal(value, null) // await db.drop() // }) // it('get - integer value', async () => { // const db = await orbitdb1.keyvalue('first kv database') // const val = 123 // await db.put('key1', val) // const v1 = db.get('key1') // assert.equal(v1, val) // await db.drop() // }) // it('get - object value', async () => { // const db = await orbitdb1.keyvalue('first kv database') // const val = { one: 'first', two: 2 } // await db.put('key1', val) // const v1 = db.get('key1') // assert.deepEqual(v1, val) // await db.drop() // }) // it('get - array value', async () => { // const db = await orbitdb1.keyvalue('first kv database') // const val = [1, 2, 3, 4, 5] // await db.put('key1', val) // const v1 = db.get('key1') // assert.deepEqual(v1, val) // await db.drop() // }) // }) // })