Initial commit
This commit is contained in:
+78
@@ -0,0 +1,78 @@
|
||||
/**
|
||||
* run this test with command:
|
||||
* nodeunit AccessTokenTest.js
|
||||
* see https://github.com/caolan/nodeunit
|
||||
*/
|
||||
var AccessToken = require('../src/AccessToken').AccessToken;
|
||||
var Priviledges = require('../src/AccessToken').priviledges;
|
||||
|
||||
var appID = "970CA35de60c44645bbae8a215061b33";
|
||||
var appCertificate = "5CFd2fd1755d40ecb72977518be15d3b";
|
||||
var channel = "7d72365eb983485397e3e3f9d460bdda";
|
||||
var uid = 2882341273;
|
||||
var salt = 1;
|
||||
var ts = 1111111;
|
||||
var expireTimestamp = 1446455471;
|
||||
|
||||
exports.AccessToken_Test = function (test) {
|
||||
var expected = "006970CA35de60c44645bbae8a215061b33IACV0fZUBw+72cVoL9eyGGh3Q6Poi8bgjwVLnyKSJyOXR7dIfRBXoFHlEAABAAAAR/QQAAEAAQCvKDdW";
|
||||
|
||||
var key = new AccessToken.AccessToken(appID, appCertificate, channel, uid);
|
||||
key.salt = salt;
|
||||
key.ts = ts;
|
||||
key.messages[Priviledges.kJoinChannel] = expireTimestamp;
|
||||
|
||||
var actual = key.build();
|
||||
test.equal(expected, actual);
|
||||
test.done();
|
||||
};
|
||||
|
||||
// test uid = 0
|
||||
exports.AccessToken_Test2 = function (test) {
|
||||
var expected = "006970CA35de60c44645bbae8a215061b33IACw1o7htY6ISdNRtku3p9tjTPi0jCKf9t49UHJhzCmL6bdIfRAAAAAAEAABAAAAR/QQAAEAAQCvKDdW";
|
||||
|
||||
var uid_zero = 0;
|
||||
var key = new AccessToken.AccessToken(appID, appCertificate, channel, uid_zero);
|
||||
key.salt = salt;
|
||||
key.ts = ts;
|
||||
key.messages[Priviledges.kJoinChannel] = expireTimestamp;
|
||||
|
||||
var actual = key.build();
|
||||
test.equal(expected, actual);
|
||||
test.done();
|
||||
};
|
||||
|
||||
const RtcRole = require("../src/RtcTokenBuilder").Role;
|
||||
|
||||
exports.RtcTokenBuilder_Test = function (test) {
|
||||
const appID = '970CA35de60c44645bbae8a215061b33';
|
||||
const certificate = '5CFd2fd1755d40ecb72977518be15d3b';
|
||||
const expected = "006970CA35de60c44645bbae8a215061b33IACMv3I+fsRSejxy6luEwzA/1t/zbEHWfJCJ5m8ssFP/fLdIfRBXoFHlIgABAAAAR/QQAAQAAQCvKDdWAgCvKDdWAwCvKDdWBACvKDdW";
|
||||
|
||||
const channelName = "7d72365eb983485397e3e3f9d460bdda";
|
||||
|
||||
const uid = 2882341273;
|
||||
|
||||
const salt = 1;
|
||||
|
||||
const ts = 1111111;
|
||||
|
||||
const privilegeExpiredsTs = 1446455471;
|
||||
|
||||
const role = RtcRole.PUBLISHER;
|
||||
|
||||
const key = new AccessToken(appID, certificate, channelName, uid);
|
||||
key.addPriviledge(Priviledges.kJoinChannel, privilegeExpiredsTs);
|
||||
key.salt = salt;
|
||||
key.ts = ts;
|
||||
if (role == RtcRole.PUBLISHER ||
|
||||
role == RtcRole.SUBSCRIBER ||
|
||||
role == RtcRole.ADMIN) {
|
||||
key.addPriviledge(Priviledges.kPublishAudioStream, privilegeExpiredsTs)
|
||||
key.addPriviledge(Priviledges.kPublishVideoStream, privilegeExpiredsTs)
|
||||
key.addPriviledge(Priviledges.kPublishDataStream, privilegeExpiredsTs)
|
||||
}
|
||||
const actual = key.build();
|
||||
test.equal(expected, actual);
|
||||
test.done();
|
||||
}
|
||||
+47
@@ -0,0 +1,47 @@
|
||||
/**
|
||||
* run this test with command:
|
||||
* nodeunit DynamicKeyTest.js
|
||||
* see https://github.com/caolan/nodeunit
|
||||
*/
|
||||
var DynamicKey5 = require('../src/DynamicKey5');
|
||||
|
||||
var appID = "970ca35de60c44645bbae8a215061b33";
|
||||
var appCertificate = "5cfd2fd1755d40ecb72977518be15d3b";
|
||||
var channel = "7d72365eb983485397e3e3f9d460bdda";
|
||||
var ts = 1446455472;
|
||||
var r = 58964981;
|
||||
//var uid=999;
|
||||
var uid=2882341273;
|
||||
var expiredTs=1446455471;
|
||||
|
||||
exports.PublicSharingKey5_Test = function(test) {
|
||||
var expected = "005AwAoADc0QTk5RTVEQjI4MDk0NUI0NzUwNTk0MUFDMjM4MDU2NzIwREY3QjAQAJcMo13mDERkW7roohUGGzOwKDdW9buDA68oN1YAAA==";
|
||||
var actual = DynamicKey5.generatePublicSharingKey(appID, appCertificate, channel, ts, r, uid, expiredTs);
|
||||
test.equal(expected, actual);
|
||||
test.done();
|
||||
};
|
||||
|
||||
exports.RecordingKey5_Test = function(test) {
|
||||
var expected = "005AgAoADkyOUM5RTQ2MTg3QTAyMkJBQUIyNkI3QkYwMTg0MzhDNjc1Q0ZFMUEQAJcMo13mDERkW7roohUGGzOwKDdW9buDA68oN1YAAA==";
|
||||
var result = DynamicKey5.generateRecordingKey(appID, appCertificate, channel, ts, r, uid, expiredTs);
|
||||
test.equal(expected, result);
|
||||
test.done();
|
||||
};
|
||||
|
||||
exports.MediaChannelKey5_Test = function(test) {
|
||||
var expected = "005AQAoAEJERTJDRDdFNkZDNkU0ODYxNkYxQTYwOUVFNTM1M0U5ODNCQjFDNDQQAJcMo13mDERkW7roohUGGzOwKDdW9buDA68oN1YAAA==";
|
||||
var result = DynamicKey5.generateMediaChannelKey(appID, appCertificate, channel, ts, r, uid, expiredTs);
|
||||
test.equal(expected, result);
|
||||
test.done();
|
||||
};
|
||||
|
||||
exports.InChannelPermission5_Test = function(test) {
|
||||
var noUpload = "005BAAoADgyNEQxNDE4M0FGRDkyOEQ4REFFMUU1OTg5NTg2MzA3MTEyNjRGNzQQAJcMo13mDERkW7roohUGGzOwKDdW9buDA68oN1YBAAEAAQAw";
|
||||
var generatedNoUpload = DynamicKey5.generateInChannelPermissionKey(appID, appCertificate, channel, ts, r, uid, expiredTs, DynamicKey5.noUpload);
|
||||
test.equal(noUpload, generatedNoUpload);
|
||||
|
||||
var audioVideoUpload = "005BAAoADJERDA3QThENTE2NzJGNjQwMzY5NTFBNzE0QkI5NTc0N0Q1QjZGQjMQAJcMo13mDERkW7roohUGGzOwKDdW9buDA68oN1YBAAEAAQAz";
|
||||
var generatedAudioVideoUpload = DynamicKey5.generateInChannelPermissionKey(appID, appCertificate, channel, ts, r, uid, expiredTs, DynamicKey5.audioVideoUpload);
|
||||
test.equal(audioVideoUpload, generatedAudioVideoUpload);
|
||||
test.done();
|
||||
};
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
/**
|
||||
* run this test with command:
|
||||
* nodeunit AccessTokenTest.js
|
||||
* see https://github.com/caolan/nodeunit
|
||||
*/
|
||||
var RtmTokenBuilder = require('../src/RtmTokenBuilder').RtmTokenBuilder;
|
||||
var Priviledges = require('../src/AccessToken').priviledges;
|
||||
|
||||
var appID = "970CA35de60c44645bbae8a215061b33";
|
||||
var appCertificate = "5CFd2fd1755d40ecb72977518be15d3b";
|
||||
var account = "test_user";
|
||||
var salt = 1;
|
||||
var ts = 1111111;
|
||||
var expireTimestamp = 1446455471;
|
||||
|
||||
exports.RtmToken_Test = function (test) {
|
||||
var expected = "006970CA35de60c44645bbae8a215061b33IAAsR0qgiCxv0vrpRcpkz5BrbfEWCBZ6kvR6t7qG/wJIQob86ogAAAAAEAABAAAAR/QQAAEA6AOvKDdW";
|
||||
|
||||
var builder = new RtmTokenBuilder(appID, appCertificate, account);
|
||||
builder.key.salt = salt;
|
||||
builder.key.ts = ts;
|
||||
|
||||
builder.setPrivilege(Priviledges.kRtmLogin, expireTimestamp)
|
||||
|
||||
var actual = builder.buildToken();
|
||||
test.equal(expected, actual);
|
||||
test.done();
|
||||
};
|
||||
|
||||
// test uid = 0
|
||||
exports.RtmToken_Test2 = function (test) {
|
||||
var expected = "006970CA35de60c44645bbae8a215061b33IABR8ywaENKv6kia6iUU6P54g017Bi6Ym9sIGdt9f3sLLYb86ogAAAAAEAABAAAAR/QQAAEA6ANkAAAA";
|
||||
|
||||
var builder = new RtmTokenBuilder(appID, appCertificate, account);
|
||||
builder.key.salt = salt;
|
||||
builder.key.ts = ts;
|
||||
|
||||
builder.setPrivilege(Priviledges.kRtmLogin, 100)
|
||||
|
||||
var actual = builder.buildToken();
|
||||
test.equal(expected, actual);
|
||||
test.done();
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user