Skip to content
Snippets Groups Projects
Commit 770f4b52 authored by Demian Katz's avatar Demian Katz
Browse files

Bare minimum Europeana recommendations test.

parent 9f7ef899
No related merge requests found
HTTP/1.1 200 OK
Content-Type: application/rss+xml
Date: Wed, 05 Apr 2017 13:55:18 GMT
Server: Apache-Coyote/1.1
X-Vcap-Request-Id: 63351bb2-903e-446f-6aad-1ced4f862592
transfer-encoding: chunked
Connection: Close
f2f
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><rss xmlns:georss="http://www.georss.org/georss" xmlns:fieldtrip="http://www.fieldtripper.com/fieldtrip_rss" xmlns:europeana="http://www.europeana.eu" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:enrichment="http://www.europeana.eu/schemas/ese/enrichment/" version="2.0"><channel><title>Europeana Open Search</title><link>http://www.europeana.eu</link><description>Europeana Open Search results</description><opensearch:totalResults>38810</opensearch:totalResults><opensearch:startIndex>1</opensearch:startIndex><opensearch:itemsPerPage>12</opensearch:itemsPerPage><atom:link href="" rel="search" type="application/rss+xml"/><opensearch:Query role="request" searchTerms="test" startPage="1"/><image><title>Europeana Open Search</title><link>http://www.europeana.eu</link><url>http://www.europeana.eu/portal/sp/img/europeana-logo-en.png</url></image><item><guid>http://www.europeana.eu/portal/record/92099/BibliographicResource_2000068736886.html</guid><title>Guiard des Moulins , Petite Bible historiale de Charles V. [Paris, BnF, MSS Français 5707]</title><link>http://www.europeana.eu/portal/record/92099/BibliographicResource_2000068736886.html</link><description>Maître du Livre du sacre. Enlumineur de l'oeuvre reproduite; The European Library</description></item><item><guid>http://www.europeana.eu/portal/record/92099/BibliographicResource_2000060239235.html</guid><title>Guiard des Moulins , Bible Historiale de Jean de Berry. [Paris, BnF, MSS Français 20090]</title><link>http://www.europeana.eu/portal/record/92099/BibliographicResource_2000060239235.html</link><description>The European Library</description></item><item><guid>http://www.europeana.eu/portal/record/92099/BibliographicResource_1000157170726.html</guid><title>Saint Augustin , De civitate Dei (Livres XI-XXII) , traduit en français par Raoul de Presle. [Paris, BnF, MSS Français 173]</title><link>http://www.europeana.eu/portal/record/92099/BibliographicResource_1000157170726.html</link><description>Raoul de Presle. Traducteur; The European Library</description></item><item><guid>http://www.europeana.eu/portal/record/92099/BibliographicResource_1000157170711.html</guid><title>Saint Augustin , La cité de Dieu [De Civitate Dei] , (Livres XI-XXII), traduit en français par Raoul de Presles. [Paris, BnF, MSS Français 174]</title><link>http://www.europeana.eu/portal/record/92099/BibliographicResource_1000157170711.html</link><description>Augustinus (saint ; 0354-0430). Auteur du texte; The European Library</description></item><item><guid>http://www.europeana.eu/portal/record/92099/BibliographicResource_1000157170710.html</guid><title>Saint Augustin , De Civitate Dei , traduit en français par Raoul de Presles (Livre I-X). [Paris, BnF, MSS Français 22912]</title><link>http://www.europeana.eu/portal/record/92099/BibliographicResource_1000157170710.html</link><description>Augustinus (saint ; 0354-0430). Auteur du texte; The European Library</description></item><item><guid>http://www.europeana.eu/portal/record/92099/BibliographicResource_1000157170694.html</guid><title>Péan Gastineau , Vie de saint Martin de Tours (en vers). [Paris, BnF, MSS Français 1043]</title><link>http://www.europeana.eu/portal/record/92099/BibliographicResource_1000157170694.html</link><description>Péan Gatineau (11..-1227?). Auteur du texte; The European Library</description></item><item><guid>http://www.europeana.eu/portal/record/92099/BibliographicResource_1000157170677.html</guid><title>Guillaume Durand, évêque de Mende , Rational des divins offices , traduit en français par Jean Golein. [Paris, BnF, MSS Français 437]</title><link>http://www.europeana.eu/portal/record/92099/BibliographicResource
854
_1000157170677.html</link><description>Jean Golein. Traducteur; 1374; The European Library</description></item><item><guid>http://www.europeana.eu/portal/record/92099/BibliographicResource_1000157170645.html</guid><title>Guillaume Durand , Rational des divins offices [ Rationale divinorum officiorum ] , traduction française par Jean Golein. [Paris, BnF, MSS Français 176]</title><link>http://www.europeana.eu/portal/record/92099/BibliographicResource_1000157170645.html</link><description>Durand, Guillaume (évêque de Mende). Auteur du texte; The European Library</description></item><item><guid>http://www.europeana.eu/portal/record/92097/BibliographicResource_1000126675952.html</guid><title>Natural polymorphisms and transmitted drug resistance in Estonian HIV-1 CRF06_cpx and its recombinant viruses</title><link>http://www.europeana.eu/portal/record/92097/BibliographicResource_1000126675952.html</link><description>Avi, Radko; The European Library</description></item><item><guid>http://www.europeana.eu/portal/record/92097/BibliographicResource_1000126675484.html</guid><title>Tests for assessing the child’s school readiness and general development. Trial of the tests on the samples of pre-school children and first-grade students in Estonia</title><link>http://www.europeana.eu/portal/record/92097/BibliographicResource_1000126675484.html</link><description>Häidkind, Pille; The European Library</description></item><item><guid>http://www.europeana.eu/portal/record/92097/BibliographicResource_1000126675470.html</guid><title>Simultaneous adsorption of Cd2+, Ni2+, and Pb2+ on peat</title><link>http://www.europeana.eu/portal/record/92097/BibliographicResource_1000126675470.html</link><description>Sõukand, Ülis; The European Library</description></item><item><guid>http://www.europeana.eu/portal/record/92097/BibliographicResource_1000126675469.html</guid><title>Haaslava valla infoleht 2009. aasta valimiste ajal</title><link>http://www.europeana.eu/portal/record/92097/BibliographicResource_1000126675469.html</link><description>Vaagen, Ilona; 2011; The European Library</description></item></channel></rss>
0
<?php
/**
* EuropeanaResults tests.
*
* PHP version 5
*
* Copyright (C) Villanova University 2017.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* @category VuFind
* @package Tests
* @author Demian Katz <demian.katz@villanova.edu>
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License
* @link https://vufind.org/wiki/development:testing:unit_tests Wiki
*/
namespace VuFindTest\Recommend;
use VuFind\Recommend\EuropeanaResults;
use VuFindHttp\HttpService;
use VuFindTest\Unit\TestCase as TestCase;
use Zend\Http\Client\Adapter\Test as TestAdapter;
/**
* EuropeanaResults tests.
*
* @category VuFind
* @package Tests
* @author Demian Katz <demian.katz@villanova.edu>
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License
* @link https://vufind.org/wiki/development:testing:unit_tests Wiki
*/
class EuropeanaResultsTest extends TestCase
{
/**
* Test that the module properly parses a sample response.
*
* This is a bare minimum test to confirm that Zend\Feed deals with the RSS
* response correctly. More work should be done to confirm that URL generation
* works appropriately, optional configuration parameters are respected, etc.
*
* @return void
*/
public function testResponseParsing()
{
$europeana = new EuropeanaResults('fakekey');
$europeana->setHttpService($this->getHttpService());
$europeana->setConfig(''); // use defaults
$results = $this->getMockResults();
$query = new \Zend\StdLib\Parameters(['lookfor' => 'test']);
$europeana->init($results->getParams(), $query);
$europeana->process($results);
$this->assertEquals(
[
'worksArray' => [
[
'title' => 'Guiard des Moulins , Petite Bible historiale de Charles V. [Paris, BnF, MSS Français 5707]',
'link' => 'http://www.europeana.eu/portal/record/92099/BibliographicResource_2000068736886.html',
'enclosure' => null,
],
[
'title' => 'Guiard des Moulins , Bible Historiale de Jean de Berry. [Paris, BnF, MSS Français 20090]',
'link' => 'http://www.europeana.eu/portal/record/92099/BibliographicResource_2000060239235.html',
'enclosure' => null,
],
[
'title' => 'Saint Augustin , De civitate Dei (Livres XI-XXII) , traduit en français par Raoul de Presle. [Paris, BnF, MSS Français 173]',
'link' => 'http://www.europeana.eu/portal/record/92099/BibliographicResource_1000157170726.html',
'enclosure' => null,
],
[
'title' => 'Saint Augustin , La cité de Dieu [De Civitate Dei] , (Livres XI-XXII), traduit en français par Raoul de Presles. [Paris, BnF, MSS Français 174]',
'link' => 'http://www.europeana.eu/portal/record/92099/BibliographicResource_1000157170711.html',
'enclosure' => null,
],
[
'title' => 'Saint Augustin , De Civitate Dei , traduit en français par Raoul de Presles (Livre I-X). [Paris, BnF, MSS Français 22912]',
'link' => 'http://www.europeana.eu/portal/record/92099/BibliographicResource_1000157170710.html',
'enclosure' => null,
],
],
'feedTitle' => 'Europeana.eu',
'sourceLink' =>
'http://www.europeana.eu/portal/search.html?query=test',
],
$europeana->getResults()
);
}
/**
* Return connector.
*
* @param string $fixture HTTP response fixture to load (optional)
*
* @return HttpClient
*/
protected function getHttpService($fixture = 'europeana')
{
$adapter = new TestAdapter();
if ($fixture) {
$adapter->setResponse($this->loadResponse($fixture));
}
$service = new HttpService();
$service->setDefaultAdapter($adapter);
return $service;
}
/**
* Get a fixture response
*
* @return string
*/
protected function loadResponse($file)
{
$fixturePath = realpath(__DIR__ . '/../../../../fixtures/recommend') . '/';
return file_get_contents($fixturePath . $file);
}
/**
* Get a mock results object.
*
* @param \VuFind\Search\Solr\Params $params Params to include in container.
*
* @return \VuFind\Search\Solr\Results
*/
protected function getMockResults($params = null)
{
if (null === $params) {
$params = $this->getMockParams();
}
$results = $this->getMockBuilder('VuFind\Search\Solr\Results')
->disableOriginalConstructor()->getMock();
$results->expects($this->any())->method('getParams')
->will($this->returnValue($params));
return $results;
}
/**
* Get a mock params object.
*
* @param \VuFindSearch\Query\Query $query Query to include in container.
*
* @return \VuFind\Search\Solr\Params
*/
protected function getMockParams($query = null)
{
if (null === $query) {
$query = new \VuFindSearch\Query\Query('foo', 'bar');
}
$params = $this->getMockBuilder('VuFind\Search\Solr\Params')
->disableOriginalConstructor()->getMock();
$params->expects($this->any())->method('getQuery')
->will($this->returnValue($query));
return $params;
}
}
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment