SignatureParametersTest.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. namespace Tests\Unit\HttpSignatures;
  3. use App\Util\HttpSignatures\HeaderList;
  4. use App\Util\HttpSignatures\HmacAlgorithm;
  5. use App\Util\HttpSignatures\RsaAlgorithm;
  6. use App\Util\HttpSignatures\Key;
  7. use App\Util\HttpSignatures\SignatureParameters;
  8. class SignatureParametersTest extends \PHPUnit\Framework\TestCase
  9. {
  10. public function testHmacToString()
  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('pda', TestKeys::rsaPrivateKey);
  31. $algorithm = new RsaAlgorithm('sha256');
  32. $headerList = new HeaderList(['(request-target)', '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="pda",algorithm="rsa-sha256",headers="(request-target) date",signature="dGhlc2lnbmF0dXJl"',
  43. $sp->string()
  44. );
  45. }
  46. }