IOSAD-191 Delete PEPMessageTest and PEPAttachmentTests. Add PEPMessage+SecureCodingTest tests. Delete some unused code. some refactor.
parent
6bac5407e3
commit
d6bae409f3
@ -1,17 +0,0 @@
|
||||
//
|
||||
// PEPMessageTest.h
|
||||
// PEPObjCAdapterTypesTests_macOS
|
||||
//
|
||||
// Created by David Alarcon on 27/1/21.
|
||||
// Copyright © 2021 p≡p. All rights reserved.
|
||||
//
|
||||
|
||||
#import "PEPMessage+SecureCoding.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface PEPMessageTest : PEPMessage
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@ -1,53 +0,0 @@
|
||||
//
|
||||
// PEPMessageTest.m
|
||||
// PEPObjCAdapterTypesTests_macOS
|
||||
//
|
||||
// Created by David Alarcon on 27/1/21.
|
||||
// Copyright © 2021 p≡p. All rights reserved.
|
||||
//
|
||||
|
||||
#import "PEPMessageTest.h"
|
||||
|
||||
#import "PEPIdentityTest.h"
|
||||
#import "PEPAttachmentTest.h"
|
||||
|
||||
@implementation PEPMessageTest
|
||||
|
||||
- (instancetype)init {
|
||||
if (self = [super init]) {
|
||||
self.messageID = [NSString stringWithFormat: @"19980506192030.26456.%@",
|
||||
[PEPIdentityTest new].address];
|
||||
|
||||
self.from = [PEPIdentityTest new];
|
||||
self.to = @[[PEPIdentityTest new]];
|
||||
self.cc = @[[PEPIdentityTest new]];
|
||||
self.bcc = @[[PEPIdentityTest new]];
|
||||
|
||||
self.shortMessage = @"shortMessage";
|
||||
self.longMessage = @"longMessage";
|
||||
self.longMessageFormatted = @"longMessageFormatted";
|
||||
|
||||
self.replyTo = @[[PEPIdentityTest new]];
|
||||
self.inReplyTo = @[[NSString stringWithFormat: @"19980507220459.5655.%@",
|
||||
[PEPIdentityTest new].address]];
|
||||
self.references = @[[NSString stringWithFormat: @"19980509035615.40087.%@",
|
||||
[PEPIdentityTest new].address]];
|
||||
|
||||
NSDate *yesterday = [NSCalendar.currentCalendar dateByAddingUnit:NSCalendarUnitDay
|
||||
value:-1 toDate:[NSDate now]
|
||||
options:NSCalendarWrapComponents];
|
||||
self.sentDate = yesterday;
|
||||
self.receivedDate = [NSDate now];
|
||||
|
||||
self.attachments = @[[PEPAttachmentTest new]];
|
||||
|
||||
self.optionalFields = @[@"optionalField"];
|
||||
self.keywords = @[@"keyword"];
|
||||
self.receivedBy = [PEPIdentityTest new] ;
|
||||
self.direction = PEPMsgDirectionIncoming;
|
||||
}
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
@end
|
@ -1,67 +0,0 @@
|
||||
//
|
||||
// PEPAttachmentTests.m
|
||||
// PEPObjCAdapterTypesTests_macOS
|
||||
//
|
||||
// Created by David Alarcon on 27/1/21.
|
||||
// Copyright © 2021 p≡p. All rights reserved.
|
||||
//
|
||||
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
#import "PEPAttachmentTest.h"
|
||||
|
||||
@interface PEPAttachmentTests : XCTestCase
|
||||
@property (nonatomic, strong) PEPAttachmentTest *attachment;
|
||||
@property (nonatomic, strong) PEPAttachmentTest *unarchivedAttachment;
|
||||
@end
|
||||
|
||||
@implementation PEPAttachmentTests
|
||||
|
||||
- (void)setUp {
|
||||
[super setUp];
|
||||
|
||||
self.attachment = [PEPAttachmentTest new];
|
||||
|
||||
NSError *error;
|
||||
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:self.attachment
|
||||
requiringSecureCoding:YES
|
||||
error:&error];
|
||||
|
||||
XCTAssertNil(error, "Error archiving pEp attachment.");
|
||||
|
||||
self.unarchivedAttachment = [NSKeyedUnarchiver unarchivedObjectOfClass:[PEPAttachmentTest class]
|
||||
fromData:data
|
||||
error:&error];
|
||||
|
||||
XCTAssertNil(error, "Error unarchiving pEp attachment.");
|
||||
}
|
||||
|
||||
- (void)testConformsSecureCodingProtocol {
|
||||
XCTAssertTrue([self.attachment conformsToProtocol:@protocol(NSSecureCoding)]);
|
||||
}
|
||||
|
||||
- (void)testSupportsSecureCodingProtocol {
|
||||
XCTAssertTrue([PEPAttachmentTest supportsSecureCoding]);
|
||||
}
|
||||
|
||||
- (void)testAttachmentData {
|
||||
XCTAssertEqualObjects(self.attachment.data, self.unarchivedAttachment.data);
|
||||
}
|
||||
|
||||
- (void)testAttachmentSize {
|
||||
XCTAssertEqual(self.attachment.size, self.unarchivedAttachment.size);
|
||||
}
|
||||
|
||||
- (void)testAttachmentMimeType {
|
||||
XCTAssertEqualObjects(self.attachment.mimeType, self.unarchivedAttachment.mimeType);
|
||||
}
|
||||
|
||||
- (void)testAttachmentFilename {
|
||||
XCTAssertEqualObjects(self.attachment.filename, self.unarchivedAttachment.filename);
|
||||
}
|
||||
|
||||
- (void)testAttachmentContentDisposition {
|
||||
XCTAssertEqual(self.attachment.contentDisposition, self.unarchivedAttachment.contentDisposition);
|
||||
}
|
||||
|
||||
@end
|
@ -1,121 +0,0 @@
|
||||
//
|
||||
// PEPMessageTests.m
|
||||
// PEPObjCAdapterTypesTests_macOS
|
||||
//
|
||||
// Created by David Alarcon on 27/1/21.
|
||||
// Copyright © 2021 p≡p. All rights reserved.
|
||||
//
|
||||
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
#import "PEPMessageTest.h"
|
||||
#import "PEPAttachmentTest.h"
|
||||
|
||||
@interface PEPMessageTests : XCTestCase
|
||||
@property (nonatomic, strong) PEPMessageTest *message;
|
||||
@property (nonatomic, strong) PEPMessageTest *unarchivedMessage;
|
||||
@end
|
||||
|
||||
@implementation PEPMessageTests
|
||||
|
||||
- (void)setUp {
|
||||
[super setUp];
|
||||
|
||||
self.message = [PEPMessageTest new];
|
||||
|
||||
NSError *error;
|
||||
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:self.message
|
||||
requiringSecureCoding:YES
|
||||
error:&error];
|
||||
|
||||
XCTAssertNil(error, "Error archiving pEp message.");
|
||||
|
||||
self.unarchivedMessage = [NSKeyedUnarchiver unarchivedObjectOfClass:[PEPMessageTest class]
|
||||
fromData:data
|
||||
error:&error];
|
||||
|
||||
XCTAssertNil(error, "Error unarchiving pEp message.");
|
||||
}
|
||||
|
||||
- (void)testConformsSecureCodingProtocol {
|
||||
XCTAssertTrue([self.message conformsToProtocol:@protocol(NSSecureCoding)]);
|
||||
}
|
||||
|
||||
- (void)testSupportsSecureCodingProtocol {
|
||||
XCTAssertTrue([PEPMessageTest supportsSecureCoding]);
|
||||
}
|
||||
|
||||
- (void)testMessageMessageID {
|
||||
XCTAssertEqualObjects(self.message.messageID, self.unarchivedMessage.messageID);
|
||||
}
|
||||
|
||||
- (void)testMessageFrom {
|
||||
XCTAssertEqualObjects(self.message.from, self.unarchivedMessage.from);
|
||||
}
|
||||
|
||||
- (void)testMessageTo {
|
||||
XCTAssertEqualObjects(self.message.to, self.unarchivedMessage.to);
|
||||
}
|
||||
|
||||
- (void)testMessageCC {
|
||||
XCTAssertEqualObjects(self.message.cc, self.unarchivedMessage.cc);
|
||||
}
|
||||
|
||||
- (void)testMessageBCC {
|
||||
XCTAssertEqualObjects(self.message.bcc, self.unarchivedMessage.bcc);
|
||||
}
|
||||
|
||||
- (void)testMessageShortMessage {
|
||||
XCTAssertEqualObjects(self.message.shortMessage, self.unarchivedMessage.shortMessage);
|
||||
}
|
||||
|
||||
- (void)testMessageLongMessage {
|
||||
XCTAssertEqualObjects(self.message.longMessage, self.unarchivedMessage.longMessage);
|
||||
}
|
||||
|
||||
- (void)testMessageLongMessageFormatted {
|
||||
XCTAssertEqualObjects(self.message.longMessageFormatted,
|
||||
self.unarchivedMessage.longMessageFormatted);
|
||||
}
|
||||
|
||||
- (void)testMessageReplyTo {
|
||||
XCTAssertEqualObjects(self.message.replyTo, self.unarchivedMessage.replyTo);
|
||||
}
|
||||
|
||||
- (void)testMessageInReplyTo {
|
||||
XCTAssertEqualObjects(self.message.inReplyTo, self.unarchivedMessage.inReplyTo);
|
||||
}
|
||||
|
||||
- (void)testMessageReferences {
|
||||
XCTAssertEqualObjects(self.message.references, self.unarchivedMessage.references);
|
||||
}
|
||||
|
||||
- (void)testMessageSentDate {
|
||||
XCTAssertEqualObjects(self.message.sentDate, self.unarchivedMessage.sentDate);
|
||||
}
|
||||
|
||||
- (void)testMessageReceivedDate {
|
||||
XCTAssertEqualObjects(self.message.receivedDate, self.unarchivedMessage.receivedDate);
|
||||
}
|
||||
|
||||
- (void)testMessageAttachments {
|
||||
XCTAssertEqualObjects(self.message.attachments, self.unarchivedMessage.attachments);
|
||||
}
|
||||
|
||||
- (void)testMessageOptionalFields {
|
||||
XCTAssertEqualObjects(self.message.optionalFields, self.unarchivedMessage.optionalFields);
|
||||
}
|
||||
|
||||
- (void)testMessageKeywords {
|
||||
XCTAssertEqualObjects(self.message.keywords, self.unarchivedMessage.keywords);
|
||||
}
|
||||
|
||||
- (void)testMessageReceivedBy {
|
||||
XCTAssertEqualObjects(self.message.receivedBy, self.unarchivedMessage.receivedBy);
|
||||
}
|
||||
|
||||
- (void)testMessageDirection {
|
||||
XCTAssertEqual(self.message.direction, self.unarchivedMessage.direction);
|
||||
}
|
||||
|
||||
@end
|
@ -0,0 +1,234 @@
|
||||
//
|
||||
// PEPMessage+SecureCodingTest.m
|
||||
// PEPObjCAdapterTypesTests_iOS
|
||||
//
|
||||
// Created by David Alarcon on 27/1/21.
|
||||
// Copyright © 2021 p≡p. All rights reserved.
|
||||
//
|
||||
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
#import "PEPMessage+SecureCoding.h"
|
||||
|
||||
#import "PEPTypesTestUtil.h"
|
||||
#import "PEPIdentity.h"
|
||||
#import "PEPAttachment.h"
|
||||
#import "NSObject+Extension.h"
|
||||
|
||||
@interface PEPMessage_SecureCodingTest : XCTestCase
|
||||
|
||||
@end
|
||||
|
||||
@implementation PEPMessage_SecureCodingTest
|
||||
|
||||
- (void)testConformsSecureCodingProtocol {
|
||||
PEPMessage *testee = [PEPMessage new];
|
||||
XCTAssertTrue([testee conformsToProtocol:@protocol(NSSecureCoding)]);
|
||||
}
|
||||
|
||||
- (void)testSupportsSecureCodingProtocol {
|
||||
XCTAssertTrue([PEPMessage supportsSecureCoding]);
|
||||
}
|
||||
|
||||
- (void)testMessageMessageID {
|
||||
PEPMessage *testee = [self messageWithAllFieldsFilled];
|
||||
PEPMessage *unarchivedTestee = [self archiveAndUnarchiveMessage:testee];
|
||||
|
||||
XCTAssertEqualObjects(testee.messageID, unarchivedTestee.messageID);
|
||||
}
|
||||
|
||||
- (void)testMessageFrom {
|
||||
PEPMessage *testee = [self messageWithAllFieldsFilled];
|
||||
PEPMessage *unarchivedTestee = [self archiveAndUnarchiveMessage:testee];
|
||||
|
||||
XCTAssertEqualObjects(testee.from, unarchivedTestee.from);
|
||||
}
|
||||
|
||||
- (void)testMessageTo {
|
||||
PEPMessage *testee = [self messageWithAllFieldsFilled];
|
||||
PEPMessage *unarchivedTestee = [self archiveAndUnarchiveMessage:testee];
|
||||
|
||||
XCTAssertEqualObjects(testee.to, unarchivedTestee.to);
|
||||
}
|
||||
|
||||
- (void)testMessageCC {
|
||||
PEPMessage *testee = [self messageWithAllFieldsFilled];
|
||||
PEPMessage *unarchivedTestee = [self archiveAndUnarchiveMessage:testee];
|
||||
|
||||
XCTAssertEqualObjects(testee.cc, unarchivedTestee.cc);
|
||||
}
|
||||
|
||||
- (void)testMessageBCC {
|
||||
PEPMessage *testee = [self messageWithAllFieldsFilled];
|
||||
PEPMessage *unarchivedTestee = [self archiveAndUnarchiveMessage:testee];
|
||||
|
||||
XCTAssertEqualObjects(testee.bcc, unarchivedTestee.bcc);
|
||||
}
|
||||
|
||||
- (void)testMessageShortMessage {
|
||||
PEPMessage *testee = [self messageWithAllFieldsFilled];
|
||||
PEPMessage *unarchivedTestee = [self archiveAndUnarchiveMessage:testee];
|
||||
|
||||
XCTAssertEqualObjects(testee.shortMessage, unarchivedTestee.shortMessage);
|
||||
}
|
||||
|
||||
- (void)testMessageLongMessage {
|
||||
PEPMessage *testee = [self messageWithAllFieldsFilled];
|
||||
PEPMessage *unarchivedTestee = [self archiveAndUnarchiveMessage:testee];
|
||||
|
||||
XCTAssertEqualObjects(testee.longMessage, unarchivedTestee.longMessage);
|
||||
}
|
||||
|
||||
- (void)testMessageLongMessageFormatted {
|
||||
PEPMessage *testee = [self messageWithAllFieldsFilled];
|
||||
PEPMessage *unarchivedTestee = [self archiveAndUnarchiveMessage:testee];
|
||||
|
||||
XCTAssertEqualObjects(testee.longMessageFormatted,
|
||||
unarchivedTestee.longMessageFormatted);
|
||||
}
|
||||
|
||||
- (void)testMessageReplyTo {
|
||||
PEPMessage *testee = [self messageWithAllFieldsFilled];
|
||||
PEPMessage *unarchivedTestee = [self archiveAndUnarchiveMessage:testee];
|
||||
|
||||
XCTAssertEqualObjects(testee.replyTo, unarchivedTestee.replyTo);
|
||||
}
|
||||
|
||||
- (void)testMessageInReplyTo {
|
||||
PEPMessage *testee = [self messageWithAllFieldsFilled];
|
||||
PEPMessage *unarchivedTestee = [self archiveAndUnarchiveMessage:testee];
|
||||
|
||||
XCTAssertEqualObjects(testee.inReplyTo, unarchivedTestee.inReplyTo);
|
||||
}
|
||||
|
||||
- (void)testMessageReferences {
|
||||
PEPMessage *testee = [self messageWithAllFieldsFilled];
|
||||
PEPMessage *unarchivedTestee = [self archiveAndUnarchiveMessage:testee];
|
||||
|
||||
XCTAssertEqualObjects(testee.references, unarchivedTestee.references);
|
||||
}
|
||||
|
||||
- (void)testMessageSentDate {
|
||||
PEPMessage *testee = [self messageWithAllFieldsFilled];
|
||||
PEPMessage *unarchivedTestee = [self archiveAndUnarchiveMessage:testee];
|
||||
|
||||
XCTAssertEqualObjects(testee.sentDate, unarchivedTestee.sentDate);
|
||||
}
|
||||
|
||||
- (void)testMessageReceivedDate {
|
||||
PEPMessage *testee = [self messageWithAllFieldsFilled];
|
||||
PEPMessage *unarchivedTestee = [self archiveAndUnarchiveMessage:testee];
|
||||
|
||||
XCTAssertEqualObjects(testee.receivedDate, unarchivedTestee.receivedDate);
|
||||
}
|
||||
|
||||
- (void)testMessageAttachments {
|
||||
PEPMessage *testee = [self messageWithAllFieldsFilled];
|
||||
PEPMessage *unarchivedTestee = [self archiveAndUnarchiveMessage:testee];
|
||||
|
||||
XCTAssertEqualObjects(testee.attachments, unarchivedTestee.attachments);
|
||||
}
|
||||
|
||||
- (void)testMessageOptionalFields {
|
||||
PEPMessage *testee = [self messageWithAllFieldsFilled];
|
||||
PEPMessage *unarchivedTestee = [self archiveAndUnarchiveMessage:testee];
|
||||
|
||||
XCTAssertEqualObjects(testee.optionalFields, unarchivedTestee.optionalFields);
|
||||
}
|
||||
|
||||
- (void)testMessageKeywords {
|
||||
PEPMessage *testee = [self messageWithAllFieldsFilled];
|
||||
PEPMessage *unarchivedTestee = [self archiveAndUnarchiveMessage:testee];
|
||||
|
||||
XCTAssertEqualObjects(testee.keywords, unarchivedTestee.keywords);
|
||||
}
|
||||
|
||||
- (void)testMessageReceivedBy {
|
||||
PEPMessage *testee = [self messageWithAllFieldsFilled];
|
||||
PEPMessage *unarchivedTestee = [self archiveAndUnarchiveMessage:testee];
|
||||
|
||||
XCTAssertEqualObjects(testee.receivedBy, unarchivedTestee.receivedBy);
|
||||
}
|
||||
|
||||
- (void)testMessageDirection {
|
||||
PEPMessage *testee = [self messageWithAllFieldsFilled];
|
||||
PEPMessage *unarchivedTestee = [self archiveAndUnarchiveMessage:testee];
|
||||
|
||||
XCTAssertEqual(testee.direction, unarchivedTestee.direction);
|
||||
}
|
||||
|
||||
// MARK: - Helper
|
||||
|
||||
- (PEPMessage *)archiveAndUnarchiveMessage:(PEPMessage *)message {
|
||||
NSError *error;
|
||||
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:message
|
||||
requiringSecureCoding:YES
|
||||
error:&error];
|
||||
XCTAssertNotNil(data, "Error archiving pEp message.");
|
||||
|
||||
PEPMessage *unarchivedMessage = [NSKeyedUnarchiver unarchivedObjectOfClass:[PEPMessage class]
|
||||
fromData:data
|
||||
error:&error];
|
||||
XCTAssertNotNil(unarchivedMessage, "Error unarchiving pEp message.");
|
||||
|
||||
return unarchivedMessage;
|
||||
}
|
||||
|
||||
- (PEPMessage *)messageWithAllFieldsFilled {
|
||||
PEPMessage *message = [PEPMessage new];
|
||||
PEPIdentity *identity = [PEPTypesTestUtil pEpIdentityWithAllFieldsFilled];
|
||||
PEPAttachment *attachment = [PEPTypesTestUtil pEpAttachmentWithAllFieldsFilled];
|
||||
|
||||
message.messageID = [NSString stringWithFormat: @"19980506192030.26456.%@", identity.address];
|
||||
|
||||
message.from = identity;
|
||||
message.to = @[identity];
|
||||
message.cc = @[identity];
|
||||
message.bcc = @[identity];
|
||||
|
||||
message.shortMessage = @"shortMessage";
|
||||
message.longMessage = @"longMessage";
|
||||
message.longMessageFormatted = @"longMessageFormatted";
|
||||
|
||||
message.replyTo = @[identity];
|
||||
message.inReplyTo = @[[NSString stringWithFormat: @"19980507220459.5655.%@", identity.address]];
|
||||
message.references = @[[NSString stringWithFormat: @"19980509035615.40087.%@", identity.address]];
|
||||
|
||||
NSDate *yesterday = [NSCalendar.currentCalendar dateByAddingUnit:NSCalendarUnitDay
|
||||
value:-1 toDate:[NSDate now]
|
||||
options:NSCalendarWrapComponents];
|
||||
message.sentDate = yesterday;
|
||||
message.receivedDate = [NSDate now];
|
||||
|
||||
message.attachments = @[attachment];
|
||||
|
||||
message.optionalFields = @[@"optionalField"];
|
||||
message.keywords = @[@"keyword"];
|
||||
message.receivedBy = identity;
|
||||
message.direction = PEPMsgDirectionIncoming;
|
||||
|
||||
return message;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@implementation PEPAttachment (Equatable)
|
||||
|
||||
- (BOOL)isEqualToPEPAttachment:(PEPAttachment * _Nonnull)attachment {
|
||||
NSArray *s_keys = @[@"data", @"size", @"mimeType", @"filename", @"contentDisposition"];
|
||||
|
||||
return [self isEqualToObject:attachment basedOnKeys:s_keys];
|
||||
}
|
||||
|
||||
- (BOOL)isEqual:(id)object {
|
||||
if (object == self) {
|
||||
return YES;
|
||||
}
|
||||
if (!object || ![object isKindOfClass:[self class]]) {
|
||||
return NO;
|
||||
}
|
||||
|
||||
return [self isEqualToPEPAttachment:object];
|
||||
}
|
||||
|
||||
@end
|
Loading…
Reference in New Issue