Revert "Squashed commit of the following:"

This reverts commit c51022993b.
This commit is contained in:
Barış Soner Uşaklı
2026-02-13 21:45:39 -05:00
parent 08afb8a4ff
commit 3c0f0f9c3a
1934 changed files with 9003 additions and 28767 deletions

View File

@@ -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);

View File

@@ -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();
});
});
});
});
});
});

View File

@@ -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();
});
});