public function testDoesFilterCreditCard() { $data = array('ccnumba' => '4242424242424242'); $client = new Raven_Client(); $processor = new Raven_SanitizeDataProcessor($client); $processor->process($data); $this->assertEquals(Raven_SanitizeDataProcessor::$mask, $data['ccnumba']); }
public function testDoesFilterCreditCard() { $data = array('ccnumba' => '4242424242424242'); $client = $this->getMock('Client'); $processor = new Raven_SanitizeDataProcessor($client); $result = $processor->process($data); $this->assertEquals($result['ccnumba'], Raven_SanitizeDataProcessor::MASK); }
/** * Replace any array values with our mask if the field name or the value matches a respective regex. * * @param mixed $item Associative array value * @param string $key Associative array key * * @return string */ public function sanitize(&$item, $key) { if (null === $item || is_scalar($item) || is_object($item) && method_exists($item, '__toString')) { $item = is_object($item) ? (string) $item : $item; } elseif (is_object($item)) { $item = '[object ' . get_class($item) . ']'; } else { $item = '[' . gettype($item) . ']'; } parent::sanitize($item, $key); }
/** * @covers setProcessorOptions * */ public function testSettingProcessorOptions() { $client = new Raven_Client(); $processor = new Raven_SanitizeDataProcessor($client); $this->assertEquals($processor->getFieldsRe(), '/(authorization|password|passwd|secret|password_confirmation|card_number|auth_pw|cvv|cardNumber|expirationDate)/i', 'got default fields'); $this->assertEquals($processor->getValuesRe(), '/^(?:\\d[ -]*?){13,16}$/', 'got default values'); $options = array('fields_re' => '/(api_token)/i', 'values_re' => '/^(?:\\d[ -]*?){15,16}$/'); $processor->setProcessorOptions($options); $this->assertEquals($processor->getFieldsRe(), '/(api_token)/i', 'overwrote fields'); $this->assertEquals($processor->getValuesRe(), '/^(?:\\d[ -]*?){15,16}$/', 'overwrote values'); }