Skip to content

Commit 450de5c

Browse files
authored
Merge pull request #44 from pubnub/develop
Token Management System - Client End
2 parents 447b5ac + f5caa18 commit 450de5c

File tree

179 files changed

+64140
-78
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

179 files changed

+64140
-78
lines changed

.pubnub.yml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
---
22
changelog:
3+
-
4+
changes:
5+
-
6+
text: "Token Management System - Client end"
7+
type: improvement
8+
date: Feb 18, 19
9+
version: v4.8.0
310
-
411
changes:
512
-
@@ -385,6 +392,8 @@ changelog:
385392
date: ~
386393
version: v3.6.8.1
387394
features:
395+
access:
396+
- ACCESS-TOKEN-MANAGEMENT
388397
channel-groups:
389398
- CHANNEL-GROUPS-ADD-CHANNELS
390399
- CHANNEL-GROUPS-REMOVE-CHANNELS
@@ -492,4 +501,4 @@ supported-platforms:
492501
- "Ubuntu 12.04+, with Graphics card DX9 (shader model 3.0) or DX11 with feature level 9.3 capabilities; and CPU SSE2 instruction set support."
493502
- "Mac OS X 10.8+, with Graphics card DX9 (shader model 3.0) or DX11 with feature level 9.3 capabilities; and CPU SSE2 instruction set support."
494503
version: "PubNub Unity SDK"
495-
version: v4.7.3
504+
version: v4.8.0

PubNubUnity/Assets/PubNub/Builders/Objects/CreateSpaceRequestBuilder.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ protected override void RunWebRequest(QueueManager qm){
7474
this.PubNubInstance,
7575
this.QueryParams
7676
);
77+
request = this.PubNubInstance.TokenMgr.AppendTokenToURL(request.OriginalString, CreateSpaceID, PNResourceType.PNSpaces, OperationType);
7778
base.RunWebRequest(qm, request, requestState, this.PubNubInstance.PNConfig.NonSubscribeTimeout, 0, this);
7879
}
7980

PubNubUnity/Assets/PubNub/Builders/Objects/CreateUserRequestBuilder.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ protected override void RunWebRequest(QueueManager qm){
8888
this.PubNubInstance,
8989
this.QueryParams
9090
);
91+
request = this.PubNubInstance.TokenMgr.AppendTokenToURL( request.OriginalString, CreateUserID, PNResourceType.PNUsers, OperationType);
9192
base.RunWebRequest(qm, request, requestState, this.PubNubInstance.PNConfig.NonSubscribeTimeout, 0, this);
9293
}
9394

PubNubUnity/Assets/PubNub/Builders/Objects/DeleteSpaceRequestBuilder.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ protected override void RunWebRequest(QueueManager qm)
3636
this.PubNubInstance,
3737
this.QueryParams
3838
);
39+
request = this.PubNubInstance.TokenMgr.AppendTokenToURL( request.OriginalString, DeleteSpaceID, PNResourceType.PNSpaces, OperationType);
3940
base.RunWebRequest(qm, request, requestState, this.PubNubInstance.PNConfig.NonSubscribeTimeout, 0, this);
4041
}
4142

PubNubUnity/Assets/PubNub/Builders/Objects/DeleteUserRequestBuilder.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ protected override void RunWebRequest(QueueManager qm){
3535
this.PubNubInstance,
3636
this.QueryParams
3737
);
38+
request = this.PubNubInstance.TokenMgr.AppendTokenToURL( request.OriginalString, DeleteUserID, PNResourceType.PNUsers, OperationType);
3839
base.RunWebRequest(qm, request, requestState, this.PubNubInstance.PNConfig.NonSubscribeTimeout, 0, this);
3940
}
4041

PubNubUnity/Assets/PubNub/Builders/Objects/GetMembersRequestBuilder.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ protected override void RunWebRequest(QueueManager qm){
7373
this.QueryParams,
7474
GetMembersFilter
7575
);
76+
request = this.PubNubInstance.TokenMgr.AppendTokenToURL( request.OriginalString, GetMembersSpaceID, PNResourceType.PNSpaces, OperationType);
7677
base.RunWebRequest(qm, request, requestState, this.PubNubInstance.PNConfig.NonSubscribeTimeout, 0, this);
7778
}
7879

