From b757a21418028d797a632684c529e5714d24c799 Mon Sep 17 00:00:00 2001 From: Sebastian Schmidt Date: Thu, 9 Nov 2017 14:40:36 -0800 Subject: Adding the md5 hash to FIRStorageMetadata --- .../Tests/Integration/FIRStorageIntegrationTests.m | 3 +++ Example/Storage/Tests/Unit/FIRStorageMetadataTests.m | 20 ++++++++++++++++++++ 2 files changed, 23 insertions(+) (limited to 'Example/Storage') diff --git a/Example/Storage/Tests/Integration/FIRStorageIntegrationTests.m b/Example/Storage/Tests/Integration/FIRStorageIntegrationTests.m index 8c7f972..917d9bc 100644 --- a/Example/Storage/Tests/Integration/FIRStorageIntegrationTests.m +++ b/Example/Storage/Tests/Integration/FIRStorageIntegrationTests.m @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. +#import #import #import @@ -463,6 +464,7 @@ NSTimeInterval kFIRStorageIntegrationTestTimeout = 30; XCTAssertEqualObjects(actualMetadata.contentEncoding, @"gzip"); XCTAssertEqualObjects(actualMetadata.contentLanguage, @"de"); XCTAssertEqualObjects(actualMetadata.contentType, expectedContentType); + XCTAssertTrue([actualMetadata.md5Hash length] == 24); for (NSString *key in expectedCustomMetadata) { XCTAssertEqualObjects([actualMetadata.customMetadata objectForKey:key], [expectedCustomMetadata objectForKey:key]); @@ -475,6 +477,7 @@ NSTimeInterval kFIRStorageIntegrationTestTimeout = 30; XCTAssertEqualObjects(actualMetadata.contentEncoding, @"identity"); XCTAssertNil(actualMetadata.contentLanguage); XCTAssertNil(actualMetadata.contentType); + XCTAssertTrue([actualMetadata.md5Hash length] == 24); XCTAssertNil([actualMetadata.customMetadata objectForKey:@"a"]); XCTAssertNil([actualMetadata.customMetadata objectForKey:@"c"]); XCTAssertNil([actualMetadata.customMetadata objectForKey:@"f"]); diff --git a/Example/Storage/Tests/Unit/FIRStorageMetadataTests.m b/Example/Storage/Tests/Unit/FIRStorageMetadataTests.m index d6a73e7..6e7db32 100644 --- a/Example/Storage/Tests/Unit/FIRStorageMetadataTests.m +++ b/Example/Storage/Tests/Unit/FIRStorageMetadataTests.m @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. +#import #import #import "FIRStorageMetadata.h" @@ -44,6 +45,7 @@ kFIRStorageMetadataName : @"path/to/object", kFIRStorageMetadataTimeCreated : @"1992-08-07T17:22:53.108Z", kFIRStorageMetadataUpdated : @"2016-03-01T20:16:01.673Z", + kFIRStorageMetadataMd5Hash : @"d41d8cd98f00b204e9800998ecf8427e", kFIRStorageMetadataSize : @1337 }; FIRStorageMetadata *metadata = [[FIRStorageMetadata alloc] initWithDictionary:metaDict]; @@ -55,6 +57,7 @@ XCTAssertEqualObjects(metadata.contentEncoding, metaDict[kFIRStorageMetadataContentEncoding], ); XCTAssertEqualObjects(metadata.contentType, metaDict[kFIRStorageMetadataContentType]); XCTAssertEqualObjects(metadata.customMetadata, metaDict[kFIRStorageMetadataCustomMetadata]); + XCTAssertEqualObjects(metadata.md5Hash, metaDict[kFIRStorageMetadataMd5Hash]); NSString *URLFormat = @"https://firebasestorage.googleapis.com/v0/b/%@/o/%@?alt=media&token=%@"; NSString *URLString = [NSString stringWithFormat:URLFormat, metaDict[kFIRStorageMetadataBucket], @@ -89,6 +92,7 @@ kFIRStorageMetadataName : @"path/to/object", kFIRStorageMetadataTimeCreated : @"1992-08-07T17:22:53.108Z", kFIRStorageMetadataUpdated : @"2016-03-01T20:16:01.673Z", + kFIRStorageMetadataMd5Hash : @"d41d8cd98f00b204e9800998ecf8427e", kFIRStorageMetadataSize : @1337 }; FIRStorageMetadata *metadata = [[FIRStorageMetadata alloc] initWithDictionary:metaDict]; @@ -122,6 +126,8 @@ metaDict[kFIRStorageMetadataUpdated]); XCTAssertEqualObjects(dictRepresentation[kFIRStorageMetadataSize], metaDict[kFIRStorageMetadataSize]); + XCTAssertEqualObjects(dictRepresentation[kFIRStorageMetadataMd5Hash], + metaDict[kFIRStorageMetadataMd5Hash]); } - (void)testInitialzeNoDownloadTokensGetToken { @@ -226,6 +232,7 @@ NSDictionary *metaDict = @{ kFIRStorageMetadataBucket : @"bucket", kFIRStorageMetadataName : @"path/to/object", + kFIRStorageMetadataMd5Hash : @"d41d8cd98f00b204e9800998ecf8427e", }; FIRStorageMetadata *metadata0 = [[FIRStorageMetadata alloc] initWithDictionary:metaDict]; FIRStorageMetadata *metadata1 = [[FIRStorageMetadata alloc] initWithDictionary:metaDict]; @@ -233,10 +240,23 @@ XCTAssertEqualObjects(metadata0, metadata1); } +- (void)testMetadataMd5Inequality { + NSDictionary *firstDict = @{ + kFIRStorageMetadataMd5Hash : @"d41d8cd98f00b204e9800998ecf8427e", + }; + NSDictionary *secondDict = @{ + kFIRStorageMetadataMd5Hash : @"foo", + }; + FIRStorageMetadata *firstMetadata = [[FIRStorageMetadata alloc] initWithDictionary:firstDict]; + FIRStorageMetadata *secondMetadata = [[FIRStorageMetadata alloc] initWithDictionary:secondDict]; + XCTAssertNotEqualObjects(firstMetadata, secondMetadata); +} + - (void)testMetadataCopy { NSDictionary *metaDict = @{ kFIRStorageMetadataBucket : @"bucket", kFIRStorageMetadataName : @"path/to/object", + kFIRStorageMetadataMd5Hash : @"d41d8cd98f00b204e9800998ecf8427e", }; FIRStorageMetadata *metadata0 = [[FIRStorageMetadata alloc] initWithDictionary:metaDict]; FIRStorageMetadata *metadata1 = [metadata0 copy]; -- cgit v1.2.3