server/src/tests/Repositories/DocumentRepositoryTest.php
changeset 19 eadaf0b8f02e
parent 4 f55970e41793
child 26 72f51a9386ff
equal deleted inserted replaced
18:f2a40bbc27f6 19:eadaf0b8f02e
     9 use Mockery as m;
     9 use Mockery as m;
    10 
    10 
    11 class DocumentRepositoryTest extends TestCase {
    11 class DocumentRepositoryTest extends TestCase {
    12 
    12 
    13     const TEST_DOC = <<<EOT
    13     const TEST_DOC = <<<EOT
    14 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#Resource> .
       
    15 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> .
       
    16 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/elements/1.1/description> "Extrait des enqu\u00EAtes dialectologiques en vue de constituer un atlas linguistique de l'Alsace."@fr .
       
    17 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/elements/1.1/format> "audio/x-wav"^^<http://purl.org/dc/terms/IMT> .
       
    18 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/elements/1.1/type> <http://purl.org/dc/dcmitype/Sound> .
       
    19 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/elements/1.1/type> "primary_text"^^<http://www.language-archives.org/OLAC/1.1/linguistic-type> .
       
    20 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/elements/1.1/type> "dialogue"^^<http://www.language-archives.org/OLAC/1.1/discourse-type> .
       
    21 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/elements/1.1/subject> <http://lexvo.org/id/iso639-3/gsw> .
       
    22 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/elements/1.1/subject> "lexicography"^^<http://www.language-archives.org/OLAC/1.1/linguistic-field> .
       
    23 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/elements/1.1/subject> "phonetics"^^<http://www.language-archives.org/OLAC/1.1/linguistic-field> .
       
    24 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/elements/1.1/subject> "anthropological_linguistics"^^<http://www.language-archives.org/OLAC/1.1/linguistic-field> .
       
    25 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/elements/1.1/language> <http://lexvo.org/id/iso639-3/gsw> .
       
    26 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/elements/1.1/contributor> <http://viaf.org/viaf/9122216> .
       
    27 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/elements/1.1/contributor> _:genid2d6c3879d9d2484bd98bb0bcb9dd0364fc2dgenid1 .
       
    28 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/elements/1.1/contributor> _:genid2d6c3879d9d2484bd98bb0bcb9dd0364fc2dgenid2 .
       
    29 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/elements/1.1/publisher> "Atlas linguistiques, cultures et parlers r\u00E9gionaux de France" .
       
    30 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/elements/1.1/rights> "Copyright (c) D\u00E9partement de dialectologie alsacienne et mosellane de l'Universit\u00E9 de Strasbourg" .
       
    31 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/elements/1.1/title> "Atlas Linguistique et ethnographique de l'Alsace - Enquetes sur la conscience linguistique - ALA_608"@fr .
       
    32 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/terms/accessRights> "Freely available for non-commercial use" .
       
    33 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/terms/license> <http://creativecommons.org/licenses/by-nc-nd/2.5/> .
       
    34 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/terms/isPartOf> <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-COLLECTION_ALA_CL> .
       
    35 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/terms/isPartOf> <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-COLLECTION_LANGUESDEFRANCE> .
       
    36 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/terms/extent> "PT02H04M16S" .
       
    37 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/terms/created> "start=1980; end=1989; name=ann\u00E9es 80"^^<http://purl.org/dc/terms/Period> .
       
    38 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/terms/spatial> "France, Alsace"@fr .
       
    39 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/terms/spatial> "FR"^^<http://purl.org/dc/terms/ISO3166> .
       
    40 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/terms/isFormatOf> <http://cocoon.huma-num.fr/data/ala/ALA_608.mp3> .
       
    41 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/terms/isFormatOf> <http://cocoon.huma-num.fr/data/ala/masters/ALA_608.wav> .
       
    42 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/terms/available> "2004-07-03"^^<http://purl.org/dc/terms/W3CDTF> .
       
    43 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/terms/issued> "2014-11-04T16:25:54+01:00"^^<http://purl.org/dc/terms/W3CDTF> .
       
    44 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://www.openrdf.org/schema/sesame#directType> <http://xmlns.com/foaf/0.1/Document> .
       
    45 _:genid2d6c3879d9d2484bd98bb0bcb9dd0364fc2dgenid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#Resource> .
       
    46 _:genid2d6c3879d9d2484bd98bb0bcb9dd0364fc2dgenid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Agent> .
       
    47 _:genid2d6c3879d9d2484bd98bb0bcb9dd0364fc2dgenid1 <http://xmlns.com/foaf/0.1/name> "Bothorel-Witz, Arlette" .
       
    48 _:genid2d6c3879d9d2484bd98bb0bcb9dd0364fc2dgenid1 <http://xmlns.com/foaf/0.1/status> "interviewer"^^<http://www.language-archives.org/OLAC/1.1/role> .
       
    49 _:genid2d6c3879d9d2484bd98bb0bcb9dd0364fc2dgenid1 <http://www.openrdf.org/schema/sesame#directType> <http://xmlns.com/foaf/0.1/Agent> .
       
    50 _:genid2d6c3879d9d2484bd98bb0bcb9dd0364fc2dgenid2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#Resource> .
       
    51 _:genid2d6c3879d9d2484bd98bb0bcb9dd0364fc2dgenid2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Agent> .
       
    52 _:genid2d6c3879d9d2484bd98bb0bcb9dd0364fc2dgenid2 <http://xmlns.com/foaf/0.1/name> "Huck, Dominique" .
       
    53 _:genid2d6c3879d9d2484bd98bb0bcb9dd0364fc2dgenid2 <http://xmlns.com/foaf/0.1/status> "interviewer"^^<http://www.language-archives.org/OLAC/1.1/role> .
       
    54 _:genid2d6c3879d9d2484bd98bb0bcb9dd0364fc2dgenid2 <http://www.openrdf.org/schema/sesame#directType> <http://xmlns.com/foaf/0.1/Agent> .
       
    55 <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-ALA_608> <http://xmlns.com/foaf/0.1/primaryTopic> <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> .
       
    56 EOT;
       
    57 
       
    58     const RES_DOC = <<<EOT
       
    59     @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
    14     @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
    60     @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
    15     @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
    61     @prefix sesame: <http://www.openrdf.org/schema/sesame#> .
    16     @prefix sesame: <http://www.openrdf.org/schema/sesame#> .
    62     @prefix owl: <http://www.w3.org/2002/07/owl#> .
    17     @prefix owl: <http://www.w3.org/2002/07/owl#> .
    63     @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
    18     @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
    64     @prefix fn: <http://www.w3.org/2005/xpath-functions#> .
    19     @prefix fn: <http://www.w3.org/2005/xpath-functions#> .
    65 
    20 
    66     <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> a <http://xmlns.com/foaf/0.1/Document> ;
    21     _:genid-2267740936ad4d04a567e6787732f0dd-genid1 a <http://www.europeana.eu/schemas/edm/Place> ;
       
    22     	owl:sameAs <http://sws.geonames.org/3038033/> ;
       
    23     	<http://www.w3.org/2004/02/skos/core#note> "northlimit=47.431892250000033; southlimit=49.053971250000046;westlimit=6.846186050000028; eastlimit=8.232571550000074;"^^<http://purl.org/dc/terms/Box> , "FR"^^<http://purl.org/dc/terms/ISO3166> , "France, Alsace"@fr .
       
    24 
       
    25     <http://purl.org/poi/corpusdelaparole.huma-num.fr/crdo-ALA_738> a <http://www.openarchives.org/ore/terms/Aggregation> ;
       
    26     	<http://www.europeana.eu/schemas/edm/aggregatedCHO> <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-ALA_738> ;
       
    27     	<http://www.europeana.eu/schemas/edm/dataProvider> "Atlas linguistiques, cultures et parlers régionaux de France" ;
       
    28     	<http://www.europeana.eu/schemas/edm/hasView> <http://cocoon.huma-num.fr/data/ala/ALA_738.mp3> , <http://cocoon.huma-num.fr/data/ala/ALA_738_22km.wav> ;
       
    29     	<http://www.europeana.eu/schemas/edm/isShownAt> <http://cocoon.huma-num.fr/exist/crdo/meta/crdo-ALA_738> ;
       
    30     	<http://www.europeana.eu/schemas/edm/isShownBy> <http://cocoon.huma-num.fr/data/ala/masters/ALA_738.wav> ;
       
    31     	<http://www.europeana.eu/schemas/edm/provider> "Corpus de la Parole"@fr ;
       
    32     	<http://www.europeana.eu/schemas/edm/rights> <http://creativecommons.org/licenses/by-nc-nd/4.0/> .
       
    33 
       
    34     <http://cocoon.huma-num.fr/data/ala/ALA_738.mp3> a <http://www.europeana.eu/schemas/edm/WebResources> ;
       
    35     	<http://purl.org/dc/elements/1.1/format> "audio/mpeg"^^<http://purl.org/dc/terms/IMT> ;
       
    36     	<http://purl.org/dc/terms/created> "1996"^^<http://purl.org/dc/terms/Period> ;
       
    37     	<http://purl.org/dc/terms/extent> "PT01H11M29S" ;
       
    38     	<http://purl.org/dc/terms/issued> "2014-11-10T14:27:08+01:00"^^<http://purl.org/dc/terms/W3CDTF> ;
       
    39     	<http://www.europeana.eu/schemas/edm/isDerivativeOf> <http://cocoon.huma-num.fr/data/ala/masters/ALA_738.wav> .
       
    40 
       
    41     <http://cocoon.huma-num.fr/data/ala/masters/ALA_738.wav> a <http://www.europeana.eu/schemas/edm/WebResources> ;
       
    42     	<http://purl.org/dc/elements/1.1/format> "audio/x-wav"^^<http://purl.org/dc/terms/IMT> ;
       
    43     	<http://purl.org/dc/terms/created> "1996"^^<http://purl.org/dc/terms/Period> ;
       
    44     	<http://purl.org/dc/terms/extent> "PT01H11M29S" ;
       
    45     	<http://purl.org/dc/terms/issued> "2014-11-10T14:27:08+01:00"^^<http://purl.org/dc/terms/W3CDTF> .
       
    46 
       
    47     <http://cocoon.huma-num.fr/data/ala/ALA_738_22km.wav> a <http://www.europeana.eu/schemas/edm/WebResources> ;
       
    48     	<http://purl.org/dc/elements/1.1/format> "audio/x-wav"^^<http://purl.org/dc/terms/IMT> ;
       
    49     	<http://purl.org/dc/terms/created> "1996"^^<http://purl.org/dc/terms/Period> ;
       
    50     	<http://purl.org/dc/terms/extent> "PT01H11M29S" ;
       
    51     	<http://purl.org/dc/terms/issued> "2014-11-10T14:27:08+01:00"^^<http://purl.org/dc/terms/W3CDTF> ;
       
    52     	<http://www.europeana.eu/schemas/edm/isDerivativeOf> <http://cocoon.huma-num.fr/data/ala/masters/ALA_738.wav> .
       
    53 
       
    54     <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-ALA_738> a <http://www.europeana.eu/schemas/edm/ProvidedCHO> ;
       
    55     	<http://purl.org/dc/terms/created> "1996"^^<http://purl.org/dc/terms/Period> ;
       
    56     	<http://purl.org/dc/terms/extent> "PT01H11M29S" ;
       
    57     	<http://purl.org/dc/terms/issued> "2014-11-10T14:27:08+01:00"^^<http://purl.org/dc/terms/W3CDTF> ;
       
    58     	<http://purl.org/dc/elements/1.1/contributor> <http://viaf.org/viaf/61542329> , <http://viaf.org/viaf/9122216> ;
    67     	<http://purl.org/dc/elements/1.1/description> "Extrait des enquêtes dialectologiques en vue de constituer un atlas linguistique de l'Alsace."@fr ;
    59     	<http://purl.org/dc/elements/1.1/description> "Extrait des enquêtes dialectologiques en vue de constituer un atlas linguistique de l'Alsace."@fr ;
    68     	<http://purl.org/dc/elements/1.1/format> "audio/x-wav"^^<http://purl.org/dc/terms/IMT> ;
       
    69     	<http://purl.org/dc/elements/1.1/type> <http://purl.org/dc/dcmitype/Sound> , "primary_text"^^<http://www.language-archives.org/OLAC/1.1/linguistic-type> , "dialogue"^^<http://www.language-archives.org/OLAC/1.1/discourse-type> ;
       
    70     	<http://purl.org/dc/elements/1.1/subject> <http://lexvo.org/id/iso639-3/gsw> , "lexicography"^^<http://www.language-archives.org/OLAC/1.1/linguistic-field> , "phonetics"^^<http://www.language-archives.org/OLAC/1.1/linguistic-field> , "anthropological_linguistics"^^<http://www.language-archives.org/OLAC/1.1/linguistic-field> ;
       
    71     	<http://purl.org/dc/elements/1.1/language> <http://lexvo.org/id/iso639-3/gsw> ;
    60     	<http://purl.org/dc/elements/1.1/language> <http://lexvo.org/id/iso639-3/gsw> ;
    72     	<http://purl.org/dc/elements/1.1/contributor> <http://viaf.org/viaf/9122216> , _:genid-39d722daa01242edb2da8d2d1e71eae7-ED8A67E3CE4C51EA8EDC4ED1190E161A , _:genid-39d722daa01242edb2da8d2d1e71eae7-FD40C63A1295F7BE6765BB87A70CE839 ;
       
    73     	<http://purl.org/dc/elements/1.1/publisher> "Atlas linguistiques, cultures et parlers régionaux de France" ;
    61     	<http://purl.org/dc/elements/1.1/publisher> "Atlas linguistiques, cultures et parlers régionaux de France" ;
    74     	<http://purl.org/dc/elements/1.1/rights> "Copyright (c) Département de dialectologie alsacienne et mosellane de l'Université de Strasbourg" ;
    62     	<http://purl.org/dc/elements/1.1/rights> "Copyright (c) Département de dialectologie alsacienne et mosellane de l'Université de Strasbourg" ;
    75     	<http://purl.org/dc/elements/1.1/title> "Atlas Linguistique et ethnographique de l'Alsace - Enquetes sur la conscience linguistique - ALA_608"@fr ;
    63     	<http://purl.org/dc/elements/1.1/subject> <http://lexvo.org/id/iso639-3/gsw> , <http://ark.bnf.fr/ark:/12148/cb11931472p> , <http://ark.bnf.fr/ark:/12148/cb11931564b> , <http://ark.bnf.fr/ark:/12148/cb11932194d> , <http://ark.bnf.fr/ark:/12148/cb11933029x> , <http://ark.bnf.fr/ark:/12148/cb11933281k> , <http://ark.bnf.fr/ark:/12148/cb11934740m> , <http://ark.bnf.fr/ark:/12148/cb11935375d> , <http://ark.bnf.fr/ark:/12148/cb11935986q> , <http://ark.bnf.fr/ark:/12148/cb11936549n> , <http://ark.bnf.fr/ark:/12148/cb11937931x> , <http://ark.bnf.fr/ark:/12148/cb119392962> , <http://ark.bnf.fr/ark:/12148/cb119458243> , <http://ark.bnf.fr/ark:/12148/cb11946662b> , <http://ark.bnf.fr/ark:/12148/cb11947332t> , <http://ark.bnf.fr/ark:/12148/cb119481497> , <http://ark.bnf.fr/ark:/12148/cb119591726> , <http://ark.bnf.fr/ark:/12148/cb119756721> , <http://ark.bnf.fr/ark:/12148/cb119757609> , <http://ark.bnf.fr/ark:/12148/cb11975806s> , <http://ark.bnf.fr/ark:/12148/cb119759527> , <http://ark.bnf.fr/ark:/12148/cb12032030g> , <http://ark.bnf.fr/ark:/12148/cb12042429k> , <http://ark.bnf.fr/ark:/12148/cb12099148r> , <http://ark.bnf.fr/ark:/12148/cb12148936v> , <http://ark.bnf.fr/ark:/12148/cb12289036m> , <http://ark.bnf.fr/ark:/12148/cb13318335q> , <http://ark.bnf.fr/ark:/12148/cb133183540> , <http://ark.bnf.fr/ark:/12148/cb13318415c> , <http://ark.bnf.fr/ark:/12148/cb13318491g> , "anthropological_linguistics"^^<http://www.language-archives.org/OLAC/1.1/linguistic-field> , "lexicography"^^<http://www.language-archives.org/OLAC/1.1/linguistic-field> , "phonetics"^^<http://www.language-archives.org/OLAC/1.1/linguistic-field> ;
       
    64     	<http://purl.org/dc/elements/1.1/title> "Atlas Linguistique et ethnographique de l'Alsace - Enquetes sur la conscience linguistique - ALA_738"@fr ;
       
    65     	<http://purl.org/dc/elements/1.1/type> <http://ark.bnf.fr/ark:/12148/cb11932135w> , <http://ark.bnf.fr/ark:/12148/cb12481481z> , <http://purl.org/dc/dcmitype/Sound> , "dialogue"^^<http://www.language-archives.org/OLAC/1.1/discourse-type> , "primary_text"^^<http://www.language-archives.org/OLAC/1.1/linguistic-type> ;
    76     	<http://purl.org/dc/terms/accessRights> "Freely available for non-commercial use" ;
    66     	<http://purl.org/dc/terms/accessRights> "Freely available for non-commercial use" ;
       
    67     	<http://purl.org/dc/terms/available> "2004-07-03"^^<http://purl.org/dc/terms/W3CDTF> ;
       
    68     	<http://purl.org/dc/terms/isPartOf> <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-COLLECTION_ALA_CL> , <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-COLLECTION_LANGUESDEFRANCE> ;
    77     	<http://purl.org/dc/terms/license> <http://creativecommons.org/licenses/by-nc-nd/2.5/> ;
    69     	<http://purl.org/dc/terms/license> <http://creativecommons.org/licenses/by-nc-nd/2.5/> ;
    78     	<http://purl.org/dc/terms/isPartOf> <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-COLLECTION_ALA_CL> , <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-COLLECTION_LANGUESDEFRANCE> ;
    70     	<http://purl.org/dc/terms/spatial> _:genid-2267740936ad4d04a567e6787732f0dd-genid1 ;
    79     	<http://purl.org/dc/terms/extent> "PT02H04M16S" ;
    71     	<http://www.language-archives.org/OLAC/1.1/depositor> <http://viaf.org/viaf/9122216> ;
    80     	<http://purl.org/dc/terms/created> "start=1980; end=1989; name=années 80"^^<http://purl.org/dc/terms/Period> ;
    72     	<http://www.language-archives.org/OLAC/1.1/interviewer> <http://viaf.org/viaf/61542329> , <http://viaf.org/viaf/9122216> .
    81     	<http://purl.org/dc/terms/spatial> "France, Alsace"@fr , "FR"^^<http://purl.org/dc/terms/ISO3166> ;
       
    82     	<http://purl.org/dc/terms/isFormatOf> <http://cocoon.huma-num.fr/data/ala/ALA_608.mp3> , <http://cocoon.huma-num.fr/data/ala/masters/ALA_608.wav> ;
       
    83     	<http://purl.org/dc/terms/available> "2004-07-03"^^<http://purl.org/dc/terms/W3CDTF> ;
       
    84     	<http://purl.org/dc/terms/issued> "2014-11-04T16:25:54+01:00"^^<http://purl.org/dc/terms/W3CDTF> .
       
    85 
       
    86     _:genid-39d722daa01242edb2da8d2d1e71eae7-ED8A67E3CE4C51EA8EDC4ED1190E161A a <http://xmlns.com/foaf/0.1/Agent> ;
       
    87     	<http://xmlns.com/foaf/0.1/name> "Bothorel-Witz, Arlette" ;
       
    88     	<http://xmlns.com/foaf/0.1/status> "interviewer"^^<http://www.language-archives.org/OLAC/1.1/role> .
       
    89 
       
    90     _:genid-39d722daa01242edb2da8d2d1e71eae7-FD40C63A1295F7BE6765BB87A70CE839 a <http://xmlns.com/foaf/0.1/Agent> ;
       
    91     	<http://xmlns.com/foaf/0.1/name> "Huck, Dominique" ;
       
    92     	<http://xmlns.com/foaf/0.1/status> "interviewer"^^<http://www.language-archives.org/OLAC/1.1/role> .
       
    93 
       
    94     <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-ALA_608> <http://xmlns.com/foaf/0.1/primaryTopic> <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> .
       
    95 EOT;
    73 EOT;
    96 
       
    97 
    74 
    98     function __construct(string $name = null) {
    75     function __construct(string $name = null) {
    99         parent::__construct($name);
    76         parent::__construct($name);
   100     }
    77     }
   101 
    78 
   102     public function setUp() {
    79     public function setUp() {
   103         parent::setUp();
    80         parent::setUp();
   104         $this->graph = new EasyRdf\Graph("http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-ALA_608", DocumentRepositoryTest::TEST_DOC);
    81         $this->graph = new EasyRdf\Graph("http://purl.org/poi/corpusdelaparole.huma-num.fr/crdo-ALA_738", DocumentRepositoryTest::TEST_DOC);
   105         $this->cocoonDocIdBaseUri = config('corpusparole.cocoon_doc_id_base_uri');
    82         $this->corpusDocIdBaseUri = config('corpusparole.corpus_doc_id_base_uri');
   106     }
    83     }
   107 
    84 
   108     public function tearDown() {
    85     public function tearDown() {
   109         parent::tearDown();
    86         parent::tearDown();
   110     }
    87     }
   111 
    88 
   112 
    89 
   113     public function testAll() {
    90     public function testAll() {
   114         $expectedId = $this->cocoonDocIdBaseUri.'crdo-ALA_608';
    91         $expectedId = $this->corpusDocIdBaseUri.'crdo-ALA_738';
   115         $returnedArray = [
    92         $returnedArray = [
   116             m::mock('resObj', function($mock) use (&$expectedId) {
    93             m::mock('resObj', function($mock) use (&$expectedId) {
   117                 $mock->uri = new EasyRdf\Resource($expectedId);
    94                 $mock->uri = new EasyRdf\Resource($expectedId);
   118             }),
    95             }),
   119         ];
    96         ];
   127 
   104 
   128         $this->assertCount(1, $res, "Should have 1 doc in res");
   105         $this->assertCount(1, $res, "Should have 1 doc in res");
   129         $resDoc = $res[0];
   106         $resDoc = $res[0];
   130 
   107 
   131         $this->assertInstanceOf(Document::class, $resDoc, "Res doc must be a Document");
   108         $this->assertInstanceOf(Document::class, $resDoc, "Res doc must be a Document");
   132         $this->assertEquals('crdo-ALA_608', $resDoc->getId(), "id must be crdo...");
   109         $this->assertEquals('crdo-ALA_738', $resDoc->getId(), "id must be crdo...");
   133         $this->assertEquals($expectedId, $resDoc->getUri(), 'url must be ...');
   110         $this->assertEquals($expectedId, $resDoc->getUri(), 'url must be ...');
   134         $this->assertNull($resDoc->getGraph(), 'Graph must be null');
   111         $this->assertNull($resDoc->getGraph(), 'Graph must be null');
   135     }
   112     }
   136 
   113 
   137     public function testGet() {
   114     public function testGet() {
   138 
   115 
   139         $expectedId = $this->cocoonDocIdBaseUri.'crdo-ALA_608';
   116         $expectedId = $this->corpusDocIdBaseUri.'crdo-ALA_738';
   140         $returnedGraph = new EasyRdf\Graph($expectedId, DocumentRepositoryTest::RES_DOC);
   117         $returnedGraph = new EasyRdf\Graph($expectedId, DocumentRepositoryTest::TEST_DOC);
   141 
   118 
   142         $sparqlClientMock = m::mock('CorpusParole\Libraries\Sparql\SparqlClient');
   119         $sparqlClientMock = m::mock('CorpusParole\Libraries\Sparql\SparqlClient');
   143         $sparqlClientMock->shouldReceive('query')->with(containsString($expectedId))
   120         $sparqlClientMock->shouldReceive('query')->with(containsString($expectedId))
   144                 ->andReturn($returnedGraph);
   121                 ->andReturn($returnedGraph);
   145         $documentRepository = $this->app->make('CorpusParole\Repositories\RdfDocumentRepository', [$sparqlClientMock]);
   122         $documentRepository = $this->app->make('CorpusParole\Repositories\RdfDocumentRepository', [$sparqlClientMock]);
   146 
   123 
   147         $res = $documentRepository->get('crdo-ALA_608');
   124         $res = $documentRepository->get('crdo-ALA_738');
   148 
   125 
   149         $this->assertInstanceOf(Document::class, $res, "Result must be of type Document");
   126         $this->assertInstanceOf(Document::class, $res, "Result must be of type Document");
   150         $this->assertEquals('crdo-ALA_608', $res->getId(), 'id should be crdo-ALA_608' );
   127         $this->assertEquals('crdo-ALA_738', $res->getId(), 'id should be crdo-ALA_738' );
   151         $this->assertNotNull($res->getGraph(), "Graph shoul not be null");
   128         $this->assertNotNull($res->getGraph(), "Graph shoul not be null");
   152         $this->assertTrue(EasyRdf\Isomorphic::isomorphic($res->getGraph(), new EasyRdf\Graph($expectedId, DocumentRepositoryTest::RES_DOC)));
   129         $this->assertTrue(EasyRdf\Isomorphic::isomorphic($res->getGraph(), new EasyRdf\Graph($expectedId, DocumentRepositoryTest::TEST_DOC)));
   153     }
   130     }
   154 
   131 
   155     public function testSave() {
   132     public function testSave() {
   156 
   133 
   157         $sparqlClientMock = m::mock('CorpusParole\Libraries\Sparql\SparqlClient', function($mock) {
   134         $sparqlClientMock = m::mock('CorpusParole\Libraries\Sparql\SparqlClient', function($mock) {
   160                 ->shouldReceive('commit')->andReturn(true);
   137                 ->shouldReceive('commit')->andReturn(true);
   161         });
   138         });
   162         $documentRepository = $this->app->make('CorpusParole\Repositories\RdfDocumentRepository', [$sparqlClientMock]);
   139         $documentRepository = $this->app->make('CorpusParole\Repositories\RdfDocumentRepository', [$sparqlClientMock]);
   163 
   140 
   164 
   141 
   165         $doc = new Document("http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-ALA_608", $this->graph);
   142         $doc = new Document("http://purl.org/poi/corpusdelaparole.huma-num.fr/crdo-ALA_738", $this->graph);
   166         $doc->updateDiscourseTypes(['oratory','drama','narrative']);
   143         $doc->updateDiscourseTypes(['oratory','drama','narrative']);
   167 
   144 
   168         $res = $documentRepository->save($doc);
   145         $res = $documentRepository->save($doc);
   169 
   146 
   170         $this->assertTrue($res, 'Has started a transaction');
   147         $this->assertTrue($res, 'Has started a transaction');
   182         $sparqlClientMock = m::mock('CorpusParole\Libraries\Sparql\SparqlClient');
   159         $sparqlClientMock = m::mock('CorpusParole\Libraries\Sparql\SparqlClient');
   183         $sparqlClientMock->shouldReceive('query')->with(containsString("COUNT"))
   160         $sparqlClientMock->shouldReceive('query')->with(containsString("COUNT"))
   184                 ->andReturn($returnedCount);
   161                 ->andReturn($returnedCount);
   185         $documentRepository = $this->app->make('CorpusParole\Repositories\RdfDocumentRepository', [$sparqlClientMock]);
   162         $documentRepository = $this->app->make('CorpusParole\Repositories\RdfDocumentRepository', [$sparqlClientMock]);
   186 
   163 
   187 
       
   188 
       
   189     }
   164     }
   190 
   165 
   191 }
   166 }