/** * Test converting JSON with unknown data to {@link HppResponse}. */ public function testFromJsonHppResponseUnknownData() { $path = SampleJsonData::UNKNOWN_DATA_HPP_RESPONSE_JSON_PATH; $prefix = __DIR__ . '/../../../resources'; $json = file_get_contents($prefix . $path); $hppResponseExpected = SampleJsonData::generateValidHppResponse(); $hppResponseConverted = JsonUtils::fromJsonHppResponse($json); SampleJsonData::checkValidHppResponse($hppResponseExpected, $hppResponseConverted, $this); SampleJsonData::checkValidHppResponseSupplementaryData($hppResponseConverted, $this); }
public function testHash() { $hppRequest = SampleJsonData::generateValidHppRequest(false); $hppRequest->setTimeStamp(self::TIMESTAMP); $hppRequest->setMerchantId(self::MERCHANT_ID); $hppRequest->setOrderId(self::ORDER_ID); $hppRequest->setAmount(self::AMOUNT); $hppRequest->setCurrency(self::CURRENCY); $expectedHash = "e96eed4869a6d682e8fdbb88703ed81faa58f4df"; $actualHash = $hppRequest->hash("mysecret")->getHash(); $this->assertEquals($expectedHash, $actualHash, "Card storage hash does not match expected."); }
public function testHash() { $hppRequest = SampleJsonData::generateValidHppRequest(false); $hppRequest->setTimeStamp(self::TIMESTAMP); $hppRequest->setMerchantId(self::MERCHANT_ID); $hppRequest->setOrderId(self::ORDER_ID); $hppRequest->setAmount(self::AMOUNT); $hppRequest->setCurrency(self::CURRENCY); $expectedHash = "cc72c08e529b3bc153481eda9533b815cef29de3"; $actualHash = $hppRequest->hash("mysecret")->getHash(); $this->assertEquals($expectedHash, $actualHash, "Card storage hash does not match expected."); }
/** * Test converting a {@link HppRequest} object to JSON. Includes validation and generation of defaults. */ public function testValidationFailsPostDimensions() { $hppRequest = SampleJsonData::generateValidHppRequestWithEmptyDefaults(false); //limit is 255 $postDimensions = str_repeat('a', 256); //testing add method $hppRequest = $hppRequest->addPostDimensions($postDimensions); try { ValidationUtils::validate($hppRequest); $this->fail("This HppRequest should have validation errors."); } catch (RealexValidationException $e) { $validationMessages = $e->getValidationMessages(); $this->assertEquals(ValidationMessages::hppRequest_postDimensions_size, $validationMessages[0]); } }
/** * Test supplementary data second field */ public function testCardSupplementaryData2() { $hppRequest = SampleJsonData::generateValidHppRequest(false); $hppRequest->generateDefaults(SampleJsonData::SECRET); $supplementaryData1 = ""; $supplementaryData2 = ""; $supplementaryData = array(); $supplementaryData[] = $supplementaryData1; $supplementaryData[] = $supplementaryData2; $hppRequest->setSupplementaryData($supplementaryData); try { ValidationUtils::validate($hppRequest); } catch (RealexValidationException $e) { $this->fail("This HppRequest should have no validation errors."); } $supplementaryData1 = ""; $supplementaryData2 = " azAZ09'\",+“”._- & "; $supplementaryData = array(); $supplementaryData[] = $supplementaryData1; $supplementaryData[] = $supplementaryData2; $hppRequest->setSupplementaryData($supplementaryData); try { ValidationUtils::validate($hppRequest); } catch (RealexValidationException $e) { $this->fail("This HppRequest should not have validation errors."); } $supplementaryData1 = ""; $supplementaryData2 = "\\/@!?%()*:£\$&€#[]|"; $supplementaryData = array(); $supplementaryData[] = $supplementaryData1; $supplementaryData[] = $supplementaryData2; $hppRequest->setSupplementaryData($supplementaryData); try { ValidationUtils::validate($hppRequest); } catch (RealexValidationException $e) { $this->fail("This HppRequest should not have validation errors."); } $supplementaryData1 = ""; $supplementaryData2 = "=ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒ"; $supplementaryData = array(); $supplementaryData[] = $supplementaryData1; $supplementaryData[] = $supplementaryData2; $hppRequest->setSupplementaryData($supplementaryData); try { ValidationUtils::validate($hppRequest); } catch (RealexValidationException $e) { $this->fail("This HppRequest should not have validation errors."); } $supplementaryData1 = ""; $supplementaryData2 = "ÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæ"; $supplementaryData = array(); $supplementaryData[] = $supplementaryData1; $supplementaryData[] = $supplementaryData2; $hppRequest->setSupplementaryData($supplementaryData); try { ValidationUtils::validate($hppRequest); } catch (RealexValidationException $e) { $this->fail("This HppRequest should not have validation errors."); } $supplementaryData1 = ""; $supplementaryData2 = "çèéêëìíîïðñòóôõö÷ø¤ù"; $supplementaryData = array(); $supplementaryData[] = $supplementaryData1; $supplementaryData[] = $supplementaryData2; $hppRequest->setSupplementaryData($supplementaryData); try { ValidationUtils::validate($hppRequest); } catch (RealexValidationException $e) { $this->fail("This HppRequest should not have validation errors."); } $supplementaryData1 = ""; $supplementaryData2 = "úûüýþÿŒŽšœžŸ¥"; $supplementaryData = array(); $supplementaryData[] = $supplementaryData1; $supplementaryData[] = $supplementaryData2; $hppRequest->setSupplementaryData($supplementaryData); try { ValidationUtils::validate($hppRequest); } catch (RealexValidationException $e) { $this->fail("This HppRequest should not have validation errors."); } $supplementaryData1 = ""; $charsAtMax = str_repeat("1", 255); $supplementaryData = array(); $supplementaryData[] = $supplementaryData1; $supplementaryData[] = $charsAtMax; $hppRequest->setSupplementaryData($supplementaryData); try { ValidationUtils::validate($hppRequest); } catch (RealexValidationException $e) { $this->fail("This HppRequest should not have validation errors."); } $supplementaryData1 = ""; $charsOverMax = str_repeat("a", 256); $supplementaryData = array(); $supplementaryData[] = $supplementaryData1; $supplementaryData[] = $charsOverMax; $hppRequest->setSupplementaryData($supplementaryData); try { ValidationUtils::validate($hppRequest); $this->fail("This HppRequest should have validation errors."); } catch (RealexValidationException $e) { $validationMessages = $e->getValidationMessages(); $this->assertEquals(ValidationMessages::hppRequest_supplementary_data_size, $validationMessages[0]); } }
* @param HppResponse $hppResponse * @param PHPUnit_Framework_TestCase $testCase */ public static function checkValidHppResponseSupplementaryData(HppResponse $hppResponse, PHPUnit_Framework_TestCase $testCase) { $supplementaryData = $hppResponse->getSupplementaryData(); $testCase->assertEquals(self::UNKNOWN_ONE_VALUE, $supplementaryData[self::UNKNOWN_ONE_KEY], "Json conversion incorrect Unknown one"); $testCase->assertEquals(self::UNKNOWN_TWO_VALUE, $supplementaryData[self::UNKNOWN_TWO_KEY], "Json conversion incorrect Unknown one"); $testCase->assertEquals(self::UNKNOWN_THREE_VALUE, $supplementaryData[self::UNKNOWN_THREE_KEY], "Json conversion incorrect Unknown one"); $testCase->assertEquals(self::UNKNOWN_FOUR_VALUE, $supplementaryData[self::UNKNOWN_FOUR_KEY], "Json conversion incorrect Unknown one"); $testCase->assertEquals(sizeof(self::$SUPPLEMENTARY_DATA), sizeof($supplementaryData), "Json conversion incorrect size"); } /** * Checks request post dimensions matches expected values. * * @param HppRequest $hppRequestConverted * @param PHPUnit_Framework_TestCase $testCase */ public static function checkValidHppRequestPostDimensions(HppRequest $hppRequestConverted, PHPUnit_Framework_TestCase $testCase) { $postDimensions = $hppRequestConverted->getPostDimensions(); $testCase->assertEquals(self::POST_DIMENSIONS, $postDimensions, "Json conversion incorrect "); $testCase->assertEquals(sizeof(self::POST_DIMENSIONS), sizeof($postDimensions), "Json conversion incorrect size"); $hppRequestConverted = $hppRequestConverted->encode(RealexHpp::ENCODING_CHARSET); $hppRequestConverted = $hppRequestConverted->decode(RealexHpp::ENCODING_CHARSET); $postDimensions = $hppRequestConverted->getPostDimensions(); $testCase->assertEquals(self::POST_DIMENSIONS, $postDimensions, "Json conversion incorrect "); } } SampleJsonData::Init();