mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-05-09 00:36:34 +02:00
Revert "Squashed commit of the following:"
This reverts commit c51022993b.
This commit is contained in:
@@ -117,12 +117,6 @@ describe('Hash methods', () => {
|
||||
const result = await db.getObject('emptykey');
|
||||
assert.deepStrictEqual(result, null);
|
||||
});
|
||||
|
||||
it('should return null if a field is set to null', async () => {
|
||||
await db.setObject('nullFieldTest', { baz: 'baz', foo: null });
|
||||
const data = await db.getObjectFields('nullFieldTest', ['baz', 'foo']);
|
||||
assert.deepStrictEqual(data, { baz: 'baz', foo: null });
|
||||
});
|
||||
});
|
||||
|
||||
describe('setObjectField()', () => {
|
||||
@@ -285,16 +279,6 @@ describe('Hash methods', () => {
|
||||
});
|
||||
});
|
||||
|
||||
it('should return null if field is falsy', async () => {
|
||||
const values = await Promise.all([
|
||||
db.getObjectField('hashTestObject', ''),
|
||||
db.getObjectField('hashTestObject', null),
|
||||
db.getObjectField('hashTestObject', false),
|
||||
db.getObjectField('hashTestObject', undefined),
|
||||
]);
|
||||
assert.deepStrictEqual(values, [null, null, null, null]);
|
||||
});
|
||||
|
||||
it('should return null and not error', async () => {
|
||||
const data = await db.getObjectField('hashTestObject', ['field1', 'field2']);
|
||||
assert.strictEqual(data, null);
|
||||
|
||||
@@ -88,36 +88,6 @@ describe('Set methods', () => {
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('should add the values to each set', async () => {
|
||||
await db.setsAdd(['saddarray1', 'saddarray2', 'saddarray3'], ['v1', 'v2', 'v3']);
|
||||
const data = await db.getSetsMembers(['saddarray1', 'saddarray2', 'saddarray3']);
|
||||
data.forEach(members => members.sort());
|
||||
assert.deepStrictEqual(data, [
|
||||
['v1', 'v2', 'v3'],
|
||||
['v1', 'v2', 'v3'],
|
||||
['v1', 'v2', 'v3'],
|
||||
]);
|
||||
});
|
||||
});
|
||||
|
||||
describe('setAddBulk()', () => {
|
||||
it('should add multiple key-member pairs', async () => {
|
||||
await db.setAddBulk([
|
||||
['bulkSet1', 'value1'],
|
||||
['bulkSet2', 'value2'],
|
||||
]);
|
||||
let data = await db.getSetMembers('bulkSet1');
|
||||
assert.deepStrictEqual(data, ['value1']);
|
||||
data = await db.getSetMembers('bulkSet2');
|
||||
assert.deepStrictEqual(data, ['value2']);
|
||||
await db.setAddBulk([
|
||||
['bulkSet1', 'value1'],
|
||||
['bulkSet1', 'value3'],
|
||||
]);
|
||||
data = await db.getSetMembers('bulkSet1');
|
||||
assert.deepStrictEqual(data.sort(), ['value1', 'value3']);
|
||||
});
|
||||
});
|
||||
|
||||
describe('getSetsMembers()', () => {
|
||||
@@ -238,42 +208,57 @@ describe('Set methods', () => {
|
||||
});
|
||||
|
||||
describe('setRemove()', () => {
|
||||
it('should remove an element from set', async () => {
|
||||
await db.setAdd('testSet6', [1, 2]);
|
||||
await db.setRemove('testSet6', '2');
|
||||
|
||||
const isMember = await db.isSetMember('testSet6', '2');
|
||||
assert.equal(isMember, false);
|
||||
before((done) => {
|
||||
db.setAdd('testSet6', [1, 2], done);
|
||||
});
|
||||
|
||||
it('should remove multiple elements from set', async () => {
|
||||
await db.setAdd('multiRemoveSet', [1, 2, 3, 4, 5]);
|
||||
await db.setRemove('multiRemoveSet', [1, 3, 5]);
|
||||
it('should remove a element from set', (done) => {
|
||||
db.setRemove('testSet6', '2', function (err) {
|
||||
assert.equal(err, null);
|
||||
assert.equal(arguments.length, 1);
|
||||
|
||||
const members = await db.getSetMembers('multiRemoveSet');
|
||||
assert(members.includes('2'));
|
||||
assert(members.includes('4'));
|
||||
db.isSetMember('testSet6', '2', (err, isMember) => {
|
||||
assert.equal(err, null);
|
||||
assert.equal(isMember, false);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
it('should remove multiple values from multiple keys', async () => {
|
||||
await db.setAdd('multiSetTest1', ['one', 'two', 'three', 'four']);
|
||||
await db.setAdd('multiSetTest2', ['three', 'four', 'five', 'six']);
|
||||
await db.setRemove(['multiSetTest1', 'multiSetTest2'], ['three', 'four', 'five', 'doesnt exist']);
|
||||
|
||||
const members = await db.getSetsMembers(['multiSetTest1', 'multiSetTest2']);
|
||||
assert.equal(members[0].length, 2);
|
||||
assert.equal(members[1].length, 1);
|
||||
assert(members[0].includes('one'));
|
||||
assert(members[0].includes('two'));
|
||||
assert(members[1].includes('six'));
|
||||
it('should remove multiple elements from set', (done) => {
|
||||
db.setAdd('multiRemoveSet', [1, 2, 3, 4, 5], (err) => {
|
||||
assert.ifError(err);
|
||||
db.setRemove('multiRemoveSet', [1, 3, 5], (err) => {
|
||||
assert.ifError(err);
|
||||
db.getSetMembers('multiRemoveSet', (err, members) => {
|
||||
assert.ifError(err);
|
||||
assert(members.includes('2'));
|
||||
assert(members.includes('4'));
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
it('should remove set if all elements are removed', async () => {
|
||||
await db.setAdd('toBeDeletedSet', ['a', 'b']);
|
||||
await db.setRemove('toBeDeletedSet', ['a', 'b']);
|
||||
|
||||
const exists = await db.exists('toBeDeletedSet');
|
||||
assert.equal(exists, false);
|
||||
it('should remove multiple values from multiple keys', (done) => {
|
||||
db.setAdd('multiSetTest1', ['one', 'two', 'three', 'four'], (err) => {
|
||||
assert.ifError(err);
|
||||
db.setAdd('multiSetTest2', ['three', 'four', 'five', 'six'], (err) => {
|
||||
assert.ifError(err);
|
||||
db.setRemove(['multiSetTest1', 'multiSetTest2'], ['three', 'four', 'five', 'doesnt exist'], (err) => {
|
||||
assert.ifError(err);
|
||||
db.getSetsMembers(['multiSetTest1', 'multiSetTest2'], (err, members) => {
|
||||
assert.ifError(err);
|
||||
assert.equal(members[0].length, 2);
|
||||
assert.equal(members[1].length, 1);
|
||||
assert(members[0].includes('one'));
|
||||
assert(members[0].includes('two'));
|
||||
assert(members[1].includes('six'));
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -78,21 +78,6 @@ describe('Sorted Set methods', () => {
|
||||
assert(data.includes('ddb'));
|
||||
assert(data.includes('adb'));
|
||||
});
|
||||
|
||||
it('should not error with invalid input', async () => {
|
||||
const query = `-3217'
|
||||
OR 1251=CAST((CHR(113)||CHR(98)||CHR(118)||CHR(98)||CHR(113))||(SELECT
|
||||
(CASE WHEN (1251=1251) THEN 1 ELSE 0
|
||||
END))::text||(CHR(113)||CHR(113)||CHR(118)||CHR(98)||CHR(113)) AS
|
||||
NUMERIC)-- WsPn&query[cid]=-1&parentCid=0&selectedCids[]=-1&privilege=topics:read&states[]=watching&states[]=tracking&states[]=notwatching&showLinks=`;
|
||||
const match = `*${query.toLowerCase()}*`;
|
||||
const data = await db.getSortedSetScan({
|
||||
key: 'categories:name',
|
||||
match: match,
|
||||
limit: 500,
|
||||
});
|
||||
assert.strictEqual(data.length, 0);
|
||||
});
|
||||
});
|
||||
|
||||
describe('sortedSetAdd()', () => {
|
||||
@@ -501,9 +486,7 @@ NUMERIC)-- WsPn&query[cid]=-1&parentCid=0&selectedCids[]=-1&privilege=topics:rea
|
||||
['byScoreWithScoresKeys1', 1, 'value1'],
|
||||
['byScoreWithScoresKeys2', 2, 'value2'],
|
||||
]);
|
||||
const data = await db.getSortedSetRevRangeByScoreWithScores([
|
||||
'byScoreWithScoresKeys1', 'byScoreWithScoresKeys2',
|
||||
], 0, -1, 5, -5);
|
||||
const data = await db.getSortedSetRevRangeByScoreWithScores(['byScoreWithScoresKeys1', 'byScoreWithScoresKeys2'], 0, -1, 5, -5);
|
||||
assert.deepStrictEqual(data, [{ value: 'value2', score: 2 }, { value: 'value1', score: 1 }]);
|
||||
});
|
||||
});
|
||||
@@ -1146,17 +1129,23 @@ NUMERIC)-- WsPn&query[cid]=-1&parentCid=0&selectedCids[]=-1&privilege=topics:rea
|
||||
assert.strictEqual(await db.exists('sorted3'), false);
|
||||
});
|
||||
|
||||
it('should remove multiple values from multiple keys', async () => {
|
||||
await db.sortedSetAdd('multiTest1', [1, 2, 3, 4], ['one', 'two', 'three', 'four']);
|
||||
await db.sortedSetAdd('multiTest2', [3, 4, 5, 6], ['three', 'four', 'five', 'six']);
|
||||
|
||||
await db.sortedSetRemove(['multiTest1', 'multiTest2'], ['two', 'three', 'four', 'five', 'doesnt exist']);
|
||||
|
||||
const members = await db.getSortedSetsMembers(['multiTest1', 'multiTest2']);
|
||||
|
||||
assert.equal(members[0].length, 1);
|
||||
assert.equal(members[1].length, 1);
|
||||
assert.deepEqual(members, [['one'], ['six']]);
|
||||
it('should remove multiple values from multiple keys', (done) => {
|
||||
db.sortedSetAdd('multiTest1', [1, 2, 3, 4], ['one', 'two', 'three', 'four'], (err) => {
|
||||
assert.ifError(err);
|
||||
db.sortedSetAdd('multiTest2', [3, 4, 5, 6], ['three', 'four', 'five', 'six'], (err) => {
|
||||
assert.ifError(err);
|
||||
db.sortedSetRemove(['multiTest1', 'multiTest2'], ['two', 'three', 'four', 'five', 'doesnt exist'], (err) => {
|
||||
assert.ifError(err);
|
||||
db.getSortedSetsMembers(['multiTest1', 'multiTest2'], (err, members) => {
|
||||
assert.ifError(err);
|
||||
assert.equal(members[0].length, 1);
|
||||
assert.equal(members[1].length, 1);
|
||||
assert.deepEqual(members, [['one'], ['six']]);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
it('should remove value from multiple keys', async () => {
|
||||
@@ -1167,15 +1156,24 @@ NUMERIC)-- WsPn&query[cid]=-1&parentCid=0&selectedCids[]=-1&privilege=topics:rea
|
||||
assert.deepStrictEqual(await db.getSortedSetRange('multiTest4', 0, -1), ['four', 'five', 'six']);
|
||||
});
|
||||
|
||||
it('should remove multiple values from multiple keys', async () => {
|
||||
await db.sortedSetAdd('multiTest5', [1], ['one']);
|
||||
await db.sortedSetAdd('multiTest6', [2], ['two']);
|
||||
await db.sortedSetAdd('multiTest7', [3], [333]);
|
||||
|
||||
await db.sortedSetRemove(['multiTest5', 'multiTest6', 'multiTest7'], ['one', 'two', 333]);
|
||||
|
||||
const members = await db.getSortedSetsMembers(['multiTest5', 'multiTest6', 'multiTest7']);
|
||||
assert.deepEqual(members, [[], [], []]);
|
||||
it('should remove multiple values from multiple keys', (done) => {
|
||||
db.sortedSetAdd('multiTest5', [1], ['one'], (err) => {
|
||||
assert.ifError(err);
|
||||
db.sortedSetAdd('multiTest6', [2], ['two'], (err) => {
|
||||
assert.ifError(err);
|
||||
db.sortedSetAdd('multiTest7', [3], [333], (err) => {
|
||||
assert.ifError(err);
|
||||
db.sortedSetRemove(['multiTest5', 'multiTest6', 'multiTest7'], ['one', 'two', 333], (err) => {
|
||||
assert.ifError(err);
|
||||
db.getSortedSetsMembers(['multiTest5', 'multiTest6', 'multiTest7'], (err, members) => {
|
||||
assert.ifError(err);
|
||||
assert.deepEqual(members, [[], [], []]);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
it('should not remove anything if values is empty array', (done) => {
|
||||
@@ -1366,10 +1364,7 @@ NUMERIC)-- WsPn&query[cid]=-1&parentCid=0&selectedCids[]=-1&privilege=topics:rea
|
||||
weights: [1, 0.5],
|
||||
}, (err, data) => {
|
||||
assert.ifError(err);
|
||||
assert.deepEqual([
|
||||
{ value: 'value2', score: 4 },
|
||||
{ value: 'value3', score: 5.5 },
|
||||
], data);
|
||||
assert.deepEqual([{ value: 'value2', score: 4 }, { value: 'value3', score: 5.5 }], data);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user