Ich habe eine App, die Sub-Domains auf dem Weg zu Agenturen verwendet:Wie ich testen Sub-Domain auf Basis Routen in Symfony2
foo.domain.dev -> Agency:showAction(foo)
bar.domain.dev -> Agency:showAction(bar)
domain.dev -> Agency:indexAction()
diese jeweils entsprechen einer Agentur Einheit und Controller.
Ich habe einen Listener, der auf das onDomainParse-Ereignis wartet und die Subdomäne in die Anforderungsattribute schreibt.
/**
* Listens for on domainParse event
* Writes to request attributes
*/
class SubdomainListener {
public function onDomainParse(Event $event)
{
$request = $event->getRequest();
$session = $request->getSession();
// Split the host name into tokens
$tokens = $this->tokenizeHost($request->getHost());
if (isset($tokens['subdomain'])){
$request->attributes->set('_subdomain',$tokens['subdomain']);
}
}
//...
}
ich diese dann mit in der Steuerung zu einer Show Aktion zum Umleiten:
class AgencyController extends Controller
{
/**
* Lists all Agency entities.
*
*/
public function indexAction()
{
// We reroute to show action here.
$subdomain = $this->getRequest()
->attributes
->get('_subdomain');
if ($subdomain)
return $this->showAction($subdomain);
$em = $this->getDoctrine()->getEntityManager();
$agencies = $em->getRepository('NordRvisnCoreBundle:Agency')->findAll();
return $this->render('NordRvisnCoreBundle:Agency:index.html.twig', array(
'agencies' => $agencies
));
}
// ...
}
Meine Frage ist:
Wie dies i fälschen, wenn ein Test mit WebTestCase tun?
Ah war es auch in der [Docs] (http://symfony.com/doc/current/book/testing.html#testing-configuration). Vielen Dank – max