PHP code example of justintime50 / vcr-accessories
1. Go to this page and download the library: Download justintime50/vcr-accessories library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
justintime50 / vcr-accessories example snippets
use allejo\VCR\VCRCleaner;
use VCR\VCR;
use VCRAccessories\CassetteScrubber;
use VCRAccessories\CassetteSetup;
const CASSETTE_DIR = 'tests/cassettes';
CassetteSetup::setupCassetteDirectory(CASSETTE_DIR);
VCR::configure()->setCassettePath(CASSETTE_DIR)
->setStorage('yaml')
->setMode('once')
->setWhiteList(['vendor/guzzle']);
const REDACTED_STRING = '<REDACTED>';
// SCRUBBERS must be a multidimensional array where the first index of each nested array is the key
// you want to scrub and the second index is what you want it to be replaced with before persisting to disk
define('SCRUBBERS', [
['origin', REDACTED_STRING],
]);
VCRCleaner::enable([
'response' => [
'bodyScrubbers' => [
function ($responseBody) {
$responseBodyJson = json_decode($responseBody, true);
$responseBodyEncoded = CassetteScrubber::scrubCassette(SCRUBBERS, $responseBodyJson);
// Re-encode the data so we can properly store it in the cassette
return json_encode($responseBodyEncoded);
}
],
],
]);
use VCRAccessories\CassetteSetup;
public static function setUpBeforeClass(): void
{
CassetteSetup::setupVcrTests();
}
public static function tearDownAfterClass(): void
{
CassetteSetup::teardownVcrTests();
}
public function myTest()
{
CassetteSetup::setupCassette(
cassetteName: 'nameOfCassette.yaml',
expirationDays: 180,
expirationError: true
);
// Your test here
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.