NineSec Team Shell
Server IP : 92.205.26.207  /  Your IP : 216.73.216.16
Web Server : Apache
System : Linux 207.26.205.92.host.secureserver.net 4.18.0-553.60.1.el8_10.x86_64 #1 SMP Thu Jul 10 04:01:16 EDT 2025 x86_64
User : zikryat ( 1002)
PHP Version : 8.3.23
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /home/zikryat/public_html/node_modules/agora-token/test/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/zikryat/public_html/node_modules/agora-token/test/RtcTokenBuilder2Test.js
/**
 * run this test with command:
 * nodeunit test/RtcTokenBuilder2Test.js
 * see https://github.com/caolan/nodeunit
 */
const RtcTokenBuilder = require("../src/RtcTokenBuilder2").RtcTokenBuilder;
const Role = require("../src/RtcTokenBuilder2").Role;
const { AccessToken2, ServiceRtc, kRtcServiceType } = require("../src/AccessToken2");

const appId = "970CA35de60c44645bbae8a215061b33";
const appCertificate = "5CFd2fd1755d40ecb72977518be15d3b";
const channelName = "7d72365eb983485397e3e3f9d460bdda";
const uid = 2882341273;
const uidStr = "2882341273";
const expire = 600;

const tokenExpirationInSecond = 600;
const privilegeExpirationInSecond = 600;

exports.buildTokenWithUid_SUBSCRIBER_Test = function (test) {
    let token = RtcTokenBuilder.buildTokenWithUid(
        appId,
        appCertificate,
        channelName,
        uid,
        Role.SUBSCRIBER,
        tokenExpirationInSecond,
        privilegeExpirationInSecond
    );
    let accessToken = new AccessToken2("", "", 0, 0);
    accessToken.from_string(token);

    test.equal(appId, accessToken.appId);
    test.equal(expire, accessToken.expire);
    test.equal(channelName, accessToken.services[kRtcServiceType].__channel_name);
    test.equal(uidStr, accessToken.services[kRtcServiceType].__uid);
    test.equal(expire, accessToken.services[kRtcServiceType].__privileges[ServiceRtc.kPrivilegeJoinChannel]);
    test.done();
};

exports.buildTokenWithUid_PUBLISHER_Test = function (test) {
    let token = RtcTokenBuilder.buildTokenWithUid(
        appId,
        appCertificate,
        channelName,
        uid,
        Role.PUBLISHER,
        tokenExpirationInSecond,
        privilegeExpirationInSecond
    );
    let accessToken = new AccessToken2("", "", 0, 0);
    accessToken.from_string(token);

    test.equal(appId, accessToken.appId);
    test.equal(expire, accessToken.expire);
    test.equal(channelName, accessToken.services[kRtcServiceType].__channel_name);
    test.equal(uidStr, accessToken.services[kRtcServiceType].__uid);
    test.equal(expire, accessToken.services[kRtcServiceType].__privileges[ServiceRtc.kPrivilegeJoinChannel]);
    test.equal(expire, accessToken.services[kRtcServiceType].__privileges[ServiceRtc.kPrivilegePublishAudioStream]);
    test.equal(expire, accessToken.services[kRtcServiceType].__privileges[ServiceRtc.kPrivilegePublishVideoStream]);
    test.equal(expire, accessToken.services[kRtcServiceType].__privileges[ServiceRtc.kPrivilegePublishDataStream]);
    test.done();
};

exports.buildTokenWithUserAccount_SUBSCRIBER_Test = function (test) {
    let token = RtcTokenBuilder.buildTokenWithUserAccount(
        appId,
        appCertificate,
        channelName,
        uidStr,
        Role.SUBSCRIBER,
        tokenExpirationInSecond,
        privilegeExpirationInSecond
    );
    let accessToken = new AccessToken2("", "", 0, 0);
    accessToken.from_string(token);

    test.equal(appId, accessToken.appId);
    test.equal(expire, accessToken.expire);
    test.equal(channelName, accessToken.services[kRtcServiceType].__channel_name);
    test.equal(uidStr, accessToken.services[kRtcServiceType].__uid);
    test.equal(expire, accessToken.services[kRtcServiceType].__privileges[ServiceRtc.kPrivilegeJoinChannel]);
    test.done();
};

