/** * @param string $encodedValue * @return ClaimCheck * @throws ExceptionInterface */ public function unserialize($encodedValue) { try { $data = Json::decode($encodedValue, Json::TYPE_ARRAY); } catch (RuntimeException $e) { throw new InvalidArgumentException($e->getMessage(), 0, $e); } if (!array_key_exists('Message', $data)) { throw new InvalidArgumentException('Message is required and cannot be empty.'); } return $this->serializer->unserialize($data['Message']); }
/** * @throws ExceptionInterface * @expectedException \Abacaphiliac\AwsSdk\ClaimCheck\Exception\ExceptionInterface */ public function testUnserializeClaimCheckMissingKey() { $this->sut->unserialize(Json::encode(['s3BucketName' => 'MyBucket'])); }