3 +--------------------------------------------------------------------+
5 +--------------------------------------------------------------------+
6 | Copyright CiviCRM LLC (c) 2004-2019 |
7 +--------------------------------------------------------------------+
8 | This file is a part of CiviCRM. |
10 | CiviCRM is free software; you can copy, modify, and distribute it |
11 | under the terms of the GNU Affero General Public License |
12 | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
14 | CiviCRM is distributed in the hope that it will be useful, but |
15 | WITHOUT ANY WARRANTY; without even the implied warranty of |
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
17 | See the GNU Affero General Public License for more details. |
19 | You should have received a copy of the GNU Affero General Public |
20 | License and the CiviCRM Licensing Exception along |
21 | with this program; if not, contact CiviCRM LLC |
22 | at info[AT]civicrm[DOT]org. If you have questions about the |
23 | GNU Affero General Public License or the licensing of CiviCRM, |
24 | see the CiviCRM license FAQ at http://civicrm.org/licensing |
25 +--------------------------------------------------------------------+
29 * Class CRM_Utils_SignerTest
32 class CRM_Utils_SignerTest
extends CiviUnitTestCase
{
34 public function setUp() {
38 public function testSignValidate() {
63 'irrelevant' => 'totally-irrelevant',
112 'validateParams' => [
125 'validateParams' => [
138 'validateParams' => [
146 foreach ($cases as $caseId => $case) {
147 $signer = new CRM_Utils_Signer('secret', ['a', 'b', 'c']);
148 $signature = $signer->sign($case['signParams']);
150 $this->assertTrue(!empty($signature) && is_string($signature));
152 // same as $signer but physically separate
153 $validator = new CRM_Utils_Signer('secret', ['a', 'b', 'c']);
154 $isValid = $validator->validate($signature, $case['validateParams']);
156 if ($isValid !== $case['isValid']) {
157 $this->fail("Case ${caseId}: Mismatch: " . var_export($case, TRUE));
159 $this->assertTrue(TRUE, 'Validation yielded expected result');