PubNubUnity/Assets/PubNub/Builders/Objects/GetMembershipsRequestBuilder.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ protected override void RunWebRequest(QueueManager qm){
7373
this.QueryParams,
7474
GetMembershipsFilter
7575
);
76+
request = this.PubNubInstance.TokenMgr.AppendTokenToURL( request.OriginalString, GetMembershipsUserID, PNResourceType.PNUsers, OperationType);
7677
base.RunWebRequest(qm, request, requestState, this.PubNubInstance.PNConfig.NonSubscribeTimeout, 0, this);
7778
}
7879

PubNubUnity/Assets/PubNub/Builders/Objects/GetSpaceRequestBuilder.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ protected override void RunWebRequest(QueueManager qm)
4444
this.PubNubInstance,
4545
this.QueryParams
4646
);
47+
request = this.PubNubInstance.TokenMgr.AppendTokenToURL( request.OriginalString, GetSpaceID, PNResourceType.PNSpaces, OperationType);
4748
base.RunWebRequest(qm, request, requestState, this.PubNubInstance.PNConfig.NonSubscribeTimeout, 0, this);
4849
}
4950

PubNubUnity/Assets/PubNub/Builders/Objects/GetSpacesRequestBuilder.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ protected override void RunWebRequest(QueueManager qm)
7171
this.QueryParams,
7272
GetSpacesFilter
7373
);
74+
request = this.PubNubInstance.TokenMgr.AppendTokenToURL( request.OriginalString, "", PNResourceType.PNSpaces, OperationType);
7475
base.RunWebRequest(qm, request, requestState, this.PubNubInstance.PNConfig.NonSubscribeTimeout, 0, this);
7576
}
7677

PubNubUnity/Assets/PubNub/Builders/Objects/GetUserRequestBuilder.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ protected override void RunWebRequest(QueueManager qm){
4343
this.PubNubInstance,
4444
this.QueryParams
4545
);
46+
request = this.PubNubInstance.TokenMgr.AppendTokenToURL( request.OriginalString, GetUserID, PNResourceType.PNUsers, OperationType);
4647
base.RunWebRequest(qm, request, requestState, this.PubNubInstance.PNConfig.NonSubscribeTimeout, 0, this);
4748
}
4849

PubNubUnity/Assets/PubNub/Builders/Objects/GetUsersRequestBuilder.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ protected override void RunWebRequest(QueueManager qm){
6666
this.QueryParams,
6767
GetUsersFilter
6868
);
69+
request = this.PubNubInstance.TokenMgr.AppendTokenToURL( request.OriginalString, "", PNResourceType.PNUsers, OperationType);
6970
base.RunWebRequest(qm, request, requestState, this.PubNubInstance.PNConfig.NonSubscribeTimeout, 0, this);
7071
}
7172

PubNubUnity/Assets/PubNub/Builders/Objects/ManageMembersRequestBuilder.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ protected override void RunWebRequest(QueueManager qm){
112112
this.PubNubInstance,
113113
this.QueryParams
114114
);
115+
request = this.PubNubInstance.TokenMgr.AppendTokenToURL( request.OriginalString, ManageMembersSpaceID, PNResourceType.PNSpaces, OperationType);
115116
base.RunWebRequest(qm, request, requestState, this.PubNubInstance.PNConfig.NonSubscribeTimeout, 0, this);
116117
}
117118

PubNubUnity/Assets/PubNub/Builders/Objects/ManageMembershipsRequestBuilder.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ protected override void RunWebRequest(QueueManager qm){
9696
this.PubNubInstance,
9797
this.QueryParams
9898
);
99+
request = this.PubNubInstance.TokenMgr.AppendTokenToURL( request.OriginalString, ManageMembershipsUserID, PNResourceType.PNUsers, OperationType);
99100
base.RunWebRequest(qm, request, requestState, this.PubNubInstance.PNConfig.NonSubscribeTimeout, 0, this);
100101
}
101102

