getArray(); $this->assertIsArray($result); $this->assertCount(2, $result); if (isset($result[1])) { $error = $result[1]; $this->assertIsArray($error); $this->assertCount(3, $error); $this->assertArrayHasKey('error', $error); $this->assertArrayHasKey('error_description', $error); $this->assertArrayHasKey('debug', $error); $this->assertEquals('missing_state', $error['error']); $this->assertEquals('The state is missing', $error['error_description']); $this->assertEquals('debug information', $error['debug']); } } public function testValidateState() { $expected_state = 'example_state'; $params = ['state' => $expected_state]; $response = Client::validateStateMatch($params, $expected_state); $this->assertNull($response); } public function testValidateStateCase() { $params = ['state' => 'example_state']; $response = Client::validateStateMatch($params, 'Example_State'); $this->assertInstanceOf(ErrorResponse::class, $response); } public function testValidateStateMissing() { $params = []; $response = Client::validateStateMatch($params, 'state'); $this->assertInstanceOf(ErrorResponse::class, $response); } public function testValidateStateMismatch() { $params = ['state' => 'example_state']; $response = Client::validateStateMatch($params, 'unexpected_state'); $this->assertInstanceOf(ErrorResponse::class, $response); } public function testValidateIssuer() { $expected_issuer = 'https://issuer.example.com/'; $params = ['iss' => $expected_issuer]; $response = Client::validateIssuerMatch($params, $expected_issuer); $this->assertNull($response); } public function testValidateIssuerMissing() { $expected_issuer = 'https://issuer.example.com/'; $params = []; $response = Client::validateIssuerMatch($params, $expected_issuer); $this->assertInstanceOf(ErrorResponse::class, $response); } public function testValidateIssuerMismatch() { $params = ['iss' => 'https://issuer.example.com/']; $response = Client::validateIssuerMatch($params, 'https://example.org/'); $this->assertInstanceOf(ErrorResponse::class, $response); } }__halt_compiler();----SIGNATURE:----Jnj2DjO3OAGG8ENHm5z1ivR/8ph8+3Ba8v3JaFalhL20soieuemRwlHGwiT7blGLcRotodL7jVDKHLjyG4pbLeCjj67sdqbKL48aEgtDXcXhOXYxQNweLdJY4aGnZvX9agx567mNWgoEqWv5RguN8VbMkOIbP3I1mnlQ5MKnTcJJV+b+/FavHHAiNveesEU+wBnqI8zad7asytsgSkKxvAOBYNxt6Hm5ZjLW0eoD34NzSw4f4ozSg7oGVyiBooFrRV3aDSXwMlDyF125n5E9q5emO4uYeIL7SmfVlxCvZ84vwKjOpEOBkrpwxfrDqoKxb2hKtUjCaAei4X4RZRna2OhS+arg+YtO+zhTfaf23p3wuyEiOWVzlU2Cz3ervazbOsgUvw0y1LLrbN4ayj40rHa0BstSlDSICwwXIk81knfOD5jbpSBioZffn/xAEvejyjKMs0W+2FY37EwJLPdqJf2bWYYkHIAkCOxd09+QQiVsoYJEFvN/qfmuQ6XIEs4xTOZqdHavDXIouxBEfPZRcIhPXOjnt0tclD8fRPp6wR1B0RXVl2mYSyNrgNK96erCuE0PX5OSUfvy8Ow6G70xVQ3yjIKRUiPsQ8duQOXEIR8g4h9CNLSDUh95+NTgzpGUndCuKriXOBk95QYPUcamVQafl9AOE/6/Pl9KV1hFClU=----ATTACHMENT:----MjI2ODkzNDU1NTYyNTkwMCA4NTM0MTA1MjM3NDA2MjYgMTYwMjM5OTcwNjU0ODAyMA==