예제 #1
0
        public void DefaultConfiguration_WhenOneUserLoggedIn_ShouldWork(string userScheme, string realmScheme)
        {
            TestHelpers.RunAsyncTest(async() =>
            {
                await SyncTestHelpers.GetFakeUserAsync(scheme: userScheme);

                var config = new QueryBasedSyncConfiguration();
                Assert.That(!config.IsFullSync);
                Assert.That(config.ServerUri.Scheme, Is.EqualTo(realmScheme));
                Assert.That(config.ServerUri.Segments, Is.EqualTo(new[] { "/", "default" }));
            });
        }
        public void UserAllLoggedIn_WhenThereIsOneUser_ShouldReturnThatUser()
        {
            TestHelpers.RunAsyncTest(async() =>
            {
                var user = await SyncTestHelpers.GetFakeUserAsync();

                var users = User.AllLoggedIn;

                Assert.That(users.Length, Is.EqualTo(1));
                Assert.That(users[0], Is.EqualTo(user));
            });
        }
예제 #3
0
        public void SyncConfiguration_WithEncryptionKey_DoesntThrow()
        {
            TestHelpers.RunAsyncTest(async() =>
            {
                var user = await SyncTestHelpers.GetFakeUserAsync();
                var key  = Enumerable.Range(0, 63).Select(i => (byte)i).ToArray();

                var config = new FullSyncConfiguration(new Uri("realm://foobar"), user)
                {
                    EncryptionKey = TestHelpers.GetEncryptionKey(key)
                };

                Assert.That(() => GetRealm(config), Throws.Nothing);
            });
        }
        public void UserAllLoggedIn_WhenThereAreNineUsers_ShouldReturnAllOfThem()
        {
            TestHelpers.RunAsyncTest(async() =>
            {
                var users = new List <User>();
                for (var i = 0; i < 9; i++)
                {
                    users.Add(await SyncTestHelpers.GetFakeUserAsync());
                }

                var current = User.AllLoggedIn;

                Assert.That(current, Is.EquivalentTo(users));
            });
        }
예제 #5
0
        public void Realm_GetSession_WhenSyncedRealm()
        {
            TestHelpers.RunAsyncTest(async() =>
            {
                var user      = await SyncTestHelpers.GetFakeUserAsync();
                var serverUri = new Uri("realm://localhost:9080/foobar");
                var config    = new FullSyncConfiguration(serverUri, user);

                using (var realm = GetRealm(config))
                {
                    var session = GetSession(realm);

                    Assert.That(session.User, Is.EqualTo(user));
                    Assert.That(session.ServerUri, Is.EqualTo(serverUri));
                }
            });
        }
예제 #6
0
        public void SyncConfiguration_WithoutPath()
        {
            TestHelpers.RunAsyncTest(async() =>
            {
                var user      = await SyncTestHelpers.GetFakeUserAsync();
                var serverUri = new Uri("realm://localhost:9080/foobar");
                var config    = new FullSyncConfiguration(serverUri, user);

                var file = new FileInfo(config.DatabasePath);
                Assert.That(file.Exists, Is.False);

                using (var realm = GetRealm(config))
                {
                }

                file = new FileInfo(config.DatabasePath);
                Assert.That(file.Exists);
            });
        }
예제 #7
0
        public void SyncConfiguration_WithAbsolutePath()
        {
            TestHelpers.RunAsyncTest(async() =>
            {
                var user      = await SyncTestHelpers.GetFakeUserAsync();
                var serverUri = new Uri("realm://localhost:9080/foobar");

                var path   = Path.GetTempFileName();
                var config = new FullSyncConfiguration(serverUri, user, path);

                Realm.DeleteRealm(config);
                var file = new FileInfo(config.DatabasePath);
                Assert.That(file.Exists, Is.False);

                using (var realm = GetRealm(config))
                {
                }

                file = new FileInfo(config.DatabasePath);
                Assert.That(file.Exists);
                Assert.That(config.DatabasePath, Is.EqualTo(path));
            });
        }