Skip to content

Commit 8774762

Browse files
committed
Objects filtering integration tests
1 parent 9140830 commit 8774762

File tree

2 files changed

+140
-2
lines changed

2 files changed

+140
-2
lines changed

PubNubUnity/Assets/PubNub/PlayModeTests/PlayModeTests.cs

Lines changed: 139 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1723,6 +1723,50 @@ public IEnumerator TestMembersAndMemberships() {
17231723
yield return new WaitForSeconds (PlayModeCommon.WaitTimeBetweenCalls4);
17241724
Assert.True(tresult, "GetMemberships didn't return");
17251725

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+
17261770
//Remove Space Memberships
17271771
PNMembersRemove inputRm = new PNMembersRemove();
17281772
inputRm.ID = userid;
@@ -1853,6 +1897,47 @@ public IEnumerator TestMembersAndMemberships() {
18531897
});
18541898
yield return new WaitForSeconds (PlayModeCommon.WaitTimeBetweenCalls4);
18551899
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");
18561941

18571942
//Get members
18581943
tresult = false;
@@ -2289,6 +2374,8 @@ public IEnumerator TestUserCRUD() {
22892374
string externalID = string.Format("externalID {0}", ran);
22902375
string profileURL = string.Format("profileURL {0}", ran);
22912376

2377+
string filter = string.Format("name like '{0}*'", name);
2378+
22922379
PNUserSpaceInclude[] include = new PNUserSpaceInclude[]{PNUserSpaceInclude.PNUserSpaceCustom};
22932380

22942381
PubNub pubnub = new PubNub(pnConfiguration);
@@ -2355,7 +2442,6 @@ public IEnumerator TestUserCRUD() {
23552442
});
23562443
yield return new WaitForSeconds (PlayModeCommon.WaitTimeBetweenCalls);
23572444
Assert.True(tresult, "UpdateUser didn't return");
2358-
23592445

23602446
pubnub.GetUsers().Async((result, status) => {
23612447
Assert.True(status.Error.Equals(false));
@@ -2383,6 +2469,32 @@ public IEnumerator TestUserCRUD() {
23832469
yield return new WaitForSeconds (PlayModeCommon.WaitTimeBetweenCalls);
23842470
Assert.True(tresult, "GetUsers didn't return");
23852471

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+
23862498
tresult = false;
23872499

23882500
pubnub.DeleteUser().ID(id).Async((result, status) => {
@@ -2407,6 +2519,8 @@ public IEnumerator TestSpaceCRUD() {
24072519
string name = string.Format("name {0}", ran);
24082520
string description = string.Format("description {0}", ran);
24092521

2522+
string filter = string.Format("name like '{0}*'", name);
2523+
24102524
PNUserSpaceInclude[] include = new PNUserSpaceInclude[]{PNUserSpaceInclude.PNUserSpaceCustom};
24112525

24122526
PubNub pubnub = new PubNub(pnConfiguration);
@@ -2489,6 +2603,30 @@ public IEnumerator TestSpaceCRUD() {
24892603
yield return new WaitForSeconds (PlayModeCommon.WaitTimeBetweenCalls);
24902604
Assert.True(tresult, "GetSpaces didn't return");
24912605

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+
24922630
tresult = false;
24932631

24942632
pubnub.DeleteSpace().ID(id).Async((result, status) => {

PubNubUnity/Assets/PubNub/PubNubUnity/PubNubUnityBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ namespace PubNubAPI
77
public class PubNubUnityBase
88
{
99
protected Counter publishMessageCounter;
10-
private const string build = "4.7.0";
10+
private const string build = "4.7.1";
1111
private string pnsdkVersion = string.Format ("PubNub-CSharp-Unity/{0}", build);
1212

1313
public string Version {

0 commit comments

Comments
 (0)