SignatureParametersParserTest.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. namespace Tests\Unit\HttpSignatures;
  3. use App\Util\HttpSignatures\SignatureParametersParser;
  4. class SignatureParametersParserTest extends \PHPUnit\Framework\TestCase
  5. {
  6. public function testParseReturnsExpectedAssociativeArray()
  7. {
  8. $parser = new SignatureParametersParser(
  9. 'keyId="example",algorithm="hmac-sha1",headers="(request-target) date",signature="b64"'
  10. );
  11. $this->assertEquals(
  12. [
  13. 'keyId' => 'example',
  14. 'algorithm' => 'hmac-sha1',
  15. 'headers' => '(request-target) date',
  16. 'signature' => 'b64',
  17. ],
  18. $parser->parse()
  19. );
  20. }
  21. /**
  22. * @expectedException App\Util\HttpSignatures\SignatureParseException
  23. */
  24. public function testParseThrowsTypedException()
  25. {
  26. $parser = new SignatureParametersParser('nope');
  27. $parser->parse();
  28. }
  29. /**
  30. * @expectedException App\Util\HttpSignatures\SignatureParseException
  31. */
  32. public function testParseExceptionForMissingComponents()
  33. {
  34. $parser = new SignatureParametersParser(
  35. 'keyId="example",algorithm="hmac-sha1",headers="(request-target) date"'
  36. );
  37. $parser->parse();
  38. }
  39. }