* @license http://www.apache.org/licenses/LICENSE-2.0 * @link http://phpsx.org */ class AuthenticationTest extends TestCase { /** * @dataProvider decodeParametersProvider */ public function testDecodeParameters($data, $expected) { $this->assertEquals($expected, Authentication::decodeParameters($data)); } public function decodeParametersProvider() { return [ ['realm="http-auth@example.org", qop="auth", algorithm=SHA-256', ['realm' => 'http-auth@example.org', 'qop' => 'auth', 'algorithm' => 'SHA-256']], ['Credential=AKIAIOSFODNN7EXAMPLE/20130524/us-east-1/s3/aws4_request, SignedHeaders=host;range;x-amz-date, Signature=fe5f80f77d5fa3beca038a248ff027d0445342fe2855ddc963176630326f1024', ['credential' => 'AKIAIOSFODNN7EXAMPLE/20130524/us-east-1/s3/aws4_request', 'signedheaders' => 'host;range;x-amz-date', 'signature' => 'fe5f80f77d5fa3beca038a248ff027d0445342fe2855ddc963176630326f1024']], ['realm="Access to the staging site", charset="UTF-8"', ['realm' => 'Access to the staging site', 'charset' => 'UTF-8']], ['foo=bar', ['foo' => 'bar']], ]; } /** * @dataProvider encodeParametersProvider */ public function testEncodeParameters($data, $expected) { $this->assertEquals($expected, Authentication::encodeParameters($data)); } public function encodeParametersProvider() { return [ [['realm' => 'http-auth@example.org', 'qop' => 'auth', 'algorithm' => 'SHA-256'], 'realm="http-auth@example.org", qop="auth", algorithm="SHA-256"'], ]; } } __halt_compiler();----SIGNATURE:----o4YsuZoteE24ucxe/rEWykntvKYIQ9PLwb35mCwYn0LdB+d1lc4o1cgVObOLjP4mE1gsck7jS6bpl/JZnCnHuhgf2Cvib40jv1pYlEqjTrz18aHfoCjryA4lNvcfKzVKY0qVNdpfuYvHQLHn5J343YixwtjrwAtloTRnp6fNepmRfeTimlW+x/oQT8PM/3eUcUrKl+fvguHWFZFFAG4qcw57XnctZvgU0qLzh+voxN/4T/SIv7yBE+S2Mko8n3klPPjpkgVxqJvRDxl8wwVyzUnnFGtNKZE99m+kUvdqsISKw1LgWAAeLXLF7BX9N1yzJis2XwZ73tcyQQ9tphIPf3cbAS/Fqz9wez7mxFNJPcVFuF4cI9E079EiciZoW67v95rjpBqaGMc6uvaUgjz4UacMnWxuqXZYI0b1p6esRNirIaubQJ0eRJLA6jNi64gNcIxGzKIkRW/rE1DkfSoF9/u6sUy0EYO/LjpO4KChATcf0CC83bq5TRnHir5aDt6ZT1fTMvFDAolb/1Ef9Mpalwmmm56z86A7kb3IabCRw8afB2WxF8jIc85HKs70xgDSPVYNUUERsKKQLAZoNnsvykEIiOz7UG5u+bE0VneUtK2nBQrLET8GgX7cOGI2+ROfBiAI09gZGDJhQIDzAyIx/G8RX3L+EV8uNCPFvEhxyxY=----ATTACHMENT:----NzY4OTA3NzY3MTQ1NjAzNCA4NDcwMzM2NTA5MDE0Mzc4IDYzODUyNzEyMTE5MjE1NDk=