CloudKitMockXCTest.h [plain text]
#import <XCTest/XCTest.h>
#import <CloudKit/CloudKit.h>
#import <CloudKit/CloudKit_Private.h>
#import <Foundation/Foundation.h>
#import "keychain/ckks/tests/MockCloudKit.h"
#import "keychain/ckks/CKKSCKAccountStateTracker.h"
@class CKKSKey;
@class CKKSCKRecordHolder;
@class CKKSKeychainView;
@class CKKSViewManager;
@class FakeCKZone;
@class CKKSLockStateTracker;
@interface CloudKitMockXCTest : XCTestCase
#if OCTAGON
@property CKRecordZoneID* testZoneID;
@property id mockDatabase;
@property id mockContainer;
@property id mockFakeCKModifyRecordZonesOperation;
@property id mockFakeCKModifySubscriptionsOperation;
@property id mockFakeCKFetchRecordZoneChangesOperation;
@property id mockAccountStateTracker;
@property CKAccountStatus accountStatus;
@property BOOL supportsDeviceToDeviceEncryption;
@property SOSCCStatus circleStatus;
@property (readonly) NSString* ckDeviceID;
@property (readonly) CKKSCKAccountStateTracker* accountStateTracker;
@property NSString* circlePeerID;
@property bool aksLockState; @property (readonly) CKKSLockStateTracker* lockStateTracker;
@property id mockLockStateTracker;
@property NSMutableDictionary<CKRecordZoneID*, FakeCKZone*>* zones;
@property NSOperationQueue* operationQueue;
@property NSBlockOperation* ckksHoldOperation;
@property NSBlockOperation* ckaccountHoldOperation;
@property NSBlockOperation* ckModifyHoldOperation;
@property bool silentFetchesAllowed;
@property id mockCKKSViewManager;
@property CKKSViewManager* injectedManager;
- (CKKSKey*) fakeTLK: (CKRecordZoneID*)zoneID;
- (void)expectCKModifyItemRecords: (NSUInteger) expectedNumberOfRecords
currentKeyPointerRecords: (NSUInteger) expectedCurrentKeyRecords
zoneID: (CKRecordZoneID*) zoneID;
- (void)expectCKModifyItemRecords: (NSUInteger) expectedNumberOfRecords
currentKeyPointerRecords: (NSUInteger) expectedCurrentKeyRecords
zoneID: (CKRecordZoneID*) zoneID
checkItem: (BOOL (^)(CKRecord*)) checkItem;
- (void)expectCKModifyItemRecords:(NSUInteger)expectedNumberOfModifiedRecords
deletedRecords:(NSUInteger)expectedNumberOfDeletedRecords
currentKeyPointerRecords:(NSUInteger)expectedCurrentKeyRecords
zoneID:(CKRecordZoneID*)zoneID
checkItem:(BOOL (^)(CKRecord*))checkItem;
- (void)expectCKDeleteItemRecords: (NSUInteger) expectedNumberOfRecords zoneID: (CKRecordZoneID*) zoneID;
- (void)expectCKModifyKeyRecords: (NSUInteger) expectedNumberOfRecords
currentKeyPointerRecords: (NSUInteger) expectedCurrentKeyRecords
zoneID: (CKRecordZoneID*) zoneID;
- (void)expectCKModifyRecords:(NSDictionary<NSString*, NSNumber*>*) expectedRecordTypeCounts
deletedRecordTypeCounts:(NSDictionary<NSString*, NSNumber*>*) expectedDeletedRecordTypeCounts
zoneID:(CKRecordZoneID*) zoneID
checkModifiedRecord:(BOOL (^)(CKRecord*)) checkRecord
runAfterModification:(void (^) ())afterModification;
- (void)failNextCKAtomicModifyItemRecordsUpdateFailure:(CKRecordZoneID*)zoneID;
- (void)failNextCKAtomicModifyItemRecordsUpdateFailure:(CKRecordZoneID*)zoneID blockAfterReject: (void (^)())blockAfterReject;
- (void)failNextCKAtomicModifyItemRecordsUpdateFailure:(CKRecordZoneID*)zoneID blockAfterReject: (void (^)())blockAfterReject withError:(NSError*)error;
- (void)expectCKAtomicModifyItemRecordsUpdateFailure: (CKRecordZoneID*) zoneID;
- (void)failNextZoneCreation:(CKRecordZoneID*)zoneID;
- (void)failNextZoneCreationSilently:(CKRecordZoneID*)zoneID;
- (void)failNextZoneSubscription:(CKRecordZoneID*)zoneID;
- (void)failNextZoneSubscription:(CKRecordZoneID*)zoneID withError:(NSError*)error;
- (void)expectCKFetch;
- (void)waitForCKModifications;
- (void)startCKKSSubsystemOnly;
- (void)startCKAccountStatusMock;
- (void)startCKKSSubsystem;
-(void)holdCloudKitModifications;
-(void)releaseCloudKitModificationHold;
#endif // OCTAGON
@end