public function createAccountInfoHandler() { $handler = new MockHandler(); for ($i = 0; $i < 1000; $i++) { $handler->append(function () { $uid = 'diofu90ifgdf'; $timestamp = time(); $signatureValidator = new Signature(); $signature = $signatureValidator->calculateSignature($timestamp . '_' . $uid, 'secret'); return new Response(200, [], sprintf('{ "UID": "%s", "UIDSignature": "%s", "signatureTimestamp": "%d", "statusCode": 200, "errorCode": 0, "statusReason": "OK", "callId": "123456", "time": "2015-03-22T11:42:25.943Z" }', $uid, $signature, $timestamp)); }); } $this->gigya = new Gigya('key', 'secret', null, null, ['guzzle' => ['handler' => new HandlerStack($handler)]]); }
public function testUidSignatureWhenIncorrectTimestampThrowsAnException() { $uid = 'diofu90ifgdf'; $timestamp = time() - 181; $signatureValidator = new Signature(); $signature = $signatureValidator->calculateSignature($timestamp . '_' . $uid, 'secret'); $body = sprintf('{ "UID": "%s", "UIDSignature": "%s", "signatureTimestamp": "%d", "statusCode": 200, "errorCode": 0, "statusReason": "OK", "callId": "123456", "time": "2015-03-22T11:42:25.943Z" }', $uid, $signature, $timestamp); $handler = $this->setupHandler($body); $client = new Gigya('key', 'secret', null, null, ['guzzle' => ['handler' => $handler]]); static::expectException(InvalidTimestampException::class); $client->accounts()->getAccountInfo(['uid' => $uid]); }
/** * @dataProvider signatureTests * * @param string $base * @param string $secret * @param string $expected */ public function testCalculateSignature($base, $secret, $expected) { static::assertEquals($expected, $this->validator->calculateSignature($base, $secret)); }