public void Ctor_UsingAllRealmTypes() { var syncService = new RealmiusSyncService(GetRealm, _apiClientMock.Object, false, Assembly.GetExecutingAssembly()); string.Join(", ", syncService._typesToSync.Select(x => x.Key)) .Should().BeEquivalentTo("UnknownSyncObject, RealmManyRef, DbSyncClientObject, DbSyncClientObject2, DbSyncWithDoNotUpload, RealmRef"); }
public void Setup() { _apiClientMock = new Mock <IApiClient>(); _uploadRequests = new List <UploadDataRequest>(); _lastUploadRequest = null; _apiClientMock.Setup(x => x.UploadData(It.IsAny <UploadDataRequest>())) .Callback <UploadDataRequest>(x => { _uploadDataCounter++; _lastUploadRequest = x; _uploadRequests.Add(x); }).ReturnsAsync(new UploadDataResponse()); _realmFileName = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString()); RealmiusSyncService.RealmiusDbPath = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + "sync"); _syncServiceMock = CreateSyncService(); _syncServiceMock.Setup(x => x.StartUploadTask()).Callback( () => { _uploadTask = Task.Factory.StartNew(() => { _syncServiceMock.Object.Upload(); }); }); _realmiusSyncService = _syncServiceMock.Object; _uploadDataCounter = 0; _uploadTask = null; }
public static IRealmiusSyncService CreateUsingSignalR(Func <Realm> realmFactoryMethod, Uri uri, Type[] typesToSync, bool deleteDatabase = false) { var apiClient = new SignalRPersistentConnectionSyncApiClient(uri); var syncService = new RealmiusSyncService(realmFactoryMethod, apiClient, deleteDatabase, typesToSync); return(syncService); }
public static IRealmiusSyncService CreateUsingPolling(Func <Realm> realmFactoryMethod, Uri uploadUri, Uri downloadUri, Type[] typesToSync, bool deleteDatabase = false) { var apiClient = new PollingSyncApiClient(uploadUri, downloadUri); var syncService = new RealmiusSyncService(realmFactoryMethod, apiClient, deleteDatabase, typesToSync); return(syncService); }
public void Reconnect_LastChangeIsPreserved_IfFlagIsNotSpecified() { var offset = new DateTimeOffset(2017, 1, 1, 1, 1, 1, 1, TimeSpan.FromHours(0)); _apiClientMock.Raise(x => x.NewDataDownloaded += null, _apiClientMock.Object, new DownloadDataResponse() { LastChange = new Dictionary <string, DateTimeOffset>() { { "all", offset } }, }); _apiClientMock.Reset(); var syncService = new RealmiusSyncService(GetRealm, _apiClientMock.Object, false, new[] { typeof(DbSyncClientObject) }); _apiClientMock.Verify(x => x.Start(It.Is <ApiClientStartOptions>(z => z.LastDownloaded.ContainsKey("all") == false && string.Join(", ", z.Types) == "DbSyncClientObject")), Times.Once); _apiClientMock.Reset(); }
public void Setup() { _apiClientMock = new Mock <IApiClient>(); _uploadRequests = new List <UploadDataRequest>(); _lastUploadRequest = null; _apiClientMock.Setup(x => x.UploadData(It.IsAny <UploadDataRequest>())) .Callback <UploadDataRequest>(x => { _uploadDataCounter++; _lastUploadRequest = x; _uploadRequests.Add(x); }).ReturnsAsync(new UploadDataResponse()); _apiClientMock.SetupGet(x => x.IsConnected).Returns(true); _realmFileName = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString()); RealmiusSyncService.RealmiusDbPath = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + "sync"); _syncServiceMock = CreateSyncService(); _realmiusSyncService = _syncServiceMock.Object; _uploadDataCounter = 0; _uploadTask = null; RealmiusSyncService.DelayWhenUploadRequestFailed = 10; }