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");
        }
Esempio n. 2
0
        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;
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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;
        }