From 749453a16c2f946de48289bb4ae394a2af7e3fcd Mon Sep 17 00:00:00 2001 From: MongoCaleb Date: Mon, 22 Jul 2024 15:50:47 -0700 Subject: [PATCH 1/3] add tests for sync session --- examples/dotnet/Examples/DataSyncExamples.cs | 43 +++++++++++++++++-- ...aSyncExamples.snippet.get-session-state.cs | 6 +++ ...taSyncExamples.snippet.get-sync-session.cs | 2 + ...SyncExamples.snippet.pause-synced-realm.cs | 1 + 4 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 source/examples/generated/dotnet/DataSyncExamples.snippet.get-session-state.cs create mode 100644 source/examples/generated/dotnet/DataSyncExamples.snippet.get-sync-session.cs diff --git a/examples/dotnet/Examples/DataSyncExamples.cs b/examples/dotnet/Examples/DataSyncExamples.cs index e775ff551f..4003eb7482 100644 --- a/examples/dotnet/Examples/DataSyncExamples.cs +++ b/examples/dotnet/Examples/DataSyncExamples.cs @@ -1,4 +1,8 @@ -using Realms; +using System; +using Microsoft.VisualBasic; +using NUnit.Framework; +using NUnit.Framework.Internal; +using Realms; using Realms.Sync; namespace Examples @@ -6,16 +10,49 @@ namespace Examples public class DataSyncExamples { Realm realm; + App app; + Realms.Sync.User user; + FlexibleSyncConfiguration config; - public void TestsCustomSetter() + [OneTimeSetUp] + public void Setup() + { + + const string myRealmAppId = Config.FSAppId; + app = App.Create(myRealmAppId); + user = app.LogInAsync( + Credentials.Anonymous()).Result; + + config = new FlexibleSyncConfiguration(user) + ; + } + + [Test] + public void StartStopSession() { - realm = Realm.GetInstance(); // :snippet-start: pause-synced-realm + realm = Realm.GetInstance(config); var session = realm.SyncSession; session.Stop(); //later... session.Start(); // :snippet-end: } + + [Test] + public void GetSessionAndState(){ + // :snippet-start: get-sync-session + realm = Realm.GetInstance(config); + var session = realm.SyncSession; + // :snippet-end: + // :snippet-start: get-session-state + var sessionState = session.State; + if (sessionState == SessionState.Active){ + Console.WriteLine("The session is active"); + } else { + Console.WriteLine("The session is inactive"); + } + // :snippet-end: + } } } diff --git a/source/examples/generated/dotnet/DataSyncExamples.snippet.get-session-state.cs b/source/examples/generated/dotnet/DataSyncExamples.snippet.get-session-state.cs new file mode 100644 index 0000000000..03ed93413a --- /dev/null +++ b/source/examples/generated/dotnet/DataSyncExamples.snippet.get-session-state.cs @@ -0,0 +1,6 @@ +var sessionState = session.State; +if (sessionState == SessionState.Active){ + Console.WriteLine("The session is active"); +} else { + Console.WriteLine("The session is inactive"); +} diff --git a/source/examples/generated/dotnet/DataSyncExamples.snippet.get-sync-session.cs b/source/examples/generated/dotnet/DataSyncExamples.snippet.get-sync-session.cs new file mode 100644 index 0000000000..946a923ce2 --- /dev/null +++ b/source/examples/generated/dotnet/DataSyncExamples.snippet.get-sync-session.cs @@ -0,0 +1,2 @@ +realm = Realm.GetInstance(config); +var session = realm.SyncSession; diff --git a/source/examples/generated/dotnet/DataSyncExamples.snippet.pause-synced-realm.cs b/source/examples/generated/dotnet/DataSyncExamples.snippet.pause-synced-realm.cs index 46153940d9..c7577c60f9 100644 --- a/source/examples/generated/dotnet/DataSyncExamples.snippet.pause-synced-realm.cs +++ b/source/examples/generated/dotnet/DataSyncExamples.snippet.pause-synced-realm.cs @@ -1,3 +1,4 @@ +realm = Realm.GetInstance(config); var session = realm.SyncSession; session.Stop(); //later... From 52871da46a1fc87ab03cd7b303587be0cd4d1197 Mon Sep 17 00:00:00 2001 From: MongoCaleb Date: Tue, 23 Jul 2024 09:01:03 -0700 Subject: [PATCH 2/3] fix test error --- examples/dotnet/Examples/DataSyncExamples.cs | 21 +++++++------------ ...SyncExamples.snippet.pause-synced-realm.cs | 2 +- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/examples/dotnet/Examples/DataSyncExamples.cs b/examples/dotnet/Examples/DataSyncExamples.cs index 4003eb7482..a5a559784a 100644 --- a/examples/dotnet/Examples/DataSyncExamples.cs +++ b/examples/dotnet/Examples/DataSyncExamples.cs @@ -17,34 +17,27 @@ public class DataSyncExamples [OneTimeSetUp] public void Setup() { - const string myRealmAppId = Config.FSAppId; app = App.Create(myRealmAppId); user = app.LogInAsync( Credentials.Anonymous()).Result; - config = new FlexibleSyncConfiguration(user) - ; + config = new FlexibleSyncConfiguration(user); } [Test] - public void StartStopSession() - { - // :snippet-start: pause-synced-realm + public void GetSessionAndState(){ + // :snippet-start: get-sync-session realm = Realm.GetInstance(config); var session = realm.SyncSession; + // :snippet-end: + // :snippet-start: pause-synced-realm + realm = Realm.GetInstance(config); + session = realm.SyncSession; session.Stop(); //later... session.Start(); // :snippet-end: - } - - [Test] - public void GetSessionAndState(){ - // :snippet-start: get-sync-session - realm = Realm.GetInstance(config); - var session = realm.SyncSession; - // :snippet-end: // :snippet-start: get-session-state var sessionState = session.State; if (sessionState == SessionState.Active){ diff --git a/source/examples/generated/dotnet/DataSyncExamples.snippet.pause-synced-realm.cs b/source/examples/generated/dotnet/DataSyncExamples.snippet.pause-synced-realm.cs index c7577c60f9..f56b3dfed8 100644 --- a/source/examples/generated/dotnet/DataSyncExamples.snippet.pause-synced-realm.cs +++ b/source/examples/generated/dotnet/DataSyncExamples.snippet.pause-synced-realm.cs @@ -1,5 +1,5 @@ realm = Realm.GetInstance(config); -var session = realm.SyncSession; +session = realm.SyncSession; session.Stop(); //later... session.Start(); From efaee31bb3cedeb6ce0fbddf729ab9ef9ecb632b Mon Sep 17 00:00:00 2001 From: MongoCaleb Date: Tue, 23 Jul 2024 09:15:32 -0700 Subject: [PATCH 3/3] fix build errors...again --- .../dotnet/Examples/BundleARealmExamples.cs | 33 ++++++++++++++++++- examples/dotnet/Examples/DataSyncExamples.cs | 23 ++----------- ...Examples.snippet.extract_and_copy_realm.cs | 2 +- ...RealmExamples.snippet.get-session-state.cs | 6 ++++ ...ARealmExamples.snippet.get-sync-session.cs | 2 ++ ...ealmExamples.snippet.pause-synced-realm.cs | 5 +++ source/sdk/dotnet/sync/sync-session.txt | 2 +- 7 files changed, 49 insertions(+), 24 deletions(-) create mode 100644 source/examples/generated/dotnet/BundleARealmExamples.snippet.get-session-state.cs create mode 100644 source/examples/generated/dotnet/BundleARealmExamples.snippet.get-sync-session.cs create mode 100644 source/examples/generated/dotnet/BundleARealmExamples.snippet.pause-synced-realm.cs diff --git a/examples/dotnet/Examples/BundleARealmExamples.cs b/examples/dotnet/Examples/BundleARealmExamples.cs index 749b6e6fac..bb9eed3f33 100644 --- a/examples/dotnet/Examples/BundleARealmExamples.cs +++ b/examples/dotnet/Examples/BundleARealmExamples.cs @@ -73,6 +73,37 @@ public async Task TestWriteCopySynced() // Want to know where the copy is? var locationOfCopy = existingConfig.DatabasePath; // :snippet-end: + + // :snippet-start: get-sync-session + // :replace-start: { + // "terms": { + // "bundledConfig": "config" + // } + // } + // :replace-end: + realm = Realm.GetInstance(bundledConfig); + // :uncomment-start: + // var session = realm.SyncSession; + // :uncomment-end: + // :snippet-end: + // :snippet-start: pause-synced-realm + // :uncomment-start: + // realm = Realm.GetInstance(config); + // :uncomment-end: + session = realm.SyncSession; + session.Stop(); + //later... + session.Start(); + // :snippet-end: + // :snippet-start: get-session-state + var sessionState = session.State; + if (sessionState == SessionState.Active){ + Console.WriteLine("The session is active"); + } else { + Console.WriteLine("The session is inactive"); + } + // :snippet-end: + } @@ -84,6 +115,7 @@ public async Task ExtractAndLoadRealmFile() // "terms": { // "Config.AppId": "\"myRealmAppId\""} // } + // :replace-end: // If you are using a local realm var config = RealmConfiguration.DefaultConfiguration; @@ -94,7 +126,6 @@ public async Task ExtractAndLoadRealmFile() // :remove-start: config.Schema = new[] { typeof(Examples.Models.User) }; // :remove-end: - // :replace-end: // Extract and copy the realm if (!File.Exists(config.DatabasePath)) diff --git a/examples/dotnet/Examples/DataSyncExamples.cs b/examples/dotnet/Examples/DataSyncExamples.cs index a5a559784a..d4bf923860 100644 --- a/examples/dotnet/Examples/DataSyncExamples.cs +++ b/examples/dotnet/Examples/DataSyncExamples.cs @@ -14,7 +14,7 @@ public class DataSyncExamples Realms.Sync.User user; FlexibleSyncConfiguration config; - [OneTimeSetUp] + public void Setup() { const string myRealmAppId = Config.FSAppId; @@ -25,27 +25,8 @@ public void Setup() config = new FlexibleSyncConfiguration(user); } - [Test] public void GetSessionAndState(){ - // :snippet-start: get-sync-session - realm = Realm.GetInstance(config); - var session = realm.SyncSession; - // :snippet-end: - // :snippet-start: pause-synced-realm - realm = Realm.GetInstance(config); - session = realm.SyncSession; - session.Stop(); - //later... - session.Start(); - // :snippet-end: - // :snippet-start: get-session-state - var sessionState = session.State; - if (sessionState == SessionState.Active){ - Console.WriteLine("The session is active"); - } else { - Console.WriteLine("The session is inactive"); - } - // :snippet-end: + } } } diff --git a/source/examples/generated/dotnet/BundleARealmExamples.snippet.extract_and_copy_realm.cs b/source/examples/generated/dotnet/BundleARealmExamples.snippet.extract_and_copy_realm.cs index c6686d8373..0db6376dce 100644 --- a/source/examples/generated/dotnet/BundleARealmExamples.snippet.extract_and_copy_realm.cs +++ b/source/examples/generated/dotnet/BundleARealmExamples.snippet.extract_and_copy_realm.cs @@ -2,7 +2,7 @@ var config = RealmConfiguration.DefaultConfiguration; // If the realm file is a synced realm -var app = App.Create("myRealmAppId"); +var app = App.Create(Config.AppId); var user = await app.LogInAsync(Credentials.Anonymous()); config = new PartitionSyncConfiguration("myPartition", user); diff --git a/source/examples/generated/dotnet/BundleARealmExamples.snippet.get-session-state.cs b/source/examples/generated/dotnet/BundleARealmExamples.snippet.get-session-state.cs new file mode 100644 index 0000000000..03ed93413a --- /dev/null +++ b/source/examples/generated/dotnet/BundleARealmExamples.snippet.get-session-state.cs @@ -0,0 +1,6 @@ +var sessionState = session.State; +if (sessionState == SessionState.Active){ + Console.WriteLine("The session is active"); +} else { + Console.WriteLine("The session is inactive"); +} diff --git a/source/examples/generated/dotnet/BundleARealmExamples.snippet.get-sync-session.cs b/source/examples/generated/dotnet/BundleARealmExamples.snippet.get-sync-session.cs new file mode 100644 index 0000000000..7c801f6fa5 --- /dev/null +++ b/source/examples/generated/dotnet/BundleARealmExamples.snippet.get-sync-session.cs @@ -0,0 +1,2 @@ +realm = Realm.GetInstance(bundledConfig); +var session = realm.SyncSession; diff --git a/source/examples/generated/dotnet/BundleARealmExamples.snippet.pause-synced-realm.cs b/source/examples/generated/dotnet/BundleARealmExamples.snippet.pause-synced-realm.cs new file mode 100644 index 0000000000..f56b3dfed8 --- /dev/null +++ b/source/examples/generated/dotnet/BundleARealmExamples.snippet.pause-synced-realm.cs @@ -0,0 +1,5 @@ +realm = Realm.GetInstance(config); +session = realm.SyncSession; +session.Stop(); +//later... +session.Start(); diff --git a/source/sdk/dotnet/sync/sync-session.txt b/source/sdk/dotnet/sync/sync-session.txt index d05eef1f4d..5218dcfcd2 100644 --- a/source/sdk/dotnet/sync/sync-session.txt +++ b/source/sdk/dotnet/sync/sync-session.txt @@ -31,7 +31,7 @@ method on the paused session, the Sync session resumes. The following code block demonstrates calling the ``Stop()`` and ``Start()`` methods: -.. literalinclude:: /examples/generated/dotnet/DataSyncExamples.snippet.pause-synced-realm.cs +.. literalinclude:: /examples/generated/dotnet/BundleARealmExamples.snippet.pause-synced-realm.cs :language: csharp When to Pause a Sync Session