From dcf9502d01b5947415bab9409ce9bc3489764259 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Fri, 27 Sep 2019 14:23:37 -0300 Subject: [PATCH] Fix TSOutgoingMessageTest. --- .../Interactions/TSOutgoingMessageTest.m | 73 ++++++++++++------- 1 file changed, 45 insertions(+), 28 deletions(-) diff --git a/SignalServiceKit/tests/Messages/Interactions/TSOutgoingMessageTest.m b/SignalServiceKit/tests/Messages/Interactions/TSOutgoingMessageTest.m index 86ea4964b5..d41c2c9ce5 100644 --- a/SignalServiceKit/tests/Messages/Interactions/TSOutgoingMessageTest.m +++ b/SignalServiceKit/tests/Messages/Interactions/TSOutgoingMessageTest.m @@ -2,38 +2,35 @@ // Copyright (c) 2019 Open Whisper Systems. All rights reserved. // -#import "TSOutgoingMessage.h" #import "SSKBaseTestObjC.h" #import "TSContactThread.h" +#import "TSOutgoingMessage.h" +#import NS_ASSUME_NONNULL_BEGIN @interface TSOutgoingMessageTest : SSKBaseTestObjC -@property (nonatomic) TSContactThread *thread; - @end +#pragma mark - + @implementation TSOutgoingMessageTest -#ifdef BROKEN_TESTS - -- (NSString *)contactId -{ - return @"fake-thread-id"; -} - - (void)setUp { [super setUp]; - self.thread = [[TSContactThread alloc] initWithUniqueId:self.contactId]; } - (void)testShouldNotStartExpireTimerWithMessageThatDoesNotExpire { - TSOutgoingMessage *message = + [self writeWithBlock:^(SDSAnyWriteTransaction *transaction) { + SignalServiceAddress *otherAddress = [[SignalServiceAddress alloc] initWithPhoneNumber:@"+12223334444"]; + TSContactThread *thread = [TSContactThread getOrCreateThreadWithContactAddress:otherAddress + transaction:transaction]; + TSOutgoingMessage *message = [[TSOutgoingMessage alloc] initOutgoingMessageWithTimestamp:100 - inThread:self.thread + inThread:thread messageBody:nil attachmentIds:[NSMutableArray new] expiresInSeconds:0 @@ -42,17 +39,23 @@ NS_ASSUME_NONNULL_BEGIN groupMetaMessage:TSGroupMetaMessageUnspecified quotedMessage:nil contactShare:nil - linkPreview:nil]; - [self readWithBlock:^(SDSAnyReadTransaction *transaction) { + linkPreview:nil + messageSticker:nil + isViewOnceMessage:NO]; + XCTAssertFalse([message shouldStartExpireTimer]); }]; } - (void)testShouldStartExpireTimerWithSentMessage { + [self writeWithBlock:^(SDSAnyWriteTransaction *transaction) { + SignalServiceAddress *otherAddress = [[SignalServiceAddress alloc] initWithPhoneNumber:@"+12223334444"]; + TSContactThread *thread = [TSContactThread getOrCreateThreadWithContactAddress:otherAddress + transaction:transaction]; TSOutgoingMessage *message = [[TSOutgoingMessage alloc] initOutgoingMessageWithTimestamp:100 - inThread:self.thread + inThread:thread messageBody:nil attachmentIds:[NSMutableArray new] expiresInSeconds:10 @@ -61,18 +64,25 @@ NS_ASSUME_NONNULL_BEGIN groupMetaMessage:TSGroupMetaMessageUnspecified quotedMessage:nil contactShare:nil - linkPreview:nil]; - [self writeWithBlock:^(SDSAnyWriteTransaction *transaction) { - [message updateWithSentRecipient:self.contactId wasSentByUD:NO transaction:transaction]; + linkPreview:nil + messageSticker:nil + isViewOnceMessage:NO]; + + [message updateWithSentRecipient:otherAddress wasSentByUD:NO transaction:transaction]; + XCTAssertTrue([message shouldStartExpireTimer]); }]; } - (void)testShouldNotStartExpireTimerWithUnsentMessage { + [self writeWithBlock:^(SDSAnyWriteTransaction *transaction) { + SignalServiceAddress *otherAddress = [[SignalServiceAddress alloc] initWithPhoneNumber:@"+12223334444"]; + TSContactThread *thread = [TSContactThread getOrCreateThreadWithContactAddress:otherAddress + transaction:transaction]; TSOutgoingMessage *message = [[TSOutgoingMessage alloc] initOutgoingMessageWithTimestamp:100 - inThread:self.thread + inThread:thread messageBody:nil attachmentIds:[NSMutableArray new] expiresInSeconds:10 @@ -81,17 +91,23 @@ NS_ASSUME_NONNULL_BEGIN groupMetaMessage:TSGroupMetaMessageUnspecified quotedMessage:nil contactShare:nil - linkPreview:nil]; - [self readWithBlock:^(SDSAnyReadTransaction *transaction) { + linkPreview:nil + messageSticker:nil + isViewOnceMessage:NO]; + XCTAssertFalse([message shouldStartExpireTimer]); }]; } - (void)testShouldNotStartExpireTimerWithAttemptingOutMessage { + [self writeWithBlock:^(SDSAnyWriteTransaction *transaction) { + SignalServiceAddress *otherAddress = [[SignalServiceAddress alloc] initWithPhoneNumber:@"+12223334444"]; + TSContactThread *thread = [TSContactThread getOrCreateThreadWithContactAddress:otherAddress + transaction:transaction]; TSOutgoingMessage *message = [[TSOutgoingMessage alloc] initOutgoingMessageWithTimestamp:100 - inThread:self.thread + inThread:thread messageBody:nil attachmentIds:[NSMutableArray new] expiresInSeconds:10 @@ -100,15 +116,16 @@ NS_ASSUME_NONNULL_BEGIN groupMetaMessage:TSGroupMetaMessageUnspecified quotedMessage:nil contactShare:nil - linkPreview:nil]; - [self writeWithBlock:^(SDSAnyWriteTransaction *transaction) { - [message updateWithMarkingAllUnsentRecipientsAsSendingWithTransaction:transaction]; + linkPreview:nil + messageSticker:nil + isViewOnceMessage:NO]; + + [message updateAllUnsentRecipientsAsSendingWithTransaction:transaction]; + XCTAssertFalse([message shouldStartExpireTimer]); }]; } -#endif - @end NS_ASSUME_NONNULL_END