Initial commit

This commit is contained in:
talksik
2021-12-29 01:57:42 -08:00
commit ce39a60b42
4634 changed files with 997667 additions and 0 deletions
+78
View File
@@ -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
View File
@@ -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
View File
@@ -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();
};