@@ -1723,6 +1723,50 @@ public IEnumerator TestMembersAndMemberships() {
1723
1723
yield return new WaitForSeconds ( PlayModeCommon . WaitTimeBetweenCalls4 ) ;
1724
1724
Assert . True ( tresult , "GetMemberships didn't return" ) ;
1725
1725
1726
+ string filterMemberships = string . Format ( "space.name == '{0}'" , spacename ) ;
1727
+
1728
+ //Get Space Memberships with filter
1729
+ tresult = false ;
1730
+ pubnub . GetMemberships ( ) . UserID ( userid ) . Include ( inclMem ) . Limit ( limit ) . Filter ( filterMemberships ) . Count ( count ) . Async ( ( result , status ) => {
1731
+ Assert . True ( status . Error . Equals ( false ) ) ;
1732
+ Assert . True ( status . StatusCode . Equals ( 0 ) , status . StatusCode . ToString ( ) ) ;
1733
+
1734
+ bool bFound = false ;
1735
+ Debug . Log ( "Looking for " + spaceid ) ;
1736
+ Debug . Log ( "result.Next:" + result . Next ) ;
1737
+ Debug . Log ( "result.Prev:" + result . Prev ) ;
1738
+ Debug . Log ( "result.TotalCount:" + result . TotalCount ) ;
1739
+ Assert . True ( result . TotalCount > 0 ) ;
1740
+
1741
+ foreach ( PNMemberships mem in result . Data ) {
1742
+
1743
+ Debug . Log ( "Found mem " + mem . Space . ID ) ;
1744
+ if ( mem . Space . ID . Equals ( spaceid ) ) {
1745
+ Assert . AreEqual ( spacename , mem . Space . Name ) ;
1746
+ Assert . AreEqual ( spacedesc , mem . Space . Description ) ;
1747
+ Assert . AreEqual ( spaceid , mem . Space . ID ) ;
1748
+ Assert . AreEqual ( mem . Space . Updated , mem . Space . Created ) ;
1749
+ Assert . True ( ! string . IsNullOrEmpty ( mem . Space . ETag ) , mem . Space . ETag ) ;
1750
+ foreach ( KeyValuePair < string , object > kvp in mem . Space . Custom ) {
1751
+ Debug . Log ( kvp . Key + kvp . Value ) ;
1752
+ }
1753
+ Assert . True ( "scv1" == mem . Space . Custom [ "spacecustomkey1" ] . ToString ( ) ) ;
1754
+ Assert . True ( "scv2" == mem . Space . Custom [ "spacecustomkey2" ] . ToString ( ) ) ;
1755
+ Assert . True ( "mcvup21" == mem . Custom [ "memberscustomkeyup21" ] . ToString ( ) ) ;
1756
+ Assert . True ( "mcvup22" == mem . Custom [ "memberscustomkeyup22" ] . ToString ( ) ) ;
1757
+
1758
+ bFound = true ;
1759
+ break ;
1760
+ }
1761
+
1762
+ }
1763
+
1764
+ tresult = bFound ;
1765
+ } ) ;
1766
+
1767
+ yield return new WaitForSeconds ( PlayModeCommon . WaitTimeBetweenCalls4 ) ;
1768
+ Assert . True ( tresult , "GetMembershipsFilter didn't return" ) ;
1769
+
1726
1770
//Remove Space Memberships
1727
1771
PNMembersRemove inputRm = new PNMembersRemove ( ) ;
1728
1772
inputRm . ID = userid ;
@@ -1853,6 +1897,47 @@ public IEnumerator TestMembersAndMemberships() {
1853
1897
} ) ;
1854
1898
yield return new WaitForSeconds ( PlayModeCommon . WaitTimeBetweenCalls4 ) ;
1855
1899
Assert . True ( tresult , "ManageMemberships Update didn't return" ) ;
1900
+
1901
+ string filterMembers = string . Format ( "user.name == '{0}'" , name ) ;
1902
+
1903
+ //Get members with Filter
1904
+ tresult = false ;
1905
+ pubnub . GetMembers ( ) . SpaceID ( spaceid2 ) . Include ( inclSm ) . Limit ( limit ) . Count ( count ) . Filter ( filterMembers ) . Async ( ( result , status ) => {
1906
+ Assert . True ( status . Error . Equals ( false ) ) ;
1907
+ Assert . True ( status . StatusCode . Equals ( 0 ) , status . StatusCode . ToString ( ) ) ;
1908
+ bool bFound = false ;
1909
+ Debug . Log ( "Looking for " + userid2 ) ;
1910
+ Debug . Log ( "result.Next:" + result . Next ) ;
1911
+ Debug . Log ( "result.Prev:" + result . Prev ) ;
1912
+ Debug . Log ( "result.TotalCount:" + result . TotalCount ) ;
1913
+ Assert . True ( result . TotalCount > 0 ) ;
1914
+
1915
+ foreach ( PNMembers mem in result . Data ) {
1916
+
1917
+ Debug . Log ( "Found mem " + mem . User . ID ) ;
1918
+ if ( mem . User . ID . Equals ( userid2 ) ) {
1919
+ Assert . AreEqual ( name2 , mem . User . Name ) ;
1920
+ Assert . AreEqual ( email2 , mem . User . Email ) ;
1921
+ Assert . AreEqual ( externalID2 , mem . User . ExternalID ) ;
1922
+ Assert . AreEqual ( profileURL2 , mem . User . ProfileURL ) ;
1923
+ Assert . AreEqual ( userid2 , mem . User . ID ) ;
1924
+ Assert . AreEqual ( mem . User . Updated , mem . User . Created ) ;
1925
+ Assert . True ( ! string . IsNullOrEmpty ( mem . User . ETag ) , mem . User . ETag ) ;
1926
+ Assert . True ( "ucv21" == mem . User . Custom [ "usercustomkey21" ] . ToString ( ) ) ;
1927
+ Assert . True ( "ucv22" == mem . User . Custom [ "usercustomkey22" ] . ToString ( ) ) ;
1928
+ Assert . True ( "memcvup21" == mem . Custom [ "mememberscustomkeyup21" ] . ToString ( ) ) ;
1929
+ Assert . True ( "memcvup22" == mem . Custom [ "mememberscustomkeyup22" ] . ToString ( ) ) ;
1930
+
1931
+ bFound = true ;
1932
+ break ;
1933
+ }
1934
+
1935
+ }
1936
+ tresult = bFound ;
1937
+ } ) ;
1938
+
1939
+ yield return new WaitForSeconds ( PlayModeCommon . WaitTimeBetweenCalls ) ;
1940
+ Assert . True ( tresult , "GetMembersFilter didn't return" ) ;
1856
1941
1857
1942
//Get members
1858
1943
tresult = false ;
@@ -2289,6 +2374,8 @@ public IEnumerator TestUserCRUD() {
2289
2374
string externalID = string . Format ( "externalID {0}" , ran ) ;
2290
2375
string profileURL = string . Format ( "profileURL {0}" , ran ) ;
2291
2376
2377
+ string filter = string . Format ( "name like '{0}*'" , name ) ;
2378
+
2292
2379
PNUserSpaceInclude [ ] include = new PNUserSpaceInclude [ ] { PNUserSpaceInclude . PNUserSpaceCustom } ;
2293
2380
2294
2381
PubNub pubnub = new PubNub ( pnConfiguration ) ;
@@ -2355,7 +2442,6 @@ public IEnumerator TestUserCRUD() {
2355
2442
} ) ;
2356
2443
yield return new WaitForSeconds ( PlayModeCommon . WaitTimeBetweenCalls ) ;
2357
2444
Assert . True ( tresult , "UpdateUser didn't return" ) ;
2358
-
2359
2445
2360
2446
pubnub . GetUsers ( ) . Async ( ( result , status ) => {
2361
2447
Assert . True ( status . Error . Equals ( false ) ) ;
@@ -2383,6 +2469,32 @@ public IEnumerator TestUserCRUD() {
2383
2469
yield return new WaitForSeconds ( PlayModeCommon . WaitTimeBetweenCalls ) ;
2384
2470
Assert . True ( tresult , "GetUsers didn't return" ) ;
2385
2471
2472
+ pubnub . GetUsers ( ) . Filter ( filter ) . Async ( ( result , status ) => {
2473
+ Assert . True ( status . Error . Equals ( false ) ) ;
2474
+ Assert . True ( status . StatusCode . Equals ( 0 ) , status . StatusCode . ToString ( ) ) ;
2475
+ Debug . Log ( "result.Next:" + result . Next ) ;
2476
+ Debug . Log ( "result.Prev:" + result . Prev ) ;
2477
+ Debug . Log ( "result.TotalCount:" + result . TotalCount ) ;
2478
+ //Assert.True(result.TotalCount>0);
2479
+
2480
+ if ( result . Data != null ) {
2481
+ foreach ( PNUserResult pnUserResult in result . Data ) {
2482
+ if ( pnUserResult . ID . Equals ( id ) ) {
2483
+ Assert . AreEqual ( name2 , pnUserResult . Name ) ;
2484
+ Assert . AreEqual ( email2 , pnUserResult . Email ) ;
2485
+ Assert . AreEqual ( externalID2 , pnUserResult . ExternalID ) ;
2486
+ Assert . AreEqual ( profileURL2 , pnUserResult . ProfileURL ) ;
2487
+ Assert . AreNotEqual ( pnUserResult . Updated , pnUserResult . Created ) ;
2488
+ Assert . True ( ! string . IsNullOrEmpty ( pnUserResult . ETag ) , pnUserResult . ETag ) ;
2489
+ Assert . True ( pnUserResult . Custom == null ) ;
2490
+ tresult = true ;
2491
+ }
2492
+ }
2493
+ }
2494
+ } ) ;
2495
+ yield return new WaitForSeconds ( PlayModeCommon . WaitTimeBetweenCalls ) ;
2496
+ Assert . True ( tresult , "GetUsersFilter didn't return" ) ;
2497
+
2386
2498
tresult = false ;
2387
2499
2388
2500
pubnub . DeleteUser ( ) . ID ( id ) . Async ( ( result , status ) => {
@@ -2407,6 +2519,8 @@ public IEnumerator TestSpaceCRUD() {
2407
2519
string name = string . Format ( "name {0}" , ran ) ;
2408
2520
string description = string . Format ( "description {0}" , ran ) ;
2409
2521
2522
+ string filter = string . Format ( "name like '{0}*'" , name ) ;
2523
+
2410
2524
PNUserSpaceInclude [ ] include = new PNUserSpaceInclude [ ] { PNUserSpaceInclude . PNUserSpaceCustom } ;
2411
2525
2412
2526
PubNub pubnub = new PubNub ( pnConfiguration ) ;
@@ -2489,6 +2603,30 @@ public IEnumerator TestSpaceCRUD() {
2489
2603
yield return new WaitForSeconds ( PlayModeCommon . WaitTimeBetweenCalls ) ;
2490
2604
Assert . True ( tresult , "GetSpaces didn't return" ) ;
2491
2605
2606
+ pubnub . GetSpaces ( ) . Filter ( filter ) . Async ( ( result , status ) => {
2607
+ Assert . True ( status . Error . Equals ( false ) ) ;
2608
+ Assert . True ( status . StatusCode . Equals ( 0 ) , status . StatusCode . ToString ( ) ) ;
2609
+ Debug . Log ( "result.Next:" + result . Next ) ;
2610
+ Debug . Log ( "result.Prev:" + result . Prev ) ;
2611
+ Debug . Log ( "result.TotalCount:" + result . TotalCount ) ;
2612
+ //Assert.True(result.TotalCount>0);
2613
+
2614
+ if ( result . Data != null ) {
2615
+ foreach ( PNSpaceResult pnSpaceResult in result . Data ) {
2616
+ if ( pnSpaceResult . ID . Equals ( id ) ) {
2617
+ Assert . AreEqual ( name2 , pnSpaceResult . Name ) ;
2618
+ Assert . AreEqual ( description2 , pnSpaceResult . Description ) ;
2619
+ Assert . AreNotEqual ( pnSpaceResult . Updated , pnSpaceResult . Created ) ;
2620
+ Assert . True ( ! string . IsNullOrEmpty ( pnSpaceResult . ETag ) , pnSpaceResult . ETag ) ;
2621
+ Assert . True ( pnSpaceResult . Custom == null ) ;
2622
+ tresult = true ;
2623
+ }
2624
+ }
2625
+ }
2626
+ } ) ;
2627
+ yield return new WaitForSeconds ( PlayModeCommon . WaitTimeBetweenCalls ) ;
2628
+ Assert . True ( tresult , "GetSpacesFilter didn't return" ) ;
2629
+
2492
2630
tresult = false ;
2493
2631
2494
2632
pubnub . DeleteSpace ( ) . ID ( id ) . Async ( ( result , status ) => {
0 commit comments