exports.buildTokenWithUserAccount_PUBLISHER_Test = function (test) {
    let token = RtcTokenBuilder.buildTokenWithUserAccount(
        appId,
        appCertificate,
        channelName,
        uid,
        Role.PUBLISHER,
        tokenExpirationInSecond,
        privilegeExpirationInSecond
    );
    let accessToken = new AccessToken2("", "", 0, 0);
    accessToken.from_string(token);

    test.equal(appId, accessToken.appId);
    test.equal(expire, accessToken.expire);
    test.equal(channelName, accessToken.services[kRtcServiceType].__channel_name);
    test.equal(uidStr, accessToken.services[kRtcServiceType].__uid);
    test.equal(expire, accessToken.services[kRtcServiceType].__privileges[ServiceRtc.kPrivilegeJoinChannel]);
    test.equal(expire, accessToken.services[kRtcServiceType].__privileges[ServiceRtc.kPrivilegePublishAudioStream]);
    test.equal(expire, accessToken.services[kRtcServiceType].__privileges[ServiceRtc.kPrivilegePublishVideoStream]);
    test.equal(expire, accessToken.services[kRtcServiceType].__privileges[ServiceRtc.kPrivilegePublishDataStream]);
    test.done();
};

exports.buildTokenWithUidAndPrivilege_Test = function (test) {
    let token = RtcTokenBuilder.buildTokenWithUidAndPrivilege(appId, appCertificate, channelName, uid, expire, expire, expire, expire, expire);
    let accessToken = new AccessToken2("", "", 0, 0);
    accessToken.from_string(token);

    test.equal(appId, accessToken.appId);
    test.equal(expire, accessToken.expire);
    test.equal(channelName, accessToken.services[kRtcServiceType].__channel_name);
    test.equal(uidStr, accessToken.services[kRtcServiceType].__uid);
    test.equal(expire, accessToken.services[kRtcServiceType].__privileges[ServiceRtc.kPrivilegeJoinChannel]);
    test.equal(expire, accessToken.services[kRtcServiceType].__privileges[ServiceRtc.kPrivilegePublishAudioStream]);
    test.equal(expire, accessToken.services[kRtcServiceType].__privileges[ServiceRtc.kPrivilegePublishVideoStream]);
    test.equal(expire, accessToken.services[kRtcServiceType].__privileges[ServiceRtc.kPrivilegePublishDataStream]);
    test.done();
};

exports.BuildTokenWithUserAccountAndPrivilege_Test = function (test) {
    let token = RtcTokenBuilder.BuildTokenWithUserAccountAndPrivilege(appId, appCertificate, channelName, uidStr, expire, expire, expire, expire, expire);
    let accessToken = new AccessToken2("", "", 0, 0);
    accessToken.from_string(token);

    test.equal(appId, accessToken.appId);
    test.equal(expire, accessToken.expire);
    test.equal(channelName, accessToken.services[kRtcServiceType].__channel_name);
    test.equal(uidStr, accessToken.services[kRtcServiceType].__uid);
    test.equal(expire, accessToken.services[kRtcServiceType].__privileges[ServiceRtc.kPrivilegeJoinChannel]);
    test.equal(expire, accessToken.services[kRtcServiceType].__privileges[ServiceRtc.kPrivilegePublishAudioStream]);
    test.equal(expire, accessToken.services[kRtcServiceType].__privileges[ServiceRtc.kPrivilegePublishVideoStream]);
    test.equal(expire, accessToken.services[kRtcServiceType].__privileges[ServiceRtc.kPrivilegePublishDataStream]);
    test.done();
};

NineSec Team - 2022