|
18 | 18 |
|
19 | 19 | #import <GoogleDataTransport/GDTCORPlatform.h>
|
20 | 20 |
|
| 21 | +#import "GDTCORLibrary/Private/GDTCORStorage_Private.h" |
21 | 22 | #import "GDTCORLibrary/Private/GDTCORUploadCoordinator.h"
|
22 | 23 |
|
23 | 24 | #import "GDTCORTests/Common/Categories/GDTCORRegistrar+Testing.h"
|
@@ -167,4 +168,31 @@ - (void)testNSSecureCoding {
|
167 | 168 | XCTAssertEqualObjects([GDTCORUploadCoordinator sharedInstance], unarchivedCoordinator);
|
168 | 169 | }
|
169 | 170 |
|
| 171 | +/** Tests that retrying a package delivery doesn't delete the file from disk. */ |
| 172 | +- (void)testPackageRetrying { |
| 173 | + [GDTCORUploadCoordinator sharedInstance].storage = [GDTCORStorage sharedInstance]; |
| 174 | + NSSet<GDTCOREvent *> *events = [GDTCOREventGenerator generate3Events]; |
| 175 | + self.prioritizer.events = events; |
| 176 | + XCTestExpectation *expectation = [self expectationWithDescription:@"uploader will upload"]; |
| 177 | + expectation.assertForOverFulfill = NO; |
| 178 | + self.uploader.uploadPackageBlock = ^(GDTCORUploadPackage *_Nonnull package) { |
| 179 | + [expectation fulfill]; |
| 180 | + [package retryDeliveryInTheFuture]; |
| 181 | + }; |
| 182 | + [GDTCORUploadCoordinator sharedInstance].timerInterval = NSEC_PER_SEC / 10; |
| 183 | + [GDTCORUploadCoordinator sharedInstance].timerLeeway = 0; |
| 184 | + |
| 185 | + [[GDTCORUploadCoordinator sharedInstance] startTimer]; |
| 186 | + [self waitForExpectations:@[ expectation ] timeout:1.0]; |
| 187 | + [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:1.0]]; |
| 188 | + dispatch_sync([GDTCORUploadCoordinator sharedInstance].coordinationQueue, ^{ |
| 189 | + }); |
| 190 | + dispatch_sync([GDTCORStorage sharedInstance].storageQueue, ^{ |
| 191 | + }); |
| 192 | + [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:1.0]]; |
| 193 | + for (GDTCOREvent *event in events) { |
| 194 | + XCTAssertTrue([[NSFileManager defaultManager] fileExistsAtPath:event.fileURL.path]); |
| 195 | + } |
| 196 | +} |
| 197 | + |
170 | 198 | @end
|
0 commit comments