Skip to content

Commit b204c81

Browse files
committed
add tests for token roles #11
1 parent 20a44ea commit b204c81

File tree

1 file changed

+33
-1
lines changed

1 file changed

+33
-1
lines changed

src/test/java/com/opentok/test/OpenTokTest.java

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ public void testCreateBadSession() throws OpenTokException {
160160
// TODO: test session creation conditions that result in errors
161161

162162
@Test
163-
public void testRoleDefault() throws
163+
public void testTokenDefault() throws
164164
OpenTokException, UnsupportedEncodingException, NoSuchAlgorithmException, SignatureException,
165165
InvalidKeyException {
166166

@@ -180,6 +180,38 @@ public void testRoleDefault() throws
180180
assertNotNull(tokenData.get("nonce"));
181181
}
182182

183+
@Test
184+
public void testTokenRoles() throws
185+
OpenTokException, UnsupportedEncodingException, NoSuchAlgorithmException, SignatureException,
186+
InvalidKeyException {
187+
188+
int apiKey = 123456;
189+
String apiSecret = "1234567890abcdef1234567890abcdef1234567890";
190+
OpenTok opentok = new OpenTok(apiKey, apiSecret);
191+
String sessionId = "1_MX4xMjM0NTZ-flNhdCBNYXIgMTUgMTQ6NDI6MjMgUERUIDIwMTR-MC40OTAxMzAyNX4";
192+
String role = RoleConstants.SUBSCRIBER;
193+
Exception actualException = null;
194+
195+
String defaultToken = opentok.generateToken(sessionId);
196+
String roleToken = opentok.generateToken(sessionId, role);
197+
try {
198+
String invalidToken = opentok.generateToken(sessionId, "NOT A VALID ROLE");
199+
} catch(OpenTokException exception) {
200+
actualException = exception;
201+
}
202+
203+
assertNotNull(defaultToken);
204+
assertNotNull(roleToken);
205+
assertTrue(Helpers.verifyTokenSignature(defaultToken, apiSecret));
206+
assertTrue(Helpers.verifyTokenSignature(roleToken, apiSecret));
207+
208+
Map<String, String> defaultTokenData = Helpers.decodeToken(defaultToken);
209+
assertEquals("publisher", defaultTokenData.get("role"));
210+
Map<String, String> roleTokenData = Helpers.decodeToken(roleToken);
211+
assertEquals(role, roleTokenData.get("role"));
212+
assertEquals(OpenTokInvalidArgumentException.class, actualException.getClass());
213+
}
214+
183215
// @Test
184216
// public void testRolePublisher() throws OpenTokException {
185217
// Session s= sdk.createSession();

0 commit comments

Comments
 (0)