11using System ;
22using System . Collections . Generic ;
3+ using System . Threading ;
34using System . Threading . Tasks ;
45using Microsoft . VisualStudio . TestTools . UnitTesting ;
5- using Parse . Abstractions . Platform . Objects ;
6+ using Moq ;
7+ using Parse . Abstractions . Infrastructure ;
8+ using Parse . Abstractions . Platform . Users ;
69using Parse . Infrastructure ;
710using Parse . Platform . LiveQueries ;
811
@@ -11,12 +14,26 @@ namespace Parse.Tests;
1114[ TestClass ]
1215public class LiveQueryMessageBuilderTests
1316{
14- private ParseClient Client { get ; } = new ParseClient (
15- new ServerConnectionData { Test = true } ,
16- new LiveQueryServerConnectionData { ApplicationID = "TestApp" , Key = "t3stK3y" , Test = true } ) ;
17+ private readonly Mock < IParseCurrentUserController > _mockCurrentUserController ;
18+ private readonly MutableServiceHub _hub ;
19+
20+ private ParseClient Client { get ; }
1721
1822 public LiveQueryMessageBuilderTests ( )
1923 {
24+ _mockCurrentUserController = new Mock < IParseCurrentUserController > ( ) ;
25+
26+ _mockCurrentUserController
27+ . Setup ( controller => controller . GetCurrentSessionTokenAsync ( It . IsAny < IServiceHub > ( ) , It . IsAny < CancellationToken > ( ) ) )
28+ . ReturnsAsync ( "s3ss!0nT0k3n" ) ;
29+
30+ _hub = new MutableServiceHub { CurrentUserController = _mockCurrentUserController . Object } ;
31+
32+ Client = new ParseClient (
33+ new ServerConnectionData { Test = true } ,
34+ new LiveQueryServerConnectionData { ApplicationID = "TestApp" , Key = "t3stK3y" , Test = true } ,
35+ _hub ) ;
36+
2037 Client . Publicize ( ) ;
2138 }
2239
@@ -38,10 +55,12 @@ public async Task TestBuildConnectMessage()
3855 Assert . IsTrue ( message . ContainsKey ( "op" ) ) ;
3956 Assert . IsTrue ( message . ContainsKey ( "applicationId" ) ) ;
4057 Assert . IsTrue ( message . ContainsKey ( "windowsKey" ) ) ;
41- Assert . HasCount ( 3 , message ) ;
58+ Assert . IsTrue ( message . ContainsKey ( "sessionToken" ) ) ;
59+ Assert . HasCount ( 4 , message ) ;
4260 Assert . AreEqual ( "connect" , message [ "op" ] ) ;
4361 Assert . AreEqual ( Client . Services . LiveQueryServerConnectionData . ApplicationID , message [ "applicationId" ] ) ;
4462 Assert . AreEqual ( Client . Services . LiveQueryServerConnectionData . Key , message [ "windowsKey" ] ) ;
63+ Assert . AreEqual ( await Client . Services . GetCurrentSessionToken ( ) , message [ "sessionToken" ] ) ;
4564 }
4665
4766 [ TestMethod ]
@@ -75,7 +94,7 @@ public async Task TestBuildSubscribeMessage()
7594 IDictionary < string , object > message = await builder . BuildSubscribeMessage < ParseObject > ( requestId , liveQuery ) ;
7695
7796 Assert . IsNotNull ( message ) ;
78- Assert . HasCount ( 3 , message ) ;
97+ Assert . HasCount ( 4 , message ) ;
7998
8099 Assert . IsTrue ( message . ContainsKey ( "op" ) ) ;
81100 Assert . AreEqual ( "subscribe" , message [ "op" ] ) ;
@@ -126,7 +145,7 @@ public async Task TestBuildUpdateSubscriptionMessage()
126145 IDictionary < string , object > message = await builder . BuildUpdateSubscriptionMessage < ParseObject > ( requestId , liveQuery ) ;
127146
128147 Assert . IsNotNull ( message ) ;
129- Assert . HasCount ( 3 , message ) ;
148+ Assert . HasCount ( 4 , message ) ;
130149
131150 Assert . IsTrue ( message . ContainsKey ( "op" ) ) ;
132151 Assert . AreEqual ( "update" , message [ "op" ] ) ;
0 commit comments