public function testVisit()
{
$visitor = $this->getVisitor();
$generator = $this->getGenerator();
$generator->startDocument(null);
$session = new Values\UserSession($this->getUserMock(), 'sessionName', 'sessionId', 'csrfToken', false);
$this->getVisitorMock()->expects($this->at(0))->method('setStatus')->with($this->equalTo(200));
$this->getVisitorMock()->expects($this->at(1))->method('setHeader')->with($this->equalTo('Content-Type'), $this->equalTo('application/vnd.ez.api.Session+xml'));
$this->addRouteExpectation('ezpublish_rest_deleteSession', array('sessionId' => $session->sessionId), "/user/sessions/{$session->sessionId}");
$this->addRouteExpectation('ezpublish_rest_loadUser', array('userId' => $session->user->id), "/user/users/{$session->user->id}");
$visitor->visit($this->getVisitorMock(), $generator, $session);
$result = $generator->endDocument(null);
$this->assertNotNull($result);
return $result;
}