|
|
@@ -34,10 +34,12 @@ static NSString *const kValidImageURL =
|
|
|
|
|
|
- (void)loadAttachmentForURL:(NSURL *)attachmentURL
|
|
|
completionHandler:(void (^)(UNNotificationAttachment *))completionHandler;
|
|
|
+- (NSString *)fileExtensionForResponse:(NSURLResponse *)response;
|
|
|
@end
|
|
|
|
|
|
@interface FIRMessagingExtensionHelperTest : XCTestCase {
|
|
|
id _mockExtensionHelper;
|
|
|
+ id _mockURLResponse;
|
|
|
}
|
|
|
@end
|
|
|
|
|
|
@@ -48,6 +50,7 @@ static NSString *const kValidImageURL =
|
|
|
if (@available(macOS 10.14, iOS 10.0, *)) {
|
|
|
FIRMessagingExtensionHelper *extensionHelper = [FIRMessaging extensionHelper];
|
|
|
_mockExtensionHelper = OCMPartialMock(extensionHelper);
|
|
|
+ _mockURLResponse = OCMClassMock([NSURLResponse class]);
|
|
|
} else {
|
|
|
// Fallback on earlier versions
|
|
|
}
|
|
|
@@ -55,6 +58,7 @@ static NSString *const kValidImageURL =
|
|
|
|
|
|
- (void)tearDown {
|
|
|
[_mockExtensionHelper stopMocking];
|
|
|
+ [_mockURLResponse stopMocking];
|
|
|
}
|
|
|
|
|
|
#ifdef COCOAPODS
|
|
|
@@ -112,5 +116,37 @@ static NSString *const kValidImageURL =
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+- (void)testModifyNotificationWithValidPayloadDataNoMimeType {
|
|
|
+ if (@available(macOS 10.14, iOS 10.0, *)) {
|
|
|
+ NSString *const kValidTestURL = @"test.jpg";
|
|
|
+ NSString *const kValidTestExtension = @".jpg";
|
|
|
+ OCMStub([_mockURLResponse suggestedFilename]).andReturn(kValidTestURL);
|
|
|
+ NSString *const extension = [_mockExtensionHelper fileExtensionForResponse:_mockURLResponse];
|
|
|
+ XCTAssertTrue([extension isEqualToString:kValidTestExtension]);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+- (void)testModifyNotificationWithInvalidPayloadDataInvalidMimeType {
|
|
|
+ if (@available(macOS 10.14, iOS 10.0, *)) {
|
|
|
+ NSString *const kInvalidTestURL = @"test";
|
|
|
+ NSString *const kInvalidTestExtension = @"";
|
|
|
+ OCMStub([_mockURLResponse suggestedFilename]).andReturn(kInvalidTestURL);
|
|
|
+ OCMStub([_mockURLResponse MIMEType]).andReturn(nil);
|
|
|
+ NSString *const extension = [_mockExtensionHelper fileExtensionForResponse:_mockURLResponse];
|
|
|
+ XCTAssertTrue([extension isEqualToString:kInvalidTestExtension]);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+- (void)testModifyNotificationWithInvalidPayloadDataValidMimeType {
|
|
|
+ if (@available(macOS 10.14, iOS 10.0, *)) {
|
|
|
+ NSString *const kValidMIMETypeTestURL = @"test";
|
|
|
+ NSString *const kValidMIMETypeTestMIMEType = @"image/jpeg";
|
|
|
+ NSString *const kValidMIMETypeTestExtension = @".jpeg";
|
|
|
+ OCMStub([_mockURLResponse suggestedFilename]).andReturn(kValidMIMETypeTestURL);
|
|
|
+ OCMStub([_mockURLResponse MIMEType]).andReturn(kValidMIMETypeTestMIMEType);
|
|
|
+ NSString *const extension = [_mockExtensionHelper fileExtensionForResponse:_mockURLResponse];
|
|
|
+ XCTAssertTrue([extension isEqualToString:kValidMIMETypeTestExtension]);
|
|
|
+ }
|
|
|
+}
|
|
|
@end
|
|
|
#endif
|