SignatureParametersTest.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace HttpSignatures\tests;
  3. use HttpSignatures\HeaderList;
  4. use HttpSignatures\HmacAlgorithm;
  5. use HttpSignatures\Key;
  6. use HttpSignatures\RsaAlgorithm;
  7. use HttpSignatures\SignatureParameters;
  8. class SignatureParametersTest extends \PHPUnit_Framework_TestCase
  9. {
  10. public function testToString()
  11. {
  12. $key = new Key('pda', 'secret');
  13. $algorithm = new HmacAlgorithm('sha256');
  14. $headerList = new HeaderList(['(request-target)', 'date']);
  15. $signature = $this->getMockBuilder('HttpSignatures\Signature')
  16. ->disableOriginalConstructor()
  17. ->getMock();
  18. $signature
  19. ->expects($this->any())
  20. ->method('string')
  21. ->will($this->returnValue('thesignature'));
  22. $sp = new SignatureParameters($key, $algorithm, $headerList, $signature);
  23. $this->assertEquals(
  24. 'keyId="pda",algorithm="hmac-sha256",headers="(request-target) date",signature="dGhlc2lnbmF0dXJl"',
  25. $sp->string()
  26. );
  27. }
  28. public function testRSAToString()
  29. {
  30. $key = new Key('rsaTest', 'secret');
  31. $algorithm = new RsaAlgorithm('sha256');
  32. $headerList = new HeaderList(['(request-target): post /inbox', 'date']);
  33. $signature = $this->getMockBuilder('HttpSignatures\Signature')
  34. ->disableOriginalConstructor()
  35. ->getMock();
  36. $signature
  37. ->expects($this->any())
  38. ->method('string')
  39. ->will($this->returnValue('thesignature'));
  40. $sp = new SignatureParameters($key, $algorithm, $headerList, $signature);
  41. $this->assertEquals(
  42. 'keyId="rsaTest",algorithm="rsa-sha256",headers="(request-target): post /inbox date",signature="dGhlc2lnbmF0dXJl"',
  43. $sp->string()
  44. );
  45. }
  46. }