Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php namespace Tymon\JWTAuth\Test; use BadMethodCallException; use Mockery; use Tymon\JW..
Decoded Output download
<?php
namespace Tymon\JWTAuth\Test; use BadMethodCallException; use Mockery; use Tymon\JWTAuth\Claims\Audience; use Tymon\JWTAuth\Claims\Claim; use Tymon\JWTAuth\Claims\Collection; use Tymon\JWTAuth\Claims\Expiration; use Tymon\JWTAuth\Claims\IssuedAt; use Tymon\JWTAuth\Claims\Issuer; use Tymon\JWTAuth\Claims\JwtId; use Tymon\JWTAuth\Claims\NotBefore; use Tymon\JWTAuth\Claims\Subject; use Tymon\JWTAuth\Exceptions\PayloadException; use Tymon\JWTAuth\Payload; use Tymon\JWTAuth\Validators\PayloadValidator; class PayloadTest extends AbstractTestCase { protected $validator; protected $payload; public function setUp() : void { parent::setUp(); $this->payload = $this->getTestPayload(); } private function getTestPayload(array $extraClaims = array()) { $claims = array(new Subject(1), new Issuer("http://example.com"), new Expiration($this->testNowTimestamp + 3600), new NotBefore($this->testNowTimestamp), new IssuedAt($this->testNowTimestamp), new JwtId("foo")); if ($extraClaims) { $claims = array_merge($claims, $extraClaims); } $collection = Collection::make($claims); $this->validator = Mockery::mock(PayloadValidator::class); $this->validator->shouldReceive("setRefreshFlow->check")->andReturn($collection); return new Payload($collection, $this->validator); } public function it_should_throw_an_exception_when_trying_to_add_to_the_payload() { $this->expectException(PayloadException::class); $this->expectExceptionMessage("The payload is immutable"); $this->payload["foo"] = "bar"; } public function it_should_throw_an_exception_when_trying_to_remove_a_key_from_the_payload() { $this->expectException(PayloadException::class); $this->expectExceptionMessage("The payload is immutable"); unset($this->payload["foo"]); } public function it_should_cast_the_payload_to_a_string_as_json() { $this->assertSame((string) $this->payload, json_encode($this->payload->get(), JSON_UNESCAPED_SLASHES)); $this->assertJsonStringEqualsJsonString((string) $this->payload, json_encode($this->payload->get())); } public function it_should_allow_array_access_on_the_payload() { $this->assertTrue(isset($this->payload["iat"])); $this->assertSame($this->payload["sub"], 1); $this->assertArrayHasKey("exp", $this->payload); } public function it_should_get_properties_of_payload_via_get_method() { $this->assertIsArray($this->payload->get()); $this->assertSame($this->payload->get("sub"), 1); $this->assertSame($this->payload->get(function () { return "jti"; }), "foo"); } public function it_should_get_multiple_properties_when_passing_an_array_to_the_get_method() { $values = $this->payload->get(array("sub", "jti")); $sub = $values[0]; $jti = $values[1]; $this->assertIsArray($values); $this->assertSame($sub, 1); $this->assertSame($jti, "foo"); } public function it_should_determine_whether_the_payload_has_a_claim() { $this->assertTrue($this->payload->has(new Subject(1))); $this->assertFalse($this->payload->has(new Audience(1))); } public function it_should_magically_get_a_property() { $sub = $this->payload->getSubject(); $jti = $this->payload->getJwtId(); $iss = $this->payload->getIssuer(); $this->assertSame($sub, 1); $this->assertSame($jti, "foo"); $this->assertSame($iss, "http://example.com"); } public function it_should_invoke_the_instance_as_a_callable() { $payload = $this->payload; $sub = $payload("sub"); $jti = $payload("jti"); $iss = $payload("iss"); $this->assertSame($sub, 1); $this->assertSame($jti, "foo"); $this->assertSame($iss, "http://example.com"); $this->assertSame($payload(), $this->payload->toArray()); } public function it_should_throw_an_exception_when_magically_getting_a_property_that_does_not_exist() { $this->expectException(BadMethodCallException::class); $this->expectExceptionMessage("The claim [Foo] does not exist on the payload"); $this->payload->getFoo(); } public function it_should_get_the_claims() { $claims = $this->payload->getClaims(); $this->assertInstanceOf(Expiration::class, $claims["exp"]); $this->assertInstanceOf(JwtId::class, $claims["jti"]); $this->assertInstanceOf(Subject::class, $claims["sub"]); $this->assertContainsOnlyInstancesOf(Claim::class, $claims); } public function it_should_get_the_object_as_json() { $this->assertJsonStringEqualsJsonString(json_encode($this->payload), $this->payload->toJson()); } public function it_should_count_the_claims() { $this->assertSame(6, $this->payload->count()); $this->assertCount(6, $this->payload); } public function it_should_match_values() { $values = $this->payload->toArray(); $values["sub"] = (string) $values["sub"]; $this->assertTrue($this->payload->matches($values)); } public function it_should_match_strict_values() { $values = $this->payload->toArray(); $this->assertTrue($this->payload->matchesStrict($values)); $this->assertTrue($this->payload->matches($values, true)); } public function it_should_not_match_empty_values() { $this->assertFalse($this->payload->matches(array())); } public function it_should_not_match_values() { $values = $this->payload->toArray(); $values["sub"] = "dummy_subject"; $this->assertFalse($this->payload->matches($values)); } public function it_should_not_match_strict_values() { $values = $this->payload->toArray(); $values["sub"] = (string) $values["sub"]; $this->assertFalse($this->payload->matchesStrict($values)); $this->assertFalse($this->payload->matches($values, true)); } public function it_should_not_match_a_non_existing_claim() { $values = array("foo" => "bar"); $this->assertFalse($this->payload->matches($values)); } } ?>
Did this file decode correctly?
Original Code
<?php
namespace Tymon\JWTAuth\Test; use BadMethodCallException; use Mockery; use Tymon\JWTAuth\Claims\Audience; use Tymon\JWTAuth\Claims\Claim; use Tymon\JWTAuth\Claims\Collection; use Tymon\JWTAuth\Claims\Expiration; use Tymon\JWTAuth\Claims\IssuedAt; use Tymon\JWTAuth\Claims\Issuer; use Tymon\JWTAuth\Claims\JwtId; use Tymon\JWTAuth\Claims\NotBefore; use Tymon\JWTAuth\Claims\Subject; use Tymon\JWTAuth\Exceptions\PayloadException; use Tymon\JWTAuth\Payload; use Tymon\JWTAuth\Validators\PayloadValidator; class PayloadTest extends AbstractTestCase { protected $validator; protected $payload; public function setUp() : void { parent::setUp(); $this->payload = $this->getTestPayload(); } private function getTestPayload(array $extraClaims = array()) { $claims = array(new Subject(1), new Issuer("\x68\164\164\160\x3a\x2f\x2f\145\x78\141\155\160\154\145\56\x63\x6f\155"), new Expiration($this->testNowTimestamp + 3600), new NotBefore($this->testNowTimestamp), new IssuedAt($this->testNowTimestamp), new JwtId("\146\157\157")); if ($extraClaims) { $claims = array_merge($claims, $extraClaims); } $collection = Collection::make($claims); $this->validator = Mockery::mock(PayloadValidator::class); $this->validator->shouldReceive("\x73\145\x74\x52\x65\x66\x72\x65\163\x68\106\x6c\157\x77\55\x3e\143\x68\145\x63\153")->andReturn($collection); return new Payload($collection, $this->validator); } public function it_should_throw_an_exception_when_trying_to_add_to_the_payload() { $this->expectException(PayloadException::class); $this->expectExceptionMessage("\x54\x68\x65\40\160\141\171\x6c\157\141\144\x20\151\x73\x20\x69\155\x6d\165\x74\141\142\x6c\x65"); $this->payload["\x66\x6f\x6f"] = "\142\x61\162"; } public function it_should_throw_an_exception_when_trying_to_remove_a_key_from_the_payload() { $this->expectException(PayloadException::class); $this->expectExceptionMessage("\124\x68\145\x20\x70\141\x79\x6c\157\141\144\x20\151\x73\x20\x69\x6d\x6d\165\x74\x61\x62\154\x65"); unset($this->payload["\x66\157\157"]); } public function it_should_cast_the_payload_to_a_string_as_json() { $this->assertSame((string) $this->payload, json_encode($this->payload->get(), JSON_UNESCAPED_SLASHES)); $this->assertJsonStringEqualsJsonString((string) $this->payload, json_encode($this->payload->get())); } public function it_should_allow_array_access_on_the_payload() { $this->assertTrue(isset($this->payload["\x69\x61\x74"])); $this->assertSame($this->payload["\x73\165\x62"], 1); $this->assertArrayHasKey("\x65\170\160", $this->payload); } public function it_should_get_properties_of_payload_via_get_method() { $this->assertIsArray($this->payload->get()); $this->assertSame($this->payload->get("\163\165\142"), 1); $this->assertSame($this->payload->get(function () { return "\152\x74\x69"; }), "\x66\157\x6f"); } public function it_should_get_multiple_properties_when_passing_an_array_to_the_get_method() { $values = $this->payload->get(array("\x73\165\142", "\152\164\x69")); $sub = $values[0]; $jti = $values[1]; $this->assertIsArray($values); $this->assertSame($sub, 1); $this->assertSame($jti, "\x66\157\157"); } public function it_should_determine_whether_the_payload_has_a_claim() { $this->assertTrue($this->payload->has(new Subject(1))); $this->assertFalse($this->payload->has(new Audience(1))); } public function it_should_magically_get_a_property() { $sub = $this->payload->getSubject(); $jti = $this->payload->getJwtId(); $iss = $this->payload->getIssuer(); $this->assertSame($sub, 1); $this->assertSame($jti, "\x66\x6f\157"); $this->assertSame($iss, "\150\x74\164\x70\72\57\57\145\x78\141\x6d\160\154\x65\56\x63\157\x6d"); } public function it_should_invoke_the_instance_as_a_callable() { $payload = $this->payload; $sub = $payload("\x73\x75\142"); $jti = $payload("\x6a\164\151"); $iss = $payload("\151\x73\163"); $this->assertSame($sub, 1); $this->assertSame($jti, "\x66\157\157"); $this->assertSame($iss, "\150\x74\x74\x70\x3a\x2f\57\145\x78\141\x6d\160\x6c\x65\56\x63\x6f\x6d"); $this->assertSame($payload(), $this->payload->toArray()); } public function it_should_throw_an_exception_when_magically_getting_a_property_that_does_not_exist() { $this->expectException(BadMethodCallException::class); $this->expectExceptionMessage("\124\150\145\x20\143\x6c\141\151\155\40\133\106\x6f\x6f\x5d\40\144\x6f\145\x73\x20\156\x6f\164\40\x65\x78\151\x73\x74\x20\x6f\x6e\40\164\x68\x65\x20\160\x61\171\x6c\157\141\x64"); $this->payload->getFoo(); } public function it_should_get_the_claims() { $claims = $this->payload->getClaims(); $this->assertInstanceOf(Expiration::class, $claims["\145\170\x70"]); $this->assertInstanceOf(JwtId::class, $claims["\x6a\x74\x69"]); $this->assertInstanceOf(Subject::class, $claims["\x73\165\x62"]); $this->assertContainsOnlyInstancesOf(Claim::class, $claims); } public function it_should_get_the_object_as_json() { $this->assertJsonStringEqualsJsonString(json_encode($this->payload), $this->payload->toJson()); } public function it_should_count_the_claims() { $this->assertSame(6, $this->payload->count()); $this->assertCount(6, $this->payload); } public function it_should_match_values() { $values = $this->payload->toArray(); $values["\x73\165\x62"] = (string) $values["\x73\165\142"]; $this->assertTrue($this->payload->matches($values)); } public function it_should_match_strict_values() { $values = $this->payload->toArray(); $this->assertTrue($this->payload->matchesStrict($values)); $this->assertTrue($this->payload->matches($values, true)); } public function it_should_not_match_empty_values() { $this->assertFalse($this->payload->matches(array())); } public function it_should_not_match_values() { $values = $this->payload->toArray(); $values["\x73\165\x62"] = "\x64\165\x6d\155\x79\137\163\165\142\x6a\x65\x63\164"; $this->assertFalse($this->payload->matches($values)); } public function it_should_not_match_strict_values() { $values = $this->payload->toArray(); $values["\x73\165\142"] = (string) $values["\x73\x75\142"]; $this->assertFalse($this->payload->matchesStrict($values)); $this->assertFalse($this->payload->matches($values, true)); } public function it_should_not_match_a_non_existing_claim() { $values = array("\x66\x6f\x6f" => "\142\x61\162"); $this->assertFalse($this->payload->matches($values)); } }
Function Calls
None |
Stats
MD5 | 7443bb551f225fdcee41dd012fa70b56 |
Eval Count | 0 |
Decode Time | 109 ms |