Add debug UI for hallucinating lots of large attachments to stress shared data migration.

pull/1/head
Matthew Chen 8 years ago
parent 42e972ef7e
commit bfc1445675

@ -132,6 +132,14 @@ NS_ASSUME_NONNULL_BEGIN
actionBlock:^{
[DebugUIMessages createFakeUnreadMessages:10 thread:thread];
}],
[OWSTableItem itemWithTitle:@"Create 10 fake large attachments"
actionBlock:^{
[DebugUIMessages createFakeLargeOutgoingAttachments:10 thread:thread];
}],
[OWSTableItem itemWithTitle:@"Create 100 fake large attachments"
actionBlock:^{
[DebugUIMessages createFakeLargeOutgoingAttachments:100 thread:thread];
}],
[OWSTableItem itemWithTitle:@"Send text/x-signal-plain"
actionBlock:^{
[DebugUIMessages sendOversizeTextMessage:thread];
@ -1035,6 +1043,43 @@ NS_ASSUME_NONNULL_BEGIN
}
}
+ (void)createFakeLargeOutgoingAttachments:(int)counter thread:(TSThread *)thread
{
if (counter < 1) {
return;
}
[TSStorageManager.sharedManager.dbReadWriteConnection readWriteWithBlock:^(
YapDatabaseReadWriteTransaction *transaction) {
TSOutgoingMessage *message = [[TSOutgoingMessage alloc] initWithTimestamp:[NSDate ows_millisecondTimeStamp]
inThread:thread
isVoiceMessage:NO
expiresInSeconds:0];
DDLogError(@"%@ sendFakeMessages outgoing attachment timestamp: %llu.", self.logTag, message.timestamp);
NSString *filename = @"test.mp3";
UInt32 filesize = 8 * 1024 * 1024;
TSAttachmentStream *attachmentStream =
[[TSAttachmentStream alloc] initWithContentType:@"audio/mp3" byteCount:filesize sourceFilename:filename];
NSError *error;
BOOL success = [attachmentStream writeData:[self createRandomNSDataOfSize:filesize] error:&error];
OWSAssert(success && !error);
[attachmentStream saveWithTransaction:transaction];
[message.attachmentIds addObject:attachmentStream.uniqueId];
if (filename) {
message.attachmentFilenameMap[attachmentStream.uniqueId] = filename;
}
[message saveWithTransaction:transaction];
}];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)1.f * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
[self createFakeLargeOutgoingAttachments:counter - 1 thread:thread];
});
}
+ (void)sendTinyAttachments:(int)counter thread:(TSThread *)thread
{
if (counter < 1) {

Loading…
Cancel
Save