PubNubUnity/Assets/PubNub/Builders/Objects/UpdateSpaceRequestBuilder.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ protected override void RunWebRequest(QueueManager qm)
8282
this.PubNubInstance,
8383
this.QueryParams
8484
);
85+
request = this.PubNubInstance.TokenMgr.AppendTokenToURL( request.OriginalString, UpdateSpaceID, PNResourceType.PNSpaces, OperationType);
8586
base.RunWebRequest(qm, request, requestState, this.PubNubInstance.PNConfig.NonSubscribeTimeout, 0, this);
8687
}
8788

PubNubUnity/Assets/PubNub/Builders/Objects/UpdateUserRequestBuilder.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ protected override void RunWebRequest(QueueManager qm){
8989
this.PubNubInstance,
9090
this.QueryParams
9191
);
92+
request = this.PubNubInstance.TokenMgr.AppendTokenToURL( request.OriginalString, UpdateUserID, PNResourceType.PNUsers, OperationType);
9293
base.RunWebRequest(qm, request, requestState, this.PubNubInstance.PNConfig.NonSubscribeTimeout, 0, this);
9394
}
9495

Lines changed: 185 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,185 @@
1+
using System;
2+
using PubNubAPI;
3+
using NUnit.Framework;
4+
using System.Text;
5+
using System.Collections.Generic;
6+
using UnityEngine;
7+
8+
namespace PubNubAPI.Tests
9+
{
10+
[TestFixture]
11+
public class TokenManagerTests
12+
{
13+
[Test]
14+
public void TestCBORTokens1 ()
15+
{
16+
TestCBORTokensCommon("p0F2AkF0Gl2AX-JDdHRsCkNyZXOkRGNoYW6gQ2dycKBDdXNyoWl1LTMzNTIwNTUPQ3NwY6Fpcy0xNzA3OTgzGB9DcGF0pERjaGFuoENncnCgQ3VzcqBDc3BjoERtZXRhoENzaWdYINqGs2EyEMHPZrp6znVqTBzXNBAD_31hUH3JuUSWE2A6");
17+
}
18+
[Test]
19+
public void TestCBORTokens2 ()
20+
{
21+
TestCBORTokensCommon("p0F2AkF0Gl2AaMlDdHRsCkNyZXOkRGNoYW6gQ2dycKBDdXNyoWl1LTE5NzQxMDcPQ3NwY6Fpcy0yMzExMDExGB9DcGF0pERjaGFuoENncnCgQ3VzcqBDc3BjoERtZXRhoENzaWdYIO1ti19DLbEKK-s_COJPlM1xtZCpP8K4sV51nvRPTIxf");
22+
}
23+
[Test]
24+
public void TestCBORTokens3 ()
25+
{
26+
TestCBORTokensCommon("p0F2AkF0Gl2CEiRDdHRsA0NyZXOkRGNoYW6gQ2dycKBDdXNyoW50ZXN0dXNlcl8xNjY2ORgfQ3NwY6FvdGVzdHNwYWNlXzE1MDExGB9DcGF0pERjaGFuoENncnCgQ3VzcqBDc3BjoERtZXRhoENzaWdYIMqDoIOYPP9ULfXKLDK3eoGQ-C8nJxPTWFCDAc-Flxu7");
27+
}
28+
[Test]
29+
public void TestCBORTokens4 ()
30+
{
31+
TestCBORTokensCommon("p0F2AkF0Gl2CEiVDdHRsA0NyZXOkRGNoYW6gQ2dycKBDdXNyoENzcGOgQ3BhdKREY2hhbqBDZ3JwoEN1c3KhY14uKhgfQ3NwY6FjXi4qGB9EbWV0YaBDc2lnWCDfqMStM0r1GgghNjt1MPeSaA0ADTw6aGsuQgMT3jYylg==");
32+
}
33+
34+
public void TestCBORTokensCommon (string token)
35+
{
36+
PNConfiguration pnConfiguration = new PNConfiguration ();
37+
38+
PubNubUnity pnUnity = new PubNubUnity(pnConfiguration, null, null);
39+
pnConfiguration.StoreTokensOnGrant = true;
40+
pnConfiguration.SecretKey = "";
41+
42+
Debug.Log("Token: " + token);
43+
TokenManager tm = new TokenManager(pnUnity);
44+
tm.StoreToken(token);
45+
var p = tm.GetPermissions(token);
46+
Debug.Log("TTL: " + p.TTL);
47+
Debug.Log("Version: " + p.Version);
48+
Debug.Log("Timestamp: " + p.Timestamp);
49+
Debug.Log("Meta: " + p.Meta);
50+
Debug.Log("Signature: " + System.Text.Encoding.ASCII.GetString(p.Signature));
51+
foreach(KeyValuePair<string, int> kvp in p.Patterns.Channels){
52+
Debug.Log(string.Format("Patterns Channels: key {0}, val {1}", kvp.Key, kvp.Value));
53+
}
54+
foreach(KeyValuePair<string, int> kvp in p.Patterns.Groups){
55+
Debug.Log(string.Format("Patterns Groups: key {0}, val {1}", kvp.Key, kvp.Value));
56+
}
57+
foreach(KeyValuePair<string, int> kvp in p.Patterns.Users){
58+
Debug.Log(string.Format("Patterns Users: key {0}, val {1}", kvp.Key, kvp.Value));
59+
}
60+
foreach(KeyValuePair<string, int> kvp in p.Patterns.Spaces){
61+
Debug.Log(string.Format("Patterns Spaces: key {0}, val {1}", kvp.Key, kvp.Value));
62+
}
63+
foreach(KeyValuePair<string, int> kvp in p.Resources.Channels){
64+
Debug.Log(string.Format("Resources Channels: key {0}, val {1}", kvp.Key, kvp.Value));
65+
}
66+
foreach(KeyValuePair<string, int> kvp in p.Resources.Groups){
67+
Debug.Log(string.Format("Resources Groups: key {0}, val {1}", kvp.Key, kvp.Value));
68+
}
69+
foreach(KeyValuePair<string, int> kvp in p.Resources.Spaces){
70+
Debug.Log(string.Format("Resources Spaces: key {0}, val {1}", kvp.Key, kvp.Value));
71+
}
72+
foreach(KeyValuePair<string, int> kvp in p.Resources.Users){
73+
Debug.Log(string.Format("Resources Users: key {0}, val {1}", kvp.Key, kvp.Value));
74+
}
75+
76+
}
77+
[Test]
78+
public void TestCBORTokensCommon ()
79+
{
80+
string t1 = "p0F2AkF0Gl2AX-JDdHRsCkNyZXOkRGNoYW6gQ2dycKBDdXNyoWl1LTMzNTIwNTUPQ3NwY6Fpcy0xNzA3OTgzGB9DcGF0pERjaGFuoENncnCgQ3VzcqBDc3BjoERtZXRhoENzaWdYINqGs2EyEMHPZrp6znVqTBzXNBAD_31hUH3JuUSWE2A6";
81+
string t2 = "p0F2AkF0Gl2AaMlDdHRsCkNyZXOkRGNoYW6gQ2dycKBDdXNyoWl1LTE5NzQxMDcPQ3NwY6Fpcy0yMzExMDExGB9DcGF0pERjaGFuoENncnCgQ3VzcqBDc3BjoERtZXRhoENzaWdYIO1ti19DLbEKK-s_COJPlM1xtZCpP8K4sV51nvRPTIxf";
82+
string t3 = "p0F2AkF0Gl2CEiRDdHRsA0NyZXOkRGNoYW6gQ2dycKBDdXNyoW50ZXN0dXNlcl8xNjY2ORgfQ3NwY6FvdGVzdHNwYWNlXzE1MDExGB9DcGF0pERjaGFuoENncnCgQ3VzcqBDc3BjoERtZXRhoENzaWdYIMqDoIOYPP9ULfXKLDK3eoGQ-C8nJxPTWFCDAc-Flxu7";
83+
string t4 = "p0F2AkF0Gl2CEiVDdHRsA0NyZXOkRGNoYW6gQ2dycKBDdXNyoENzcGOgQ3BhdKREY2hhbqBDZ3JwoEN1c3KhY14uKhgfQ3NwY6FjXi4qGB9EbWV0YaBDc2lnWCDfqMStM0r1GgghNjt1MPeSaA0ADTw6aGsuQgMT3jYylg==";
84+
85+
PNConfiguration pnConfiguration = new PNConfiguration ();
86+
87+
PubNubUnity pnUnity = new PubNubUnity(pnConfiguration, null, null);
88+
pnConfiguration.StoreTokensOnGrant = true;
89+
pnConfiguration.SecretKey = "";
90+
91+
PubNub pn = new PubNub(pnConfiguration);
92+
93+
pn.SetTokens(new List<string>{t1, t2, t3, t4});
94+
95+
GrantResourcesWithPermissions g = pn.GetTokens();
96+
Assert.IsTrue(g.Channels.Count.Equals(0));
97+
Assert.IsTrue(g.Groups.Count.Equals(0));
98+
Assert.IsTrue(g.ChannelsPattern.Count.Equals(0));
99+
Assert.IsTrue(g.GroupsPattern.Count.Equals(0));
100+
foreach(KeyValuePair<string, UserSpacePermissionsWithToken> kvp in g.Users){
101+
Debug.Log(kvp.Key + "===>" + kvp.Value);
102+
UserSpacePermissionsWithToken u;
103+
104+
if(g.Users.TryGetValue(kvp.Key, out u)){
105+
Debug.Log(kvp.Key + "=======>" + u.Token);
106+
}
107+
}
108+
UserSpacePermissionsWithToken u1;
109+
if(g.Users.TryGetValue("testuser_16669", out u1)){
110+
Debug.Log("testuser_16669 =======>" + u1.Token);
111+
} else {
112+
Debug.Log("testuser_16669 not found");
113+
}
114+
Debug.Log(g.Users.ContainsKey("testuser_16669"));
115+
Debug.Log(g.Users.ContainsKey("u-1974107"));
116+
Debug.Log(g.Users.ContainsKey("u-3352055"));
117+
Assert.IsTrue(g.Users["testuser_16669"].BitMaskPerms.Equals(31));
118+
Assert.IsTrue(g.Users["testuser_16669"].TTL.Equals(3));
119+
Assert.IsTrue(g.Users["testuser_16669"].Timestamp.Equals(1568805412));
120+
121+
Assert.IsTrue(g.Users["testuser_16669"].Token.Equals(t3));
122+
Assert.IsTrue(g.Users["testuser_16669"].Permissions.Read.Equals(true));
123+
Assert.IsTrue(g.Users["testuser_16669"].Permissions.Write.Equals(true));
124+
Assert.IsTrue(g.Users["testuser_16669"].Permissions.Delete.Equals(true));
125+
Assert.IsTrue(g.Users["testuser_16669"].Permissions.Create.Equals(true));
126+
Assert.IsTrue(g.Users["testuser_16669"].Permissions.Manage.Equals(true));
127+
128+
Assert.IsTrue(g.Spaces["testspace_15011"].Token.Equals(t3));
129+
Assert.IsTrue(g.Spaces["testspace_15011"].Permissions.Read.Equals(true));
130+
Assert.IsTrue(g.Spaces["testspace_15011"].Permissions.Write.Equals(true));
131+
Assert.IsTrue(g.Spaces["testspace_15011"].Permissions.Delete.Equals(true));
132+
Assert.IsTrue(g.Spaces["testspace_15011"].Permissions.Create.Equals(true));
133+
Assert.IsTrue(g.Spaces["testspace_15011"].Permissions.Manage.Equals(true));
134+
135+
Assert.IsTrue(g.Users["u-1974107"].Token.Equals(t2));
136+
Assert.IsTrue(g.Spaces["s-1707983"].Token.Equals(t1));
137+
138+
Assert.IsTrue(g.UsersPattern["^.*"].Token.Equals(t4));
139+
Assert.IsTrue(g.SpacesPattern["^.*"].Token.Equals(t4));
140+
141+
GrantResourcesWithPermissions g2 = pn.GetTokensByResource(PNResourceType.PNUsers);
142+
Assert.IsTrue(g2.Users["testuser_16669"].BitMaskPerms.Equals(31));
143+
Assert.IsTrue(g2.Users["testuser_16669"].TTL.Equals(3));
144+
Assert.IsTrue(g2.Users["testuser_16669"].Timestamp.Equals(1568805412));
145+
146+
Assert.IsTrue(g2.Users["testuser_16669"].Token.Equals(t3));
147+
Assert.IsTrue(g2.Users["testuser_16669"].Permissions.Read.Equals(true));
148+
Assert.IsTrue(g2.Users["testuser_16669"].Permissions.Write.Equals(true));
149+
Assert.IsTrue(g2.Users["testuser_16669"].Permissions.Delete.Equals(true));
150+
Assert.IsTrue(g2.Users["testuser_16669"].Permissions.Create.Equals(true));
151+
Assert.IsTrue(g2.Users["testuser_16669"].Permissions.Manage.Equals(true));
152+
Assert.IsTrue(g2.Users["u-1974107"].Token.Equals(t2));
153+
Assert.IsTrue(g2.UsersPattern["^.*"].Token.Equals(t4));
154+
155+
GrantResourcesWithPermissions g3 = pn.GetTokensByResource(PNResourceType.PNSpaces);
156+
Assert.IsTrue(g3.Spaces["testspace_15011"].BitMaskPerms.Equals(31));
157+
Assert.IsTrue(g3.Spaces["testspace_15011"].TTL.Equals(3));
158+
Assert.IsTrue(g3.Spaces["testspace_15011"].Timestamp.Equals(1568805412));
159+
160+
Assert.IsTrue(g3.Spaces["testspace_15011"].Token.Equals(t3));
161+
Assert.IsTrue(g3.Spaces["testspace_15011"].Permissions.Read.Equals(true));
162+
Assert.IsTrue(g3.Spaces["testspace_15011"].Permissions.Write.Equals(true));
163+
Assert.IsTrue(g3.Spaces["testspace_15011"].Permissions.Delete.Equals(true));
164+
Assert.IsTrue(g3.Spaces["testspace_15011"].Permissions.Create.Equals(true));
165+
Assert.IsTrue(g3.Spaces["testspace_15011"].Permissions.Manage.Equals(true));
166+
Assert.IsTrue(g3.Spaces["s-1707983"].Token.Equals(t1));
167+
Assert.IsTrue(g3.SpacesPattern["^.*"].Token.Equals(t4));
168+
169+
string g4 = pn.GetToken("testspace_15011", PNResourceType.PNSpaces);
170+
Debug.Log("g4" + g4);
171+
Assert.IsTrue(g4.Equals(t3));
172+
string g5 = pn.GetToken("testuser_16669", PNResourceType.PNUsers);
173+
Assert.IsTrue(g5.Equals(t3));
174+
string g6 = pn.GetToken("^.*", PNResourceType.PNSpaces);
175+
Assert.IsTrue(g6.Equals(t4));
176+
string g7 = pn.GetToken("^.*", PNResourceType.PNUsers);
177+
Assert.IsTrue(g7.Equals(t4));
178+
string g8 = pn.GetToken("NONEXISTENT", PNResourceType.PNSpaces);
179+
Assert.IsTrue(g8.Equals(t4));
180+
string g9 = pn.GetToken("NONEXISTENT", PNResourceType.PNUsers);
181+
Assert.IsTrue(g9.Equals(t4));
182+
183+
}
184+
}
185+
}

PubNubUnity/Assets/PubNub/Editor/TokenManagerTests.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)