Exemple #1
0
 /**
  * @test
  */
 public function shouldAllowPeekValueSetInConstructorAndNotErase()
 {
     $expectedValue = 'cardNumber';
     $sensitiveValue = new SensitiveValue($expectedValue);
     $this->assertEquals($expectedValue, $sensitiveValue->peek());
     $this->assertEquals($expectedValue, $sensitiveValue->peek());
 }
Exemple #2
0
 /**
  * {@inheritDoc}
  */
 public function setExpireAt($date = null)
 {
     $date = SensitiveValue::ensureSensitive($date);
     if (false == (null === $date->peek() || $date->peek() instanceof \DateTime)) {
         throw new InvalidArgumentException('The date argument must be either instance of DateTime or null');
     }
     $this->securedExpireAt = $date;
     // BC
     $this->expireAt = $this->securedExpireAt->peek();
 }
Exemple #3
0
 /**
  * {@inheritDoc}
  */
 public function getExpireAt()
 {
     return $this->securedExpireAt ? $this->securedExpireAt->peek() : $this->expireAt;
 }
Exemple #4
0
 /**
  * @test
  */
 public function shouldConvertArrayObjectToPrimitiveArrayMakingSensitiveValueUnsafeAndEraseIt()
 {
     $sensitiveValue = new SensitiveValue('theCreditCard');
     $arrayObject = new ArrayObject();
     $arrayObject['creditCard'] = $sensitiveValue;
     $arrayObject['email'] = '*****@*****.**';
     $primitiveArray = $arrayObject->toUnsafeArray();
     $this->assertInternalType('array', $primitiveArray);
     $this->assertArrayHasKey('creditCard', $primitiveArray);
     $this->assertEquals('theCreditCard', $primitiveArray['creditCard']);
     $this->assertArrayHasKey('email', $primitiveArray);
     $this->assertEquals('*****@*****.**', $primitiveArray['email']);
     $this->assertNull($sensitiveValue->peek());
 }