From 694564c45d42203c4375a7a6ea16073c0eaed068 Mon Sep 17 00:00:00 2001 From: Robert Lange <robert.lange@uni-leipzig.de> Date: Wed, 7 Jun 2023 12:45:35 +0200 Subject: [PATCH] refs #24046 [finc] add test for getResolverConfig * delete test result cache * add gitignore for test result cache * run with "vendor/bin/phpunit --configuration module/finc/tests/phpunit.xml module/finc/tests/unit-tests/src/fincTest/View/Helper/Root/OpenUrlTest.php --filter testGetResolverConfig" --- module/finc/tests/.gitignore | 1 + module/finc/tests/.phpunit.result.cache | 1 - .../fincTest/View/Helper/Root/OpenUrlTest.php | 61 +++++++++++++++++-- 3 files changed, 58 insertions(+), 5 deletions(-) create mode 100644 module/finc/tests/.gitignore delete mode 100644 module/finc/tests/.phpunit.result.cache diff --git a/module/finc/tests/.gitignore b/module/finc/tests/.gitignore new file mode 100644 index 00000000000..c3ed10e9289 --- /dev/null +++ b/module/finc/tests/.gitignore @@ -0,0 +1 @@ +*.cache diff --git a/module/finc/tests/.phpunit.result.cache b/module/finc/tests/.phpunit.result.cache deleted file mode 100644 index be8380b3308..00000000000 --- a/module/finc/tests/.phpunit.result.cache +++ /dev/null @@ -1 +0,0 @@ -C:37:"PHPUnit\Runner\DefaultTestResultCache":5538:{a:2:{s:7:"defects";a:1:{s:65:"FincTest\View\Helper\Root\OpenUrlTest::testValidateParamsEzbFalse";i:3;}s:5:"times";a:70:{s:53:"fincTest\Config\SearchSpecsReaderTest::testParentYaml";d:0.442;s:58:"fincTest\Config\SearchSpecsReaderTest::testSearchSpecsRead";d:0.171;s:58:"fincTest\Config\SearchSpecsReaderTest::testMissingFileRead";d:0.001;s:51:"fincTest\Config\SearchSpecsReaderTest::testYamlLoad";d:0.002;s:52:"fincTest\Config\SearchSpecsReaderTest::testYamlMerge";d:0.001;s:50:"VuFindTest\ILS\Driver\PAIATest::testChangePassword";d:0.03;s:40:"VuFindTest\ILS\Driver\PAIATest::testFees";d:0.005;s:41:"VuFindTest\ILS\Driver\PAIATest::testHolds";d:0.004;s:44:"VuFindTest\ILS\Driver\PAIATest::testRequests";d:0.004;s:48:"VuFindTest\ILS\Driver\PAIATest::testTransactions";d:0.008;s:43:"VuFindTest\ILS\Driver\PAIATest::testProfile";d:0.004;s:48:"VuFindTest\ILS\Driver\PAIATest::testValidRequest";d:0.003;s:48:"VuFindTest\ILS\Driver\PAIATest::testRenewDetails";d:0.001;s:45:"VuFindTest\ILS\Driver\PAIATest::testPlaceHold";d:0.004;s:64:"VuFindTest\ILS\Driver\PAIATest::testPlaceStorageRetrievalRequest";d:0.004;s:41:"VuFindTest\ILS\Driver\PAIATest::testRenew";d:0.006;s:56:"VuFindTest\ILS\Driver\PAIATest::testMissingConfiguration";d:0.001;s:66:"VuFindTest\ILS\Driver\PAIAFincTest::testMapOptionsPickupBranchTrue";d:0;s:57:"VuFindTest\ILS\Driver\PAIAFincTest::testMapOptionsNewTrue";d:0;s:79:"VuFindTest\ILS\Driver\PAIAFincTest::testMapOptionsPickupBranchFalseNoConditions";d:0.001;s:81:"VuFindTest\ILS\Driver\PAIAFincTest::testMapOptionsPickupBranchTrueUnknownOptionId";d:0;s:83:"VuFindTest\ILS\Driver\PAIAFincTest::testGetMyHoldsWithoutOptionConfigurationDefined";d:0.004;s:76:"VuFindTest\ILS\Driver\PAIAFincTest::testGetMyHoldsWithoutPaiaResponseOptions";d:0.006;s:69:"VuFindTest\ILS\Driver\PAIAFincTest::testGetMyHoldsAllowUnknownOptions";d:0.004;s:63:"VuFindTest\ILS\Driver\PAIAFincTest::testGetMyHoldsWrongInstance";d:0.004;s:66:"VuFindTest\ILS\Driver\PAIAFincTest::testGetMyHoldsWithPickUpBranch";d:0.006;s:73:"VuFindTest\ILS\Driver\PAIAFincTest::testGetMyHoldsWithAnotherPickUpBranch";d:0.004;s:81:"VuFindTest\ILS\Driver\PAIAFincTest::testGetMyHoldsWithMultipleOptionsPickUpBranch";d:0.004;s:63:"VuFindTest\ILS\Driver\PAIAFincTest::testgetOptionsReturnsIDTrue";d:0.002;s:68:"VuFindTest\ILS\Driver\PAIAFincTest::testgetOptionsNotOnlyFirstButAll";d:0.002;s:66:"VuFindTest\ILS\Driver\PAIAFincTest::testgetOptionsReturnsLabelTrue";d:0.004;s:67:"VuFindTest\ILS\Driver\PAIAFincTest::testgetOptionsReturnsEmptyArray";d:0.003;s:58:"VuFindTest\ILS\Driver\PAIAFincTest::testCallMapOptionsTrue";d:0.005;s:59:"VuFindTest\ILS\Driver\PAIAFincTest::testCallMapOptionsFalse";d:0.007;s:54:"VuFindTest\ILS\Driver\PAIAFincTest::testChangePassword";d:0.004;s:44:"VuFindTest\ILS\Driver\PAIAFincTest::testFees";d:0.004;s:45:"VuFindTest\ILS\Driver\PAIAFincTest::testHolds";d:0.006;s:48:"VuFindTest\ILS\Driver\PAIAFincTest::testRequests";d:0.004;s:52:"VuFindTest\ILS\Driver\PAIAFincTest::testTransactions";d:0.008;s:47:"VuFindTest\ILS\Driver\PAIAFincTest::testProfile";d:0.005;s:52:"VuFindTest\ILS\Driver\PAIAFincTest::testValidRequest";d:0.003;s:52:"VuFindTest\ILS\Driver\PAIAFincTest::testRenewDetails";d:0.001;s:49:"VuFindTest\ILS\Driver\PAIAFincTest::testPlaceHold";d:0.004;s:68:"VuFindTest\ILS\Driver\PAIAFincTest::testPlaceStorageRetrievalRequest";d:0.009;s:45:"VuFindTest\ILS\Driver\PAIAFincTest::testRenew";d:0.004;s:60:"VuFindTest\ILS\Driver\PAIAFincTest::testMissingConfiguration";d:0;s:64:"fincTest\RecordDriver\SolrMarcNewerPreviousTest::testNewerTitles";d:0.015;s:67:"fincTest\RecordDriver\SolrMarcNewerPreviousTest::testPreviousTitles";d:0.011;s:64:"fincTest\RecordDriver\SolrMarcNewerPreviousTest::testGetUniqueId";d:0;s:65:"FincTest\View\Helper\Root\ExternalCatalogueLinkTest::testGetLinks";d:0.004;s:66:"FincTest\View\Helper\Root\OpenUrlTest::testAddCustomParamsNoParams";d:0.03;s:70:"FincTest\View\Helper\Root\OpenUrlTest::testAddCustomStaticParamsForEzb";d:0.005;s:75:"FincTest\View\Helper\Root\OpenUrlTest::testDONTOverrideExistingParamsForEzb";d:0.005;s:71:"FincTest\View\Helper\Root\OpenUrlTest::testAddCustomStaticParamsForRedi";d:0.005;s:76:"FincTest\View\Helper\Root\OpenUrlTest::testDONTOverrideExistingParamsForRedi";d:0.005;s:71:"FincTest\View\Helper\Root\OpenUrlTest::testAddCustomDynamicParamsForEzb";d:0.005;s:72:"FincTest\View\Helper\Root\OpenUrlTest::testAddCustomDynamicParamsForRedi";d:0.005;s:65:"FincTest\View\Helper\Root\OpenUrlTest::testValidateParamsEzbFalse";d:0.005;s:64:"FincTest\View\Helper\Root\OpenUrlTest::testValidateParamsEzbTrue";d:0.027;s:63:"FincTest\View\Helper\Root\OpenUrlTest::testIsActiveIsIdempotent";d:0.008;s:63:"FincTest\View\Helper\Root\OpenUrlTest::testCheckContextDefaults";d:0.028;s:68:"FincTest\View\Helper\Root\OpenUrlTest::testCheckContextWithOverrides";d:0.005;s:60:"FincTest\View\Helper\Root\OpenUrlTest::testCheckContextNoUrl";d:0.005;s:73:"FincTest\View\Helper\Root\OpenUrlTest::testCheckExcludedRecordsRulesFalse";d:0.003;s:72:"FincTest\View\Helper\Root\OpenUrlTest::testCheckExcludedRecordsRulesTrue";d:0.003;s:93:"FincTest\View\Helper\Root\OpenUrlTest::testCheckExcludedRecordsRulesFalseDueToWildcardFailure";d:0.031;s:74:"FincTest\View\Helper\Root\OpenUrlTest::testCheckSupportedRecordsRulesFalse";d:0.003;s:91:"FincTest\View\Helper\Root\OpenUrlTest::testCheckSupportedRecordsRulesWithWildcardStillFalse";d:0.003;s:73:"FincTest\View\Helper\Root\OpenUrlTest::testCheckSupportedRecordsRulesTrue";d:0.003;s:67:"FincTest\View\Helper\Root\OpenUrlTest::testRecordDriverClassInRules";d:0.005;}}} \ No newline at end of file diff --git a/module/finc/tests/unit-tests/src/fincTest/View/Helper/Root/OpenUrlTest.php b/module/finc/tests/unit-tests/src/fincTest/View/Helper/Root/OpenUrlTest.php index 3f9e9f69604..dd4b6f47318 100644 --- a/module/finc/tests/unit-tests/src/fincTest/View/Helper/Root/OpenUrlTest.php +++ b/module/finc/tests/unit-tests/src/fincTest/View/Helper/Root/OpenUrlTest.php @@ -27,7 +27,12 @@ */ namespace FincTest\View\Helper\Root; +use finc\Resolver\Driver\Ezb; +use finc\Resolver\Driver\FincResolverDriverFactory; +use finc\Resolver\Driver\Redi; use finc\View\Helper\Root\OpenUrl; +use Laminas\Config\Config; +use VuFindTest\Container\MockContainer; /** * Open Url Test Class @@ -40,9 +45,9 @@ use finc\View\Helper\Root\OpenUrl; */ class OpenUrlTest extends \VuFindTest\View\Helper\Root\OpenUrlTest { - const ISSN = 456; - const OPEN_URL = "open=url"; - const ZDB_ID = 123; + const ISSN = 456; + const OPEN_URL = "open=url"; + const ZDB_ID = 123; public function testAddCustomParamsNoParams() { @@ -147,6 +152,54 @@ class OpenUrlTest extends \VuFindTest\View\Helper\Root\OpenUrlTest $this->assertTrue($instanceWithIssnAndZdbId->isActive()); } + /** + * @return void + */ + public function testGetResolverConfig() + { + $url['ezb'] = 'http://ezb_url.xxx'; + $url['redi'] = 'http://redi_url.yyy'; + + $bibid = 'test_bibid'; + $dummyParams = 'ctx_ver=1&REMOTE_ADDR=2'; + + $resolverConfig = new Config( + [ + 'Ezb' => [ + 'url' => $url['ezb'], + 'bibid' => $bibid + ], + 'Redi' => [ + 'url' => $url['redi'], + 'bibid' => $bibid + ] + ] + ); + $mockConfigReader = $this->createMock(\VuFind\Config\PluginManager::class); + $mockConfigReader->expects($this->any())->method('get') + ->with($this->equalTo('Resolver')) + ->will($this->returnValue($resolverConfig)); + + $container = new MockContainer($this); + $container->set('VuFind\Config', $mockConfigReader); + + $httpService = $this->getMockBuilder(\VuFindHttp\HttpService::class) + ->getMock(); + $httpService->expects($this->any())->method('createClient') + ->will($this->returnValue(($client = new \Laminas\Http\Client()))); + $container->set('VuFindHttp\HttpService', $httpService); + + $factory = new FincResolverDriverFactory(); + + foreach (['ezb' => Ezb::class, 'redi' => Redi::class] as $name => $clazz) { + $this->assertStringContainsString( + $url[$name], + $factory($container, $clazz)->getResolverUrl($dummyParams), + "Missing or wrong base url for $name resolver." + ); + } + } + public function testIsActiveIsIdempotent() { $this->rulesConfig['Ezb'] = [0 => ['include' => ["methods" => "getSourceID"]]]; @@ -234,7 +287,7 @@ class OpenUrlTest extends \VuFindTest\View\Helper\Root\OpenUrlTest ->disableOriginalConstructor()->getMock(); $driver->method('tryMethod') - ->will($this->returnCallback(array($this, 'getCallback'))); + ->will($this->returnCallback([$this, 'getCallback'])); $driver->method('getOpenUrl') ->willReturn(self::OPEN_URL); -- GitLab