晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
Server : Apache System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64 User : rainic ( 1014) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/rainic/public_html/oldTZh/wp-content/plugins/digits/Twilio/Tests/Unit/Jwt/ |
Upload File : |
<?php
namespace Twilio\Tests\Unit\Jwt;
use Twilio\Jwt\ClientToken;
use Twilio\Jwt\JWT;
use Twilio\Tests\Unit\UnitTest;
use UnexpectedValueException;
class ClientTokenTest extends UnitTest {
public function testNoPermissions() {
$token = new ClientToken('AC123', 'foo');
$payload = JWT::decode($token->generateToken(), 'foo');
$this->assertEquals($payload->iss, "AC123");
$this->assertEquals($payload->scope, '');
}
public function testInboundPermissions() {
$token = new ClientToken('AC123', 'foo');
$token->allowClientIncoming("andy");
$payload = JWT::decode($token->generateToken(), 'foo');
$eurl = "scope:client:incoming?clientName=andy";
$this->assertEquals($payload->scope, $eurl);
}
public function testOutboundPermissions() {
$token = new ClientToken('AC123', 'foo');
$token->allowClientOutgoing("AP123");
$payload = JWT::decode($token->generateToken(), 'foo');;
$eurl = "scope:client:outgoing?appSid=AP123";
$this->assertContains($eurl, $payload->scope);
}
public function testOutboundPermissionsParams() {
$token = new ClientToken('AC123', 'foo');
$token->allowClientOutgoing("AP123", array("foobar" => 3));
$payload = JWT::decode($token->generateToken(), 'foo');
$eurl = "scope:client:outgoing?appSid=AP123&appParams=foobar%3D3";
$this->assertEquals($payload->scope, $eurl);
}
public function testEvents() {
$token = new ClientToken('AC123', 'foo');
$token->allowEventStream();
$payload = JWT::decode($token->generateToken(), 'foo');
$event_uri = "scope:stream:subscribe?path=%2F2010"
. "-04-01%2FEvents¶ms=";
$this->assertEquals($payload->scope, $event_uri);
}
public function testEventsWithFilters() {
$token = new ClientToken('AC123', 'foo');
$token->allowEventStream(array("foobar" => "hey"));
$payload = JWT::decode($token->generateToken(), 'foo');
$event_uri = "scope:stream:subscribe?path=%2F2010-"
. "04-01%2FEvents¶ms=foobar%3Dhey";
$this->assertEquals($payload->scope, $event_uri);
}
public function testDecode() {
$token = new ClientToken('AC123', 'foo');
$token->allowClientOutgoing("AP123", array("foobar"=> 3));
$token->allowClientIncoming("andy");
$token->allowEventStream();
$outgoing_uri = "scope:client:outgoing?appSid="
. "AP123&appParams=foobar%3D3&clientName=andy";
$incoming_uri = "scope:client:incoming?clientName=andy";
$event_uri = "scope:stream:subscribe?path=%2F2010-04-01%2FEvents";
$payload = JWT::decode($token->generateToken(), 'foo');
$scope = $payload->scope;
$this->assertContains($outgoing_uri, $scope);
$this->assertContains($incoming_uri, $scope);
$this->assertContains($event_uri, $scope);
}
function testDecodeWithAuthToken() {
try {
$token = new ClientToken('AC123', 'foo');
$payload = JWT::decode($token->generateToken(), 'foo');
$this->assertSame($payload->iss, 'AC123');
} catch ( UnexpectedValueException $e) {
$this->assertTrue(false, "Could not decode with 'foo'");
}
}
function testClientNameValidation() {
$this->setExpectedException('InvalidArgumentException');
$token = new ClientToken('AC123', 'foo');
$token->allowClientIncoming('@');
$this->fail('exception should have been raised');
}
function zeroLengthNameInvalid() {
$this->setExpectedException('InvalidArgumentException');
$token = new ClientToken('AC123', 'foo');
$token->allowClientIncoming("");
$this->fail('exception should have been raised');
}
}