diff --git a/application/modules/opac/controllers/OaiController.php b/application/modules/opac/controllers/OaiController.php index e73471db08848ccccf8d3eb9addc351e28f71f23..f3f0e2df2a124ba5d86264f8f84c604268a8f06d 100644 --- a/application/modules/opac/controllers/OaiController.php +++ b/application/modules/opac/controllers/OaiController.php @@ -35,6 +35,8 @@ class OaiController extends Zend_Controller_Action { public function requestAction() { $this->getResponse()->setHeader('Content-Type', 'text/xml;charset=utf-8'); $this->getHelper('ViewRenderer')->setNoRender(); + if (!Class_AdminVar::isOAIServerEnabled()) + return; $verbsMapping = array('ListIdentifiers' => 'list-identifiers', 'Identify' => 'identify', diff --git a/tests/application/modules/opac/controllers/OAIControllerTest.php b/tests/application/modules/opac/controllers/OAIControllerTest.php index 3ab63863710057f5941d84a4eb1a91a9fbdcea32..06006fc3202ecef8eca94bf7895fdb2c37a93b92 100644 --- a/tests/application/modules/opac/controllers/OAIControllerTest.php +++ b/tests/application/modules/opac/controllers/OAIControllerTest.php @@ -25,6 +25,11 @@ abstract class OAIControllerRequestTestCase extends AbstractControllerTestCase { public function setUp() { parent::setUp(); + + Class_AdminVar::getLoader() + ->newInstanceWithId('OAI_SERVER') + ->setValeur('1'); + $this->_xpath = new Storm_Test_XPathXML(); $this->_xpath->registerNameSpace('oai', 'http://www.openarchives.org/OAI/2.0/'); } @@ -70,6 +75,19 @@ class OAIControllerIndentifyRequestTest extends OaiControllerRequestTestCase { +class OAIControllerRequestWithoutOAIEnabledTest extends AbstractControllerTestCase { + /** @test */ + public function responseShouldBeEmpty() { + Class_AdminVar::getLoader() + ->newInstanceWithId('OAI_SERVER') + ->setValeur('0'); + $this->dispatch('/opac/oai/request?verb=Identify'); + $this->assertEmpty($this->_response->getBody()); + } +} + + + class OaiControllerListSetsRequestTest extends OaiControllerRequestTestCase { protected $_xpath;