level-ttl and level-sublevel confliction

March 7, 2016 ยท View on GitHub

var test = require('tap').test var sublevel = require('level-sublevel') //var Levelup = require('level-mem') var Levelup = require('level') var ttl = require('level-ttl')

test('level-ttl and sublevel on the same db', function(t) { var db = Levelup('newThang')

t.plan(5)


var dbWithSublevel = sublevel(db)
var subDb = dbWithSublevel.sublevel('something')

var ttlDb = ttl(subDb, {
	checkFrequency: 50
})


var dbOptions = {
	keyEncoding: 'utf8',
	valueEncoding: 'utf8',
	ttl: 500
}


ttlDb.put('key', 'value', dbOptions, function(err) {
	t.notOk(err, 'No error on the put')
})

setTimeout(function() {
	ttlDb.get('key', function(err, value) {
		t.notOk(err)
		t.equal('value', value, 'Value is there and correct')
	})
}, 200)

setTimeout(function() {
	ttlDb.get('key', function(err, value) {
		t.ok(err)
		t.ok(err.notFound, 'Value is not found after 1s')
		t.end()
	})
}, 1000)

})