private function createConfiguration(array $tagConfiguration) { $configuration = new Configuration($tagConfiguration['cassette_path'], $tagConfiguration['cassette_storage'], $tagConfiguration['tags'], new ExtensionDecoratorFileNamingStrategy($this->cassetteFileNamingStrategyFactory->createFileNamingStrategy($tagConfiguration['cassette_filenaming_strategy']), $this->guessExtensionFromCassetteStorage($tagConfiguration['cassette_storage']))); if (isset($tagConfiguration['library_hooks'])) { $configuration->setLibraryHooks($tagConfiguration['library_hooks']); } if (isset($tagConfiguration['match_requests_on'])) { $configuration->setRequestMatchers($tagConfiguration['match_requests_on']); } if (isset($tagConfiguration['mode'])) { $configuration->setMode($tagConfiguration['mode']); } return $configuration; }
private function configureVCR(Configuration $configuration, ScenarioTested $event) { $currentVcrConfiguration = $this->videorecorder->configure(); if ($configuration->getCassettePath()) { $currentVcrConfiguration->setCassettePath($configuration->getCassettePath()); } if ($configuration->getCassetteStorage()) { $currentVcrConfiguration->setStorage($configuration->getCassetteStorage()); } if ($configuration->getLibraryHooks()) { $currentVcrConfiguration->enableLibraryHooks($configuration->getLibraryHooks()); } if ($configuration->getRequestMatchers()) { $currentVcrConfiguration->enableRequestMatchers($configuration->getRequestMatchers()); } if ($configuration->getMode()) { $currentVcrConfiguration->setMode($configuration->getMode()); } $filename = $configuration->getFileNamingStrategy()->createFilename($event->getFeature(), $event->getScenario(), $this->outline); $this->videorecorder->insertCassette($filename); }