server/src/tests/Repositories/DocumentRepositoryIntegrationTest.php
changeset 143 023b6d467566
parent 122 b37fde30dd4a
child 168 17f10b56c079
equal deleted inserted replaced
142:86fcf0c837c0 143:023b6d467566
    40     @prefix owl: <http://www.w3.org/2002/07/owl#> .
    40     @prefix owl: <http://www.w3.org/2002/07/owl#> .
    41     @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
    41     @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
    42     @prefix fn: <http://www.w3.org/2005/xpath-functions#> .
    42     @prefix fn: <http://www.w3.org/2005/xpath-functions#> .
    43 
    43 
    44     _:genid-2267740936ad4d04a567e6787732f0dd-genid1 a <http://www.europeana.eu/schemas/edm/Place> ;
    44     _:genid-2267740936ad4d04a567e6787732f0dd-genid1 a <http://www.europeana.eu/schemas/edm/Place> ;
    45     	owl:sameAs <http://sws.geonames.org/3038033/> ;
    45         owl:sameAs <http://sws.geonames.org/3038033/> ;
    46     	<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 .
    46         <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 .
    47 
    47 
    48     <http://corpusdelaparole.huma-num.fr/corpus/res/crdo-ALA_738> a <http://www.openarchives.org/ore/terms/Aggregation> ;
    48     <%1\$scrdo-ALA_738> a <http://www.openarchives.org/ore/terms/Aggregation> ;
    49     	<http://www.europeana.eu/schemas/edm/aggregatedCHO> <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-ALA_738> ;
    49         <http://www.europeana.eu/schemas/edm/aggregatedCHO> <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-ALA_738> ;
    50     	<http://www.europeana.eu/schemas/edm/dataProvider> "Atlas linguistiques, cultures et parlers régionaux de France" ;
    50         <http://www.europeana.eu/schemas/edm/dataProvider> "Atlas linguistiques, cultures et parlers régionaux de France" ;
    51     	<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> ;
    51         <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> ;
    52     	<http://www.europeana.eu/schemas/edm/isShownAt> <http://corpusdelaparole.huma-num.fr/corpus-app#/detail/crdo-ALA_738> ;
    52         <http://www.europeana.eu/schemas/edm/isShownAt> <http://corpusdelaparole.huma-num.fr/corpus-app#/detail/crdo-ALA_738> ;
    53     	<http://www.europeana.eu/schemas/edm/isShownBy> <http://cocoon.huma-num.fr/data/ala/masters/ALA_738.wav> ;
    53         <http://www.europeana.eu/schemas/edm/isShownBy> <http://cocoon.huma-num.fr/data/ala/masters/ALA_738.wav> ;
    54     	<http://www.europeana.eu/schemas/edm/provider> "Corpus de la Parole"@fr ;
    54         <http://www.europeana.eu/schemas/edm/provider> "Corpus de la Parole"@fr ;
    55     	<http://www.europeana.eu/schemas/edm/rights> <http://creativecommons.org/licenses/by-nc-nd/4.0/> .
    55         <http://www.europeana.eu/schemas/edm/rights> <http://creativecommons.org/licenses/by-nc-nd/4.0/> .
    56 
    56 
    57     <http://cocoon.huma-num.fr/data/ala/ALA_738.mp3> a <http://www.europeana.eu/schemas/edm/WebResource> ;
    57     <http://cocoon.huma-num.fr/data/ala/ALA_738.mp3> a <http://www.europeana.eu/schemas/edm/WebResource> ;
    58     	<http://purl.org/dc/elements/1.1/format> "audio/mpeg"^^<http://purl.org/dc/terms/IMT> ;
    58         <http://purl.org/dc/elements/1.1/format> "audio/mpeg"^^<http://purl.org/dc/terms/IMT> ;
    59     	<http://purl.org/dc/terms/created> "1996"^^<http://purl.org/dc/terms/Period> ;
    59         <http://purl.org/dc/terms/created> "1996"^^<http://purl.org/dc/terms/Period> ;
    60     	<http://purl.org/dc/terms/extent> "PT01H11M29S" ;
    60         <http://purl.org/dc/terms/extent> "PT01H11M29S" ;
    61     	<http://purl.org/dc/terms/issued> "2014-11-10T14:27:08+01:00"^^<http://purl.org/dc/terms/W3CDTF> ;
    61         <http://purl.org/dc/terms/issued> "2014-11-10T14:27:08+01:00"^^<http://purl.org/dc/terms/W3CDTF> ;
    62     	<http://www.europeana.eu/schemas/edm/isDerivativeOf> <http://cocoon.huma-num.fr/data/ala/masters/ALA_738.wav> .
    62         <http://www.europeana.eu/schemas/edm/isDerivativeOf> <http://cocoon.huma-num.fr/data/ala/masters/ALA_738.wav> .
    63 
    63 
    64     <http://cocoon.huma-num.fr/data/ala/masters/ALA_738.wav> a <http://www.europeana.eu/schemas/edm/WebResource> ;
    64     <http://cocoon.huma-num.fr/data/ala/masters/ALA_738.wav> a <http://www.europeana.eu/schemas/edm/WebResource> ;
    65     	<http://purl.org/dc/elements/1.1/format> "audio/x-wav"^^<http://purl.org/dc/terms/IMT> ;
    65         <http://purl.org/dc/elements/1.1/format> "audio/x-wav"^^<http://purl.org/dc/terms/IMT> ;
    66     	<http://purl.org/dc/terms/created> "1996"^^<http://purl.org/dc/terms/Period> ;
    66         <http://purl.org/dc/terms/created> "1996"^^<http://purl.org/dc/terms/Period> ;
    67     	<http://purl.org/dc/terms/extent> "PT01H11M29S" ;
    67         <http://purl.org/dc/terms/extent> "PT01H11M29S" ;
    68     	<http://purl.org/dc/terms/issued> "2014-11-10T14:27:08+01:00"^^<http://purl.org/dc/terms/W3CDTF> .
    68         <http://purl.org/dc/terms/issued> "2014-11-10T14:27:08+01:00"^^<http://purl.org/dc/terms/W3CDTF> .
    69 
    69 
    70     <http://cocoon.huma-num.fr/data/ala/ALA_738_22km.wav> a <http://www.europeana.eu/schemas/edm/WebResource> ;
    70     <http://cocoon.huma-num.fr/data/ala/ALA_738_22km.wav> a <http://www.europeana.eu/schemas/edm/WebResource> ;
    71     	<http://purl.org/dc/elements/1.1/format> "audio/x-wav"^^<http://purl.org/dc/terms/IMT> ;
    71         <http://purl.org/dc/elements/1.1/format> "audio/x-wav"^^<http://purl.org/dc/terms/IMT> ;
    72     	<http://purl.org/dc/terms/created> "1996"^^<http://purl.org/dc/terms/Period> ;
    72         <http://purl.org/dc/terms/created> "1996"^^<http://purl.org/dc/terms/Period> ;
    73     	<http://purl.org/dc/terms/extent> "PT01H11M29S" ;
    73         <http://purl.org/dc/terms/extent> "PT01H11M29S" ;
    74     	<http://purl.org/dc/terms/issued> "2014-11-10T14:27:08+01:00"^^<http://purl.org/dc/terms/W3CDTF> ;
    74         <http://purl.org/dc/terms/issued> "2014-11-10T14:27:08+01:00"^^<http://purl.org/dc/terms/W3CDTF> ;
    75     	<http://www.europeana.eu/schemas/edm/isDerivativeOf> <http://cocoon.huma-num.fr/data/ala/masters/ALA_738.wav> .
    75         <http://www.europeana.eu/schemas/edm/isDerivativeOf> <http://cocoon.huma-num.fr/data/ala/masters/ALA_738.wav> .
    76 
    76 
    77     <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-ALA_738> a <http://www.europeana.eu/schemas/edm/ProvidedCHO> ;
    77     <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-ALA_738> a <http://www.europeana.eu/schemas/edm/ProvidedCHO> ;
    78     	<http://purl.org/dc/terms/created> "1996"^^<http://purl.org/dc/terms/Period> ;
    78         <http://purl.org/dc/terms/created> "1996"^^<http://purl.org/dc/terms/Period> ;
    79     	<http://purl.org/dc/terms/extent> "PT01H11M29S" ;
    79         <http://purl.org/dc/terms/extent> "PT01H11M29S" ;
    80     	<http://purl.org/dc/terms/issued> "2014-11-10T14:27:08+01:00"^^<http://purl.org/dc/terms/W3CDTF> ;
    80         <http://purl.org/dc/terms/issued> "2014-11-10T14:27:08+01:00"^^<http://purl.org/dc/terms/W3CDTF> ;
    81     	<http://purl.org/dc/elements/1.1/contributor> <http://viaf.org/viaf/61542329> , <http://viaf.org/viaf/9122216> ;
    81         <http://purl.org/dc/elements/1.1/contributor> <http://viaf.org/viaf/61542329> , <http://viaf.org/viaf/9122216> ;
    82     	<http://purl.org/dc/elements/1.1/description> "Extrait des enquêtes dialectologiques en vue de constituer un atlas linguistique de l'Alsace."@fr ;
    82         <http://purl.org/dc/elements/1.1/description> "Extrait des enquêtes dialectologiques en vue de constituer un atlas linguistique de l'Alsace."@fr ;
    83     	<http://purl.org/dc/elements/1.1/language> <http://lexvo.org/id/iso639-3/gsw> ;
    83         <http://purl.org/dc/elements/1.1/language> <http://lexvo.org/id/iso639-3/gsw> ;
    84     	<http://purl.org/dc/elements/1.1/publisher> "Atlas linguistiques, cultures et parlers régionaux de France" ;
    84         <http://purl.org/dc/elements/1.1/publisher> "Atlas linguistiques, cultures et parlers régionaux de France" ;
    85     	<http://purl.org/dc/elements/1.1/rights> "Copyright (c) Département de dialectologie alsacienne et mosellane de l'Université de Strasbourg" ;
    85         <http://purl.org/dc/elements/1.1/rights> "Copyright (c) Département de dialectologie alsacienne et mosellane de l'Université de Strasbourg" ;
    86     	<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> ;
    86         <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> ;
    87     	<http://purl.org/dc/elements/1.1/title> "Atlas Linguistique et ethnographique de l'Alsace - Enquetes sur la conscience linguistique - ALA_738"@fr ;
    87         <http://purl.org/dc/elements/1.1/title> "Atlas Linguistique et ethnographique de l'Alsace - Enquetes sur la conscience linguistique - ALA_738"@fr ;
    88     	<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> ;
    88         <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> ;
    89     	<http://purl.org/dc/terms/accessRights> "Freely available for non-commercial use" ;
    89         <http://purl.org/dc/terms/accessRights> "Freely available for non-commercial use" ;
    90     	<http://purl.org/dc/terms/available> "2004-07-03"^^<http://purl.org/dc/terms/W3CDTF> ;
    90         <http://purl.org/dc/terms/available> "2004-07-03"^^<http://purl.org/dc/terms/W3CDTF> ;
    91     	<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> ;
    91         <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> ;
    92     	<http://purl.org/dc/terms/license> <http://creativecommons.org/licenses/by-nc-nd/2.5/> ;
    92         <http://purl.org/dc/terms/license> <http://creativecommons.org/licenses/by-nc-nd/2.5/> ;
    93     	<http://purl.org/dc/terms/spatial> _:genid-2267740936ad4d04a567e6787732f0dd-genid1 ;
    93         <http://purl.org/dc/terms/spatial> _:genid-2267740936ad4d04a567e6787732f0dd-genid1 ;
    94     	<http://www.language-archives.org/OLAC/1.1/depositor> <http://viaf.org/viaf/9122216> ;
    94         <http://www.language-archives.org/OLAC/1.1/depositor> <http://viaf.org/viaf/9122216> ;
    95     	<http://www.language-archives.org/OLAC/1.1/interviewer> <http://viaf.org/viaf/61542329> , <http://viaf.org/viaf/9122216> .
    95         <http://www.language-archives.org/OLAC/1.1/interviewer> <http://viaf.org/viaf/61542329> , <http://viaf.org/viaf/9122216> .
    96 EOT;
    96 EOT;
    97 
    97 
    98     function __construct(string $name = null) {
    98     function __construct(string $name = null) {
    99         parent::__construct($name);
    99         parent::__construct($name);
   100         $this->graph = new EasyRdf\Graph("http://corpusdelaparole.huma-num.fr/corpus/res/crdo-ALA_738", DocumentRepositoryIntegrationTest::TEST_DOC);
       
   101     }
   100     }
   102 
   101 
   103     public function setUp() {
   102     public function setUp() {
   104         parent::setUp();
   103         parent::setUp();
       
   104         $this->graph = new EasyRdf\Graph(config('corpusparole.corpus_doc_id_base_uri')."crdo-ALA_738", sprintf(DocumentRepositoryIntegrationTest::TEST_DOC, config('corpusparole.corpus_doc_id_base_uri')));
   105 
   105 
   106         $this->httpClient = new Client(['base_uri' => config('corpusparole.sesame_base_url')]);
   106         $this->httpClient = new Client(['base_uri' => config('corpusparole.sesame_base_url')]);
   107         $this->sesameRepository = config('corpusparole.sesame_repository');
   107         $this->sesameRepository = config('corpusparole.sesame_repository');
   108         $this->corpusDocIdBaseUri = config('corpusparole.corpus_doc_id_base_uri');
   108         $this->corpusDocIdBaseUri = config('corpusparole.corpus_doc_id_base_uri');
   109 
   109 
   116             'query' => ['context' => "_:$uniqueid"],
   116             'query' => ['context' => "_:$uniqueid"],
   117             'body' => $repoCreateStmt,
   117             'body' => $repoCreateStmt,
   118         ]);
   118         ]);
   119         $this->httpClient->put("repositories/$this->sesameRepository/statements", [
   119         $this->httpClient->put("repositories/$this->sesameRepository/statements", [
   120             'headers' => ['Content-type' => 'text/turtle;charset=UTF-8'],
   120             'headers' => ['Content-type' => 'text/turtle;charset=UTF-8'],
   121             'body' => DocumentRepositoryIntegrationTest::TEST_DOC,
   121             'body' => sprintf(DocumentRepositoryIntegrationTest::TEST_DOC, config('corpusparole.corpus_doc_id_base_uri')),
   122             'query' => ['context' => '<http://corpusdelaparole.huma-num.fr/corpus/res/crdo-ALA_738>'],
   122             'query' => ['context' => "<".config('corpusparole.corpus_doc_id_base_uri')."crdo-ALA_738>"],
   123         ]);
   123         ]);
   124     }
   124     }
   125 
   125 
   126     public function tearDown() {
   126     public function tearDown() {
   127         //$this->httpClient->delete("repositories/$this->sesameRepository");
   127         //$this->httpClient->delete("repositories/$this->sesameRepository");
   134         $this->assertCount(1, $docList, "Should have one element");
   134         $this->assertCount(1, $docList, "Should have one element");
   135 
   135 
   136         $resDoc = $docList[0];
   136         $resDoc = $docList[0];
   137 
   137 
   138         $this->assertInstanceOf(Document::class, $resDoc, "Res doc must be a Document");
   138         $this->assertInstanceOf(Document::class, $resDoc, "Res doc must be a Document");
   139         $this->assertEquals('corpusparole:crdo-ALA_738', $resDoc->getId(), "id must be crdo...");
   139         $this->assertEquals(config('corpusparole.corpus_id_scheme').'crdo-ALA_738', $resDoc->getId(), "id must be crdo...");
   140         $this->assertEquals($expectedId, $resDoc->getUri(), 'url must be ...');
   140         $this->assertEquals($expectedId, $resDoc->getUri(), 'url must be ...');
   141         $this->assertNotNull($resDoc->getGraph(), 'Graph must not be null');
   141         $this->assertNotNull($resDoc->getGraph(), 'Graph must not be null');
   142 
   142 
   143     }
   143     }
   144 
   144 
   145     public function testGet() {
   145     public function testGet() {
   146 
   146 
   147         $expectedId = $this->corpusDocIdBaseUri.'crdo-ALA_738';
   147         $expectedId = $this->corpusDocIdBaseUri.'crdo-ALA_738';
   148         $returnedGraph = new EasyRdf\Graph($expectedId, DocumentRepositoryIntegrationTest::TEST_DOC);
   148         $returnedGraph = new EasyRdf\Graph($expectedId, sprintf(DocumentRepositoryIntegrationTest::TEST_DOC,config('corpusparole.corpus_doc_id_base_uri')));
   149 
   149 
   150         $res = $this->documentRepository->get('crdo-ALA_738');
   150         $res = $this->documentRepository->get('crdo-ALA_738');
   151 
   151 
   152         $this->assertInstanceOf(Document::class, $res, "Result must be of type Document");
   152         $this->assertInstanceOf(Document::class, $res, "Result must be of type Document");
   153         $this->assertEquals('corpusparole:crdo-ALA_738', $res->getId(), 'id should be crdo-ALA_738' );
   153         $this->assertEquals(config('corpusparole.corpus_id_scheme').'crdo-ALA_738', $res->getId(), 'id should be crdo-ALA_738' );
   154         $this->assertNotNull($res->getGraph(), "Graph shoul not be null");
   154         $this->assertNotNull($res->getGraph(), "Graph shoul not be null");
   155         $this->assertEquals("http://corpusdelaparole.huma-num.fr/corpus/res/crdo-ALA_738",$res->getGraph()->getUri(), "uri of graph must be http://corpusdelaparole.huma-num.fr/corpus/res/crdo-ALA_738");
   155         $this->assertEquals(config('corpusparole.corpus_doc_id_base_uri')."crdo-ALA_738",$res->getGraph()->getUri(), "uri of graph must be ".config('corpusparole.corpus_doc_id_base_uri')."crdo-ALA_738");
   156         $this->assertTrue(EasyRdf\Isomorphic::isomorphic($res->getGraph(),$returnedGraph));
   156         $this->assertTrue(EasyRdf\Isomorphic::isomorphic($res->getGraph(),$returnedGraph));
   157     }
   157     }
   158 
   158 
   159     public function testSave() {
   159     public function testSave() {
   160 
   160 
   161         $doc = new Document("http://corpusdelaparole.huma-num.fr/corpus/res/crdo-ALA_738", $this->graph);
   161         $doc = new Document(config('corpusparole.corpus_doc_id_base_uri')."crdo-ALA_738", $this->graph);
   162         $doc->updateDiscourseTypes(['oratory','drama','narrative']);
   162         $doc->updateDiscourseTypes(['oratory','drama','narrative']);
   163 
   163 
   164         $res = $this->documentRepository->save($doc);
   164         $res = $this->documentRepository->save($doc);
   165 
   165 
   166         $this->assertTrue($res, 'Has started a transaction');
   166         $this->assertTrue($res, 'Has started a transaction');