@juzi/wechaty 1.0.155 → 1.0.157
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/src/package-json.js +4 -4
- package/dist/cjs/src/user-modules/call.spec.js +5 -1
- package/dist/cjs/src/user-modules/call.spec.js.map +1 -1
- package/dist/cjs/src/user-modules/contact-alias-polling.spec.d.ts +3 -0
- package/dist/cjs/src/user-modules/contact-alias-polling.spec.d.ts.map +1 -0
- package/dist/cjs/src/user-modules/contact-alias-polling.spec.js +58 -0
- package/dist/cjs/src/user-modules/contact-alias-polling.spec.js.map +1 -0
- package/dist/cjs/src/user-modules/contact.d.ts +24 -0
- package/dist/cjs/src/user-modules/contact.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/contact.js +69 -5
- package/dist/cjs/src/user-modules/contact.js.map +1 -1
- package/dist/cjs/src/user-modules/contact.spec.js +156 -0
- package/dist/cjs/src/user-modules/contact.spec.js.map +1 -1
- package/dist/cjs/src/user-modules/room.d.ts +23 -0
- package/dist/cjs/src/user-modules/room.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/room.js +52 -0
- package/dist/cjs/src/user-modules/room.js.map +1 -1
- package/dist/cjs/src/user-modules/room.spec.js +156 -0
- package/dist/cjs/src/user-modules/room.spec.js.map +1 -1
- package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-call.spec.d.ts +3 -0
- package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-call.spec.d.ts.map +1 -0
- package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-call.spec.js +68 -0
- package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-call.spec.js.map +1 -0
- package/dist/cjs/src/wechaty-mixins/puppet-mixin.d.ts.map +1 -1
- package/dist/cjs/src/wechaty-mixins/puppet-mixin.js +14 -9
- package/dist/cjs/src/wechaty-mixins/puppet-mixin.js.map +1 -1
- package/dist/esm/src/package-json.js +4 -4
- package/dist/esm/src/user-modules/call.spec.js +5 -1
- package/dist/esm/src/user-modules/call.spec.js.map +1 -1
- package/dist/esm/src/user-modules/contact-alias-polling.spec.d.ts +3 -0
- package/dist/esm/src/user-modules/contact-alias-polling.spec.d.ts.map +1 -0
- package/dist/esm/src/user-modules/contact-alias-polling.spec.js +56 -0
- package/dist/esm/src/user-modules/contact-alias-polling.spec.js.map +1 -0
- package/dist/esm/src/user-modules/contact.d.ts +24 -0
- package/dist/esm/src/user-modules/contact.d.ts.map +1 -1
- package/dist/esm/src/user-modules/contact.js +69 -5
- package/dist/esm/src/user-modules/contact.js.map +1 -1
- package/dist/esm/src/user-modules/contact.spec.js +157 -1
- package/dist/esm/src/user-modules/contact.spec.js.map +1 -1
- package/dist/esm/src/user-modules/room.d.ts +23 -0
- package/dist/esm/src/user-modules/room.d.ts.map +1 -1
- package/dist/esm/src/user-modules/room.js +52 -0
- package/dist/esm/src/user-modules/room.js.map +1 -1
- package/dist/esm/src/user-modules/room.spec.js +156 -0
- package/dist/esm/src/user-modules/room.spec.js.map +1 -1
- package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-call.spec.d.ts +3 -0
- package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-call.spec.d.ts.map +1 -0
- package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-call.spec.js +43 -0
- package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-call.spec.js.map +1 -0
- package/dist/esm/src/wechaty-mixins/puppet-mixin.d.ts.map +1 -1
- package/dist/esm/src/wechaty-mixins/puppet-mixin.js +14 -9
- package/dist/esm/src/wechaty-mixins/puppet-mixin.js.map +1 -1
- package/package.json +3 -3
- package/src/package-json.ts +4 -4
- package/src/user-modules/call.spec.ts +5 -1
- package/src/user-modules/contact-alias-polling.spec.ts +70 -0
- package/src/user-modules/contact.spec.ts +212 -0
- package/src/user-modules/contact.ts +81 -5
- package/src/user-modules/room.spec.ts +210 -0
- package/src/user-modules/room.ts +63 -0
- package/src/wechaty-mixins/puppet-mixin-dirty-call.spec.ts +55 -0
- package/src/wechaty-mixins/puppet-mixin.ts +14 -9
|
@@ -70,6 +70,162 @@ const contact_js_1 = require("./contact.js");
|
|
|
70
70
|
t.fail(c.toString());
|
|
71
71
|
}, 'should throw when we instanciate a global class');
|
|
72
72
|
});
|
|
73
|
+
(0, tstest_1.test)('findAllIter() yields every contact returned by contactSearch', async (t) => {
|
|
74
|
+
const TOTAL = 7;
|
|
75
|
+
const sandbox = tstest_1.sinon.createSandbox();
|
|
76
|
+
const puppet = new wechaty_puppet_mock_1.PuppetMock();
|
|
77
|
+
const wechaty = wechaty_builder_js_1.WechatyBuilder.build({ puppet });
|
|
78
|
+
const idList = Array.from({ length: TOTAL }, (_, idx) => `c-${idx}`);
|
|
79
|
+
const buildPayload = (id) => ({ id, name: `name-${id}` });
|
|
80
|
+
sandbox.stub(puppet, 'contactSearch').resolves(idList);
|
|
81
|
+
sandbox.stub(puppet, 'batchContactPayload').callsFake(async (...args) => {
|
|
82
|
+
const ids = args[0];
|
|
83
|
+
return new Map(ids.map(id => [id, buildPayload(id)]));
|
|
84
|
+
});
|
|
85
|
+
await wechaty.start();
|
|
86
|
+
const bot = puppet.mocker.createContact({ name: 'bot' });
|
|
87
|
+
await puppet.mocker.login(bot);
|
|
88
|
+
const seen = [];
|
|
89
|
+
for await (const chunk of wechaty.Contact.findAllIter()) {
|
|
90
|
+
for (const contact of chunk) {
|
|
91
|
+
seen.push(contact.id);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
t.equal(seen.length, TOTAL, `should yield ${TOTAL} contacts`);
|
|
95
|
+
t.same(seen, idList, 'should yield contacts in search order');
|
|
96
|
+
await wechaty.stop();
|
|
97
|
+
});
|
|
98
|
+
(0, tstest_1.test)('findAllIter() chunks 101 contacts into [100, 1] at default batch=100', async (t) => {
|
|
99
|
+
const TOTAL = 101;
|
|
100
|
+
const sandbox = tstest_1.sinon.createSandbox();
|
|
101
|
+
const puppet = new wechaty_puppet_mock_1.PuppetMock();
|
|
102
|
+
const wechaty = wechaty_builder_js_1.WechatyBuilder.build({ puppet });
|
|
103
|
+
const idList = Array.from({ length: TOTAL }, (_, idx) => `c-${idx}`);
|
|
104
|
+
sandbox.stub(puppet, 'contactSearch').resolves(idList);
|
|
105
|
+
sandbox.stub(puppet, 'batchContactPayload').callsFake(async (...args) => {
|
|
106
|
+
const ids = args[0];
|
|
107
|
+
return new Map(ids.map(id => [id, { id, name: id }]));
|
|
108
|
+
});
|
|
109
|
+
await wechaty.start();
|
|
110
|
+
const bot = puppet.mocker.createContact({ name: 'bot' });
|
|
111
|
+
await puppet.mocker.login(bot);
|
|
112
|
+
const sizes = [];
|
|
113
|
+
for await (const chunk of wechaty.Contact.findAllIter()) {
|
|
114
|
+
sizes.push(chunk.length);
|
|
115
|
+
}
|
|
116
|
+
t.same(sizes, [100, 1], 'should split into two batches: 100 and 1');
|
|
117
|
+
await wechaty.stop();
|
|
118
|
+
});
|
|
119
|
+
(0, tstest_1.test)('findAllIter() honors early break without throwing', async (t) => {
|
|
120
|
+
const TOTAL = 250;
|
|
121
|
+
const sandbox = tstest_1.sinon.createSandbox();
|
|
122
|
+
const puppet = new wechaty_puppet_mock_1.PuppetMock();
|
|
123
|
+
const wechaty = wechaty_builder_js_1.WechatyBuilder.build({ puppet });
|
|
124
|
+
const idList = Array.from({ length: TOTAL }, (_, idx) => `c-${idx}`);
|
|
125
|
+
sandbox.stub(puppet, 'contactSearch').resolves(idList);
|
|
126
|
+
const batchSpy = sandbox.stub(puppet, 'batchContactPayload').callsFake(async (...args) => {
|
|
127
|
+
const ids = args[0];
|
|
128
|
+
return new Map(ids.map(id => [id, { id, name: id }]));
|
|
129
|
+
});
|
|
130
|
+
await wechaty.start();
|
|
131
|
+
const bot = puppet.mocker.createContact({ name: 'bot' });
|
|
132
|
+
await puppet.mocker.login(bot);
|
|
133
|
+
let received = 0;
|
|
134
|
+
await t.resolves((async () => {
|
|
135
|
+
for await (const chunk of wechaty.Contact.findAllIter()) {
|
|
136
|
+
received += chunk.length;
|
|
137
|
+
if (received >= 100) {
|
|
138
|
+
break;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
})(), 'breaking the loop should not throw');
|
|
142
|
+
t.equal(received, 100, 'should stop after the first batch');
|
|
143
|
+
t.equal(batchSpy.callCount, 1, 'should not invoke batchContactPayload again after break');
|
|
144
|
+
await wechaty.stop();
|
|
145
|
+
});
|
|
146
|
+
(0, tstest_1.test)('findAllIter() invokes batchContactPayload ceil(N/batch) times, not N times', async (t) => {
|
|
147
|
+
const TOTAL = 100;
|
|
148
|
+
const BATCH = 25;
|
|
149
|
+
const sandbox = tstest_1.sinon.createSandbox();
|
|
150
|
+
const puppet = new wechaty_puppet_mock_1.PuppetMock();
|
|
151
|
+
const wechaty = wechaty_builder_js_1.WechatyBuilder.build({ puppet });
|
|
152
|
+
const idList = Array.from({ length: TOTAL }, (_, idx) => `c-${idx}`);
|
|
153
|
+
sandbox.stub(puppet, 'contactSearch').resolves(idList);
|
|
154
|
+
const batchSpy = sandbox.stub(puppet, 'batchContactPayload').callsFake(async (...args) => {
|
|
155
|
+
const ids = args[0];
|
|
156
|
+
return new Map(ids.map(id => [id, { id, name: id }]));
|
|
157
|
+
});
|
|
158
|
+
const rawSpy = sandbox.spy(puppet, 'contactRawPayload');
|
|
159
|
+
await wechaty.start();
|
|
160
|
+
const bot = puppet.mocker.createContact({ name: 'bot' });
|
|
161
|
+
await puppet.mocker.login(bot);
|
|
162
|
+
const rawCountBefore = rawSpy.callCount;
|
|
163
|
+
let received = 0;
|
|
164
|
+
for await (const chunk of wechaty.Contact.findAllIter(undefined, { batch: BATCH })) {
|
|
165
|
+
received += chunk.length;
|
|
166
|
+
}
|
|
167
|
+
t.equal(received, TOTAL, 'should iterate all contacts');
|
|
168
|
+
t.equal(batchSpy.callCount, Math.ceil(TOTAL / BATCH), `should invoke batchContactPayload ${Math.ceil(TOTAL / BATCH)} times`);
|
|
169
|
+
t.equal(rawSpy.callCount, rawCountBefore, 'should never fall back to per-id contactRawPayload during iteration');
|
|
170
|
+
await wechaty.stop();
|
|
171
|
+
});
|
|
172
|
+
(0, tstest_1.test)('findAllIter() with empty contactSearch yields nothing and does not throw', async (t) => {
|
|
173
|
+
const sandbox = tstest_1.sinon.createSandbox();
|
|
174
|
+
const puppet = new wechaty_puppet_mock_1.PuppetMock();
|
|
175
|
+
const wechaty = wechaty_builder_js_1.WechatyBuilder.build({ puppet });
|
|
176
|
+
sandbox.stub(puppet, 'contactSearch').resolves([]);
|
|
177
|
+
const batchSpy = sandbox.stub(puppet, 'batchContactPayload').resolves(new Map());
|
|
178
|
+
await wechaty.start();
|
|
179
|
+
const bot = puppet.mocker.createContact({ name: 'bot' });
|
|
180
|
+
await puppet.mocker.login(bot);
|
|
181
|
+
let chunkCount = 0;
|
|
182
|
+
await t.resolves((async () => {
|
|
183
|
+
for await (const _chunk of wechaty.Contact.findAllIter()) {
|
|
184
|
+
chunkCount++;
|
|
185
|
+
}
|
|
186
|
+
})(), 'empty iteration should not throw');
|
|
187
|
+
t.equal(chunkCount, 0, 'should yield zero chunks');
|
|
188
|
+
t.equal(batchSpy.callCount, 0, 'should not call batchContactPayload when no ids');
|
|
189
|
+
await wechaty.stop();
|
|
190
|
+
});
|
|
191
|
+
(0, tstest_1.test)('findAllIter() throws when batch <= 0', async (t) => {
|
|
192
|
+
const sandbox = tstest_1.sinon.createSandbox();
|
|
193
|
+
const puppet = new wechaty_puppet_mock_1.PuppetMock();
|
|
194
|
+
const wechaty = wechaty_builder_js_1.WechatyBuilder.build({ puppet });
|
|
195
|
+
sandbox.stub(puppet, 'contactSearch').resolves([]);
|
|
196
|
+
sandbox.stub(puppet, 'batchContactPayload').resolves(new Map());
|
|
197
|
+
await wechaty.start();
|
|
198
|
+
const bot = puppet.mocker.createContact({ name: 'bot' });
|
|
199
|
+
await puppet.mocker.login(bot);
|
|
200
|
+
for (const badBatch of [0, -1]) {
|
|
201
|
+
await t.rejects((async () => {
|
|
202
|
+
for await (const _chunk of wechaty.Contact.findAllIter(undefined, { batch: badBatch })) {
|
|
203
|
+
// should never reach here
|
|
204
|
+
}
|
|
205
|
+
})(), /batch must be positive/, `should throw when batch=${badBatch}`);
|
|
206
|
+
}
|
|
207
|
+
await wechaty.stop();
|
|
208
|
+
});
|
|
209
|
+
(0, tstest_1.test)('findAllIter() skips ids missing from payloadMap', async (t) => {
|
|
210
|
+
const sandbox = tstest_1.sinon.createSandbox();
|
|
211
|
+
const puppet = new wechaty_puppet_mock_1.PuppetMock();
|
|
212
|
+
const wechaty = wechaty_builder_js_1.WechatyBuilder.build({ puppet });
|
|
213
|
+
sandbox.stub(puppet, 'contactSearch').resolves(['c1', 'c2', 'c3']);
|
|
214
|
+
sandbox.stub(puppet, 'batchContactPayload').resolves(new Map([['c1', { id: 'c1', name: 'name-c1' }]]));
|
|
215
|
+
await wechaty.start();
|
|
216
|
+
const bot = puppet.mocker.createContact({ name: 'bot' });
|
|
217
|
+
await puppet.mocker.login(bot);
|
|
218
|
+
const seen = [];
|
|
219
|
+
await t.resolves((async () => {
|
|
220
|
+
for await (const chunk of wechaty.Contact.findAllIter()) {
|
|
221
|
+
for (const contact of chunk) {
|
|
222
|
+
seen.push(contact.id);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
})(), 'missing ids should not throw or stall iteration');
|
|
226
|
+
t.same(seen, ['c1'], 'should yield only contacts whose payload was returned');
|
|
227
|
+
await wechaty.stop();
|
|
228
|
+
});
|
|
73
229
|
(0, tstest_1.test)('ProtectedProperties', async (t) => {
|
|
74
230
|
const noOneLeft = true;
|
|
75
231
|
t.ok(noOneLeft, 'should match Wechaty properties for every protected property');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contact.spec.js","sourceRoot":"","sources":["../../../../src/user-modules/contact.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contact.spec.js","sourceRoot":"","sources":["../../../../src/user-modules/contact.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -111,6 +111,29 @@ declare class RoomMixin extends MixinBase implements SayableSayer {
|
|
|
111
111
|
* const roomList = await bot.Room.find({topic: 'wechaty'})
|
|
112
112
|
*/
|
|
113
113
|
static find(query: string | PUPPET.filters.Room): Promise<undefined | RoomInterface>;
|
|
114
|
+
/**
|
|
115
|
+
* Async iterator variant of {@link findAll} that yields rooms in batches.
|
|
116
|
+
*
|
|
117
|
+
* Each batch is materialised with a single `puppet.batchRoomPayload` RPC,
|
|
118
|
+
* so iterating N rooms costs roughly `ceil(N / batch)` round trips instead
|
|
119
|
+
* of N. Uses `puppet.batchRoomPayload` directly (required on the puppet
|
|
120
|
+
* abstract), so callers do not need a per-id fallback path. Callers may
|
|
121
|
+
* `break` between batches to short-circuit.
|
|
122
|
+
*
|
|
123
|
+
* @static
|
|
124
|
+
* @param {PUPPET.filters.Room} [query]
|
|
125
|
+
* @param {{ batch?: number }} [opts] batch size, default 100
|
|
126
|
+
* @returns {AsyncIterable<RoomInterface[]>}
|
|
127
|
+
* @example
|
|
128
|
+
* for await (const chunk of bot.Room.findAllIter()) {
|
|
129
|
+
* for (const room of chunk) {
|
|
130
|
+
* console.log(await room.topic())
|
|
131
|
+
* }
|
|
132
|
+
* }
|
|
133
|
+
*/
|
|
134
|
+
static findAllIter(query?: PUPPET.filters.Room, opts?: {
|
|
135
|
+
batch?: number;
|
|
136
|
+
}): AsyncIterable<RoomInterface[]>;
|
|
114
137
|
static batchLoadRooms(roomIdList: string[]): Promise<RoomInterface[]>;
|
|
115
138
|
/** const roomList: RoomInterface[] = []
|
|
116
139
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"room.d.ts","sourceRoot":"","sources":["../../../../src/user-modules/room.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,MAAM,MAAgB,sBAAsB,CAAA;AACxD,OAAO,EAAW,KAAK,gBAAgB,EAAE,MAAO,UAAU,CAAA;AAE1D,OAAO,KAAK,EACV,WAAW,EACZ,MAAsC,aAAa,CAAA;AAuBpD,OAAO,EAC6B,UAAU,EAC7C,MAA4C,mBAAmB,CAAA;AAChE,OAAO,KAAK,EACV,YAAY,EACZ,OAAO,EACR,MAA4C,mBAAmB,CAAA;AAGhE,OAAO,EACL,gBAAgB,EAChB,WAAW,EACZ,MAA4B,cAAc,CAAA;AAC3C,OAAO,KAAK,EACV,gBAAgB,EACjB,MAA4B,cAAc,CAAA;AAG3C,QAAA,MAAM,SAAS;;;;;;;;;;;wGAId,CAAA;AAED;;;;;GAKG;AACH,cAAM,SAAU,SAAQ,SAAU,YAAW,YAAY;
|
|
1
|
+
{"version":3,"file":"room.d.ts","sourceRoot":"","sources":["../../../../src/user-modules/room.ts"],"names":[],"mappings":"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"}
|
|
@@ -232,6 +232,58 @@ class RoomMixin extends MixinBase {
|
|
|
232
232
|
config_js_1.log.warn('Room', 'find() all %d rooms are invalid', roomList.length);
|
|
233
233
|
return undefined;
|
|
234
234
|
}
|
|
235
|
+
/**
|
|
236
|
+
* Async iterator variant of {@link findAll} that yields rooms in batches.
|
|
237
|
+
*
|
|
238
|
+
* Each batch is materialised with a single `puppet.batchRoomPayload` RPC,
|
|
239
|
+
* so iterating N rooms costs roughly `ceil(N / batch)` round trips instead
|
|
240
|
+
* of N. Uses `puppet.batchRoomPayload` directly (required on the puppet
|
|
241
|
+
* abstract), so callers do not need a per-id fallback path. Callers may
|
|
242
|
+
* `break` between batches to short-circuit.
|
|
243
|
+
*
|
|
244
|
+
* @static
|
|
245
|
+
* @param {PUPPET.filters.Room} [query]
|
|
246
|
+
* @param {{ batch?: number }} [opts] batch size, default 100
|
|
247
|
+
* @returns {AsyncIterable<RoomInterface[]>}
|
|
248
|
+
* @example
|
|
249
|
+
* for await (const chunk of bot.Room.findAllIter()) {
|
|
250
|
+
* for (const room of chunk) {
|
|
251
|
+
* console.log(await room.topic())
|
|
252
|
+
* }
|
|
253
|
+
* }
|
|
254
|
+
*/
|
|
255
|
+
static async *findAllIter(query, opts) {
|
|
256
|
+
const batch = opts?.batch ?? 100;
|
|
257
|
+
config_js_1.log.verbose('Room', 'findAllIter(%s, batch=%d)', JSON.stringify(query, stringify_filter_js_1.stringifyFilter) || '', batch);
|
|
258
|
+
if (batch <= 0) {
|
|
259
|
+
throw new Error(`Room.findAllIter() batch must be positive, got ${batch}`);
|
|
260
|
+
}
|
|
261
|
+
const roomIdList = await this.wechaty.puppet.roomSearch(query);
|
|
262
|
+
if (!this.wechaty.isLoggedIn) {
|
|
263
|
+
throw new Error('Room.findAllIter() requires logged in');
|
|
264
|
+
}
|
|
265
|
+
for (let i = 0; i < roomIdList.length; i += batch) {
|
|
266
|
+
const idChunk = roomIdList.slice(i, i + batch);
|
|
267
|
+
const payloadMap = await this.wechaty.puppet.batchRoomPayload(idChunk);
|
|
268
|
+
const roomChunk = [];
|
|
269
|
+
for (const id of idChunk) {
|
|
270
|
+
const payload = payloadMap.get(id);
|
|
271
|
+
if (!payload) {
|
|
272
|
+
config_js_1.log.silly('Room', 'findAllIter() payload missing for id=%s, skip', id);
|
|
273
|
+
continue;
|
|
274
|
+
}
|
|
275
|
+
const room = this.wechaty.Room.load(id);
|
|
276
|
+
room.payload = payload;
|
|
277
|
+
roomChunk.push(room);
|
|
278
|
+
}
|
|
279
|
+
if (roomChunk.length > 0) {
|
|
280
|
+
yield roomChunk;
|
|
281
|
+
}
|
|
282
|
+
else {
|
|
283
|
+
config_js_1.log.warn('Room', 'findAllIter() batch all missing from payloadMap, idChunk=%j', idChunk);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
}
|
|
235
287
|
static async batchLoadRooms(roomIdList) {
|
|
236
288
|
let continuousErrorCount = 0;
|
|
237
289
|
let totalErrorCount = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"room.js","sourceRoot":"","sources":["../../../../src/user-modules/room.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"room.js","sourceRoot":"","sources":["../../../../src/user-modules/room.ts"],"names":[],"mappings":"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"}
|
|
@@ -185,6 +185,162 @@ const wechaty_builder_js_1 = require("../wechaty-builder.js");
|
|
|
185
185
|
});
|
|
186
186
|
await wechaty.stop();
|
|
187
187
|
});
|
|
188
|
+
(0, tstest_1.test)('Room.findAllIter() yields every room returned by roomSearch', async (t) => {
|
|
189
|
+
const TOTAL = 6;
|
|
190
|
+
const sandbox = tstest_1.sinon.createSandbox();
|
|
191
|
+
const puppet = new wechaty_puppet_mock_1.PuppetMock();
|
|
192
|
+
const wechaty = wechaty_builder_js_1.WechatyBuilder.build({ puppet });
|
|
193
|
+
const idList = Array.from({ length: TOTAL }, (_, idx) => `r-${idx}`);
|
|
194
|
+
const buildPayload = (id) => ({ id, topic: `topic-${id}`, memberIdList: [], adminIdList: [] });
|
|
195
|
+
sandbox.stub(puppet, 'roomSearch').resolves(idList);
|
|
196
|
+
sandbox.stub(puppet, 'batchRoomPayload').callsFake(async (...args) => {
|
|
197
|
+
const ids = args[0];
|
|
198
|
+
return new Map(ids.map(id => [id, buildPayload(id)]));
|
|
199
|
+
});
|
|
200
|
+
await wechaty.start();
|
|
201
|
+
const bot = puppet.mocker.createContact({ name: 'bot' });
|
|
202
|
+
await puppet.mocker.login(bot);
|
|
203
|
+
const seen = [];
|
|
204
|
+
for await (const chunk of wechaty.Room.findAllIter()) {
|
|
205
|
+
for (const room of chunk) {
|
|
206
|
+
seen.push(room.id);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
t.equal(seen.length, TOTAL, `should yield ${TOTAL} rooms`);
|
|
210
|
+
t.same(seen, idList, 'should yield rooms in search order');
|
|
211
|
+
await wechaty.stop();
|
|
212
|
+
});
|
|
213
|
+
(0, tstest_1.test)('Room.findAllIter() chunks 101 rooms into [100, 1] at default batch=100', async (t) => {
|
|
214
|
+
const TOTAL = 101;
|
|
215
|
+
const sandbox = tstest_1.sinon.createSandbox();
|
|
216
|
+
const puppet = new wechaty_puppet_mock_1.PuppetMock();
|
|
217
|
+
const wechaty = wechaty_builder_js_1.WechatyBuilder.build({ puppet });
|
|
218
|
+
const idList = Array.from({ length: TOTAL }, (_, idx) => `r-${idx}`);
|
|
219
|
+
sandbox.stub(puppet, 'roomSearch').resolves(idList);
|
|
220
|
+
sandbox.stub(puppet, 'batchRoomPayload').callsFake(async (...args) => {
|
|
221
|
+
const ids = args[0];
|
|
222
|
+
return new Map(ids.map(id => [id, { id, topic: id, memberIdList: [], adminIdList: [] }]));
|
|
223
|
+
});
|
|
224
|
+
await wechaty.start();
|
|
225
|
+
const bot = puppet.mocker.createContact({ name: 'bot' });
|
|
226
|
+
await puppet.mocker.login(bot);
|
|
227
|
+
const sizes = [];
|
|
228
|
+
for await (const chunk of wechaty.Room.findAllIter()) {
|
|
229
|
+
sizes.push(chunk.length);
|
|
230
|
+
}
|
|
231
|
+
t.same(sizes, [100, 1], 'should split into two batches: 100 and 1');
|
|
232
|
+
await wechaty.stop();
|
|
233
|
+
});
|
|
234
|
+
(0, tstest_1.test)('Room.findAllIter() honors early break without throwing', async (t) => {
|
|
235
|
+
const TOTAL = 250;
|
|
236
|
+
const sandbox = tstest_1.sinon.createSandbox();
|
|
237
|
+
const puppet = new wechaty_puppet_mock_1.PuppetMock();
|
|
238
|
+
const wechaty = wechaty_builder_js_1.WechatyBuilder.build({ puppet });
|
|
239
|
+
const idList = Array.from({ length: TOTAL }, (_, idx) => `r-${idx}`);
|
|
240
|
+
sandbox.stub(puppet, 'roomSearch').resolves(idList);
|
|
241
|
+
const batchSpy = sandbox.stub(puppet, 'batchRoomPayload').callsFake(async (...args) => {
|
|
242
|
+
const ids = args[0];
|
|
243
|
+
return new Map(ids.map(id => [id, { id, topic: id, memberIdList: [], adminIdList: [] }]));
|
|
244
|
+
});
|
|
245
|
+
await wechaty.start();
|
|
246
|
+
const bot = puppet.mocker.createContact({ name: 'bot' });
|
|
247
|
+
await puppet.mocker.login(bot);
|
|
248
|
+
let received = 0;
|
|
249
|
+
await t.resolves((async () => {
|
|
250
|
+
for await (const chunk of wechaty.Room.findAllIter()) {
|
|
251
|
+
received += chunk.length;
|
|
252
|
+
if (received >= 100) {
|
|
253
|
+
break;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
})(), 'breaking the loop should not throw');
|
|
257
|
+
t.equal(received, 100, 'should stop after the first batch');
|
|
258
|
+
t.equal(batchSpy.callCount, 1, 'should not invoke batchRoomPayload again after break');
|
|
259
|
+
await wechaty.stop();
|
|
260
|
+
});
|
|
261
|
+
(0, tstest_1.test)('Room.findAllIter() invokes batchRoomPayload ceil(N/batch) times, not N times', async (t) => {
|
|
262
|
+
const TOTAL = 100;
|
|
263
|
+
const BATCH = 25;
|
|
264
|
+
const sandbox = tstest_1.sinon.createSandbox();
|
|
265
|
+
const puppet = new wechaty_puppet_mock_1.PuppetMock();
|
|
266
|
+
const wechaty = wechaty_builder_js_1.WechatyBuilder.build({ puppet });
|
|
267
|
+
const idList = Array.from({ length: TOTAL }, (_, idx) => `r-${idx}`);
|
|
268
|
+
sandbox.stub(puppet, 'roomSearch').resolves(idList);
|
|
269
|
+
const batchSpy = sandbox.stub(puppet, 'batchRoomPayload').callsFake(async (...args) => {
|
|
270
|
+
const ids = args[0];
|
|
271
|
+
return new Map(ids.map(id => [id, { id, topic: id, memberIdList: [], adminIdList: [] }]));
|
|
272
|
+
});
|
|
273
|
+
const rawSpy = sandbox.spy(puppet, 'roomRawPayload');
|
|
274
|
+
await wechaty.start();
|
|
275
|
+
const bot = puppet.mocker.createContact({ name: 'bot' });
|
|
276
|
+
await puppet.mocker.login(bot);
|
|
277
|
+
const rawCountBefore = rawSpy.callCount;
|
|
278
|
+
let received = 0;
|
|
279
|
+
for await (const chunk of wechaty.Room.findAllIter(undefined, { batch: BATCH })) {
|
|
280
|
+
received += chunk.length;
|
|
281
|
+
}
|
|
282
|
+
t.equal(received, TOTAL, 'should iterate all rooms');
|
|
283
|
+
t.equal(batchSpy.callCount, Math.ceil(TOTAL / BATCH), `should invoke batchRoomPayload ${Math.ceil(TOTAL / BATCH)} times`);
|
|
284
|
+
t.equal(rawSpy.callCount, rawCountBefore, 'should never fall back to per-id roomRawPayload during iteration');
|
|
285
|
+
await wechaty.stop();
|
|
286
|
+
});
|
|
287
|
+
(0, tstest_1.test)('Room.findAllIter() with empty roomSearch yields nothing and does not throw', async (t) => {
|
|
288
|
+
const sandbox = tstest_1.sinon.createSandbox();
|
|
289
|
+
const puppet = new wechaty_puppet_mock_1.PuppetMock();
|
|
290
|
+
const wechaty = wechaty_builder_js_1.WechatyBuilder.build({ puppet });
|
|
291
|
+
sandbox.stub(puppet, 'roomSearch').resolves([]);
|
|
292
|
+
const batchSpy = sandbox.stub(puppet, 'batchRoomPayload').resolves(new Map());
|
|
293
|
+
await wechaty.start();
|
|
294
|
+
const bot = puppet.mocker.createContact({ name: 'bot' });
|
|
295
|
+
await puppet.mocker.login(bot);
|
|
296
|
+
let chunkCount = 0;
|
|
297
|
+
await t.resolves((async () => {
|
|
298
|
+
for await (const _chunk of wechaty.Room.findAllIter()) {
|
|
299
|
+
chunkCount++;
|
|
300
|
+
}
|
|
301
|
+
})(), 'empty iteration should not throw');
|
|
302
|
+
t.equal(chunkCount, 0, 'should yield zero chunks');
|
|
303
|
+
t.equal(batchSpy.callCount, 0, 'should not call batchRoomPayload when no ids');
|
|
304
|
+
await wechaty.stop();
|
|
305
|
+
});
|
|
306
|
+
(0, tstest_1.test)('Room.findAllIter() throws when batch <= 0', async (t) => {
|
|
307
|
+
const sandbox = tstest_1.sinon.createSandbox();
|
|
308
|
+
const puppet = new wechaty_puppet_mock_1.PuppetMock();
|
|
309
|
+
const wechaty = wechaty_builder_js_1.WechatyBuilder.build({ puppet });
|
|
310
|
+
sandbox.stub(puppet, 'roomSearch').resolves([]);
|
|
311
|
+
sandbox.stub(puppet, 'batchRoomPayload').resolves(new Map());
|
|
312
|
+
await wechaty.start();
|
|
313
|
+
const bot = puppet.mocker.createContact({ name: 'bot' });
|
|
314
|
+
await puppet.mocker.login(bot);
|
|
315
|
+
for (const badBatch of [0, -1]) {
|
|
316
|
+
await t.rejects((async () => {
|
|
317
|
+
for await (const _chunk of wechaty.Room.findAllIter(undefined, { batch: badBatch })) {
|
|
318
|
+
// should never reach here
|
|
319
|
+
}
|
|
320
|
+
})(), /batch must be positive/, `should throw when batch=${badBatch}`);
|
|
321
|
+
}
|
|
322
|
+
await wechaty.stop();
|
|
323
|
+
});
|
|
324
|
+
(0, tstest_1.test)('Room.findAllIter() skips ids missing from payloadMap', async (t) => {
|
|
325
|
+
const sandbox = tstest_1.sinon.createSandbox();
|
|
326
|
+
const puppet = new wechaty_puppet_mock_1.PuppetMock();
|
|
327
|
+
const wechaty = wechaty_builder_js_1.WechatyBuilder.build({ puppet });
|
|
328
|
+
sandbox.stub(puppet, 'roomSearch').resolves(['r1', 'r2', 'r3']);
|
|
329
|
+
sandbox.stub(puppet, 'batchRoomPayload').resolves(new Map([['r1', { id: 'r1', topic: 'topic-r1', memberIdList: [], adminIdList: [] }]]));
|
|
330
|
+
await wechaty.start();
|
|
331
|
+
const bot = puppet.mocker.createContact({ name: 'bot' });
|
|
332
|
+
await puppet.mocker.login(bot);
|
|
333
|
+
const seen = [];
|
|
334
|
+
await t.resolves((async () => {
|
|
335
|
+
for await (const chunk of wechaty.Room.findAllIter()) {
|
|
336
|
+
for (const room of chunk) {
|
|
337
|
+
seen.push(room.id);
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
})(), 'missing ids should not throw or stall iteration');
|
|
341
|
+
t.same(seen, ['r1'], 'should yield only rooms whose payload was returned');
|
|
342
|
+
await wechaty.stop();
|
|
343
|
+
});
|
|
188
344
|
(0, tstest_1.test)('ProtectedProperties', async (t) => {
|
|
189
345
|
const noOneLeft = true;
|
|
190
346
|
t.ok(noOneLeft, 'should match Wechaty properties for every protected property');
|