File tree Expand file tree Collapse file tree 4 files changed +52
-10
lines changed
objectbox-java/src/main/java/io/objectbox/sync
tests/objectbox-java-test/src/test/java/io/objectbox Expand file tree Collapse file tree 4 files changed +52
-10
lines changed Original file line number Diff line number Diff line change 1212@ Experimental
1313public final class Sync {
1414
15+ /**
16+ * Returns true if the included native (JNI) ObjectBox library supports sync.
17+ */
18+ public static boolean isAvailable () {
19+ return BoxStore .isSyncAvailable ();
20+ }
21+
1522 /**
1623 * Start building a sync client. Requires the BoxStore that should be synced with the server,
1724 * the URL and port of the server to connect to and credentials to authenticate against the server.
Original file line number Diff line number Diff line change @@ -240,14 +240,4 @@ public void testIsObjectBrowserAvailable() {
240240 assertFalse (BoxStore .isObjectBrowserAvailable ());
241241 }
242242
243- @ Test
244- public void testIsSyncAvailable () {
245- // The individual values don't matter; basically just ensure the methods are available and don't crash...
246- if (BoxStore .isSyncServerAvailable ()) {
247- assertTrue (BoxStore .isSyncAvailable ());
248- } else {
249- BoxStore .isSyncAvailable ();
250- }
251- }
252-
253243}
Original file line number Diff line number Diff line change 2929import io .objectbox .relation .ToOneTest ;
3030import io .objectbox .sync .ConnectivityMonitorTest ;
3131import io .objectbox .sync .PlatformTest ;
32+ import io .objectbox .sync .SyncTest ;
3233
3334import org .junit .runner .RunWith ;
3435import org .junit .runners .Suite ;
5556 QueryTest .class ,
5657 RelationTest .class ,
5758 RelationEagerTest .class ,
59+ SyncTest .class ,
5860 ToManyStandaloneTest .class ,
5961 ToManyTest .class ,
6062 ToOneTest .class ,
Original file line number Diff line number Diff line change 1+ package io .objectbox .sync ;
2+
3+ import org .junit .Test ;
4+
5+ import io .objectbox .AbstractObjectBoxTest ;
6+ import io .objectbox .BoxStore ;
7+
8+
9+ import static org .junit .Assert .assertEquals ;
10+ import static org .junit .Assert .assertFalse ;
11+ import static org .junit .Assert .assertThrows ;
12+
13+ public class SyncTest extends AbstractObjectBoxTest {
14+
15+ /**
16+ * Ensure that non-sync native library correctly reports sync client availability.
17+ *
18+ * Note: this test is mirrored in objectbox-integration-test sync tests, where sync is available.
19+ */
20+ @ Test
21+ public void clientIsNotAvailable () {
22+ assertFalse (Sync .isAvailable ());
23+ }
24+
25+ /**
26+ * Ensure that non-sync native library correctly reports sync server availability.
27+ *
28+ * Note: this test is mirrored in objectbox-integration-test sync tests, where sync is available.
29+ */
30+ @ Test
31+ public void serverIsNotAvailable () {
32+ assertFalse (BoxStore .isSyncServerAvailable ());
33+ }
34+
35+ @ Test
36+ public void creatingSyncClient_throws () {
37+ IllegalStateException exception = assertThrows (
38+ IllegalStateException .class ,
39+ () -> Sync .client (store , "wss://127.0.0.1" , SyncCredentials .none ())
40+ );
41+ assertEquals ("This ObjectBox library (JNI) does not include sync. Please update your dependencies." , exception .getMessage ());
42+ }
43+ }
You can’t perform that action at this time.
0 commit comments