mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-05-07 16:57:08 +02:00
Node redis (#13500)
* refactor: start migrating to node-redis * few more zset fixes * fix: db.scan * fix: list methods * fix set methods * fix: hash methods * use hasOwn, remove cloning * sorted set fixes * fix: so data is converted to strings before saving otherwise node-redis throws below error TypeError: "arguments[2]" must be of type "string | Buffer", got number instead. * chore: remove comments * fix: zrank string param * use new close * chore: up dbsearch * test: add log * test: more log * test: log failing test * test: catch errors in formatApiResponse add await so exception goes to catch * tetst: add log * fix: dont set null/undefined values * test: more fixes
This commit is contained in:
@@ -449,7 +449,8 @@ describe('Inbox resolution', () => {
|
||||
await activitypub.actors.assert(id);
|
||||
|
||||
const inboxes = await activitypub.resolveInboxes([id]);
|
||||
|
||||
console.log('inboxes', inboxes);
|
||||
console.log('actor', actor);
|
||||
assert(inboxes && Array.isArray(inboxes));
|
||||
assert.strictEqual(inboxes.length, 1);
|
||||
assert.strictEqual(inboxes[0], actor.inbox);
|
||||
|
||||
@@ -650,7 +650,7 @@ describe('Notes', () => {
|
||||
|
||||
it('should upvote an asserted remote post', async () => {
|
||||
const { id } = helpers.mocks.note();
|
||||
await activitypub.notes.assert(0, [id], { skipChecks: true });
|
||||
await activitypub.notes.assert(0, id, { skipChecks: true });
|
||||
const { activity: like } = helpers.mocks.like({
|
||||
object: id,
|
||||
});
|
||||
@@ -672,7 +672,7 @@ describe('Notes', () => {
|
||||
it('should update a note\'s content', async () => {
|
||||
const { id: actor } = helpers.mocks.person();
|
||||
const { id, note } = helpers.mocks.note({ attributedTo: actor });
|
||||
await activitypub.notes.assert(0, [id], { skipChecks: true });
|
||||
await activitypub.notes.assert(0, id, { skipChecks: true });
|
||||
note.content = utils.generateUUID();
|
||||
const { activity: update } = helpers.mocks.update({ object: note });
|
||||
const { activity } = helpers.mocks.announce({ object: update });
|
||||
|
||||
@@ -501,7 +501,9 @@ 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 }]);
|
||||
});
|
||||
});
|
||||
@@ -1144,23 +1146,17 @@ 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', (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 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 value from multiple keys', async () => {
|
||||
@@ -1171,24 +1167,15 @@ 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', (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 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 not remove anything if values is empty array', (done) => {
|
||||
@@ -1379,7 +1366,10 @@ 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();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -171,7 +171,6 @@ before(async function () {
|
||||
require('../../src/user').startJobs();
|
||||
|
||||
await webserver.listen();
|
||||
|
||||
// Iterate over all of the test suites/contexts
|
||||
this.test.parent.suites.forEach((suite) => {
|
||||
// Attach an afterAll listener that resets the defaults
|
||||
|
||||
Reference in New Issue
Block a user