From 46144de0a7343e9ca7d1da8a652ce9b6d56730ea Mon Sep 17 00:00:00 2001 From: Daniel Siepmann Date: Tue, 16 Feb 2021 17:12:47 +0100 Subject: [PATCH] Add first functional tests for import To ensure the whole process is still working. Setup environment and execute request of backend module through extbase. Ensure expected records are created. --- .../GET_db6ddab431e478674213d8b4742da8d9.txt | 19 ++ .../GET_743108148f233523cbdd774d53b73035.txt | 19 ++ .../GET_fb3c1440c67b1c9a421a2df91f8048f9.txt | 19 ++ .../GET_dffece5d931faa885ff4e226eb9e3b5c.txt | 19 ++ .../GET_c2346e6661c475f03f5daaa8d12555e6.txt | 19 ++ .../GET_ad20c0db0ea2cf3000ca2738f00dd421.txt | 19 ++ .../GET_a8efc4904f4ce96380b8a4fee43396eb.txt | 19 ++ .../GET_047397c88c8cb1bb5514d4d3ef4b4839.txt | 19 ++ .../GET_a7dd3aa49ff3a80ac1524e59372926a2.txt | 19 ++ .../GET_65121b6b76684cbe0900c1c2c82f25a6.txt | 19 ++ .../GET_cba3d653d6c1d8522d62bb834e654fab.txt | 19 ++ .../GET_f02dc2b752cd9fa52a7adb749e9ccfe2.txt | 19 ++ .../Import/ImportsFreshOrganization.xml | 47 +++ ...ImportsTouristAttractionsWithRelations.xml | 94 ++++++ .../Import/UpdatesExistingOrganization.xml | 58 ++++ Tests/Functional/ImportTest.php | 274 ++++++++++++++++++ composer.json | 4 +- phpunit.xml.dist | 5 +- 18 files changed, 708 insertions(+), 2 deletions(-) create mode 100644 Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/018132452787-ngbe/GET_db6ddab431e478674213d8b4742da8d9.txt create mode 100644 Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/043064193523-jcyt/GET_743108148f233523cbdd774d53b73035.txt create mode 100644 Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/165868194223-zmqf/GET_fb3c1440c67b1c9a421a2df91f8048f9.txt create mode 100644 Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/215230952334-yyno/GET_dffece5d931faa885ff4e226eb9e3b5c.txt create mode 100644 Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/333039283321-xxwg/GET_c2346e6661c475f03f5daaa8d12555e6.txt create mode 100644 Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/835224016581-dara/GET_ad20c0db0ea2cf3000ca2738f00dd421.txt create mode 100644 Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/dms_134288/GET_a8efc4904f4ce96380b8a4fee43396eb.txt create mode 100644 Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/dms_134362/GET_047397c88c8cb1bb5514d4d3ef4b4839.txt create mode 100644 Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/dms_5099196/GET_a7dd3aa49ff3a80ac1524e59372926a2.txt create mode 100644 Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/dms_5159186/GET_65121b6b76684cbe0900c1c2c82f25a6.txt create mode 100644 Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/dms_5159216/GET_cba3d653d6c1d8522d62bb834e654fab.txt create mode 100644 Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/dms_652340/GET_f02dc2b752cd9fa52a7adb749e9ccfe2.txt create mode 100644 Tests/Functional/Fixtures/Import/ImportsFreshOrganization.xml create mode 100644 Tests/Functional/Fixtures/Import/ImportsTouristAttractionsWithRelations.xml create mode 100644 Tests/Functional/Fixtures/Import/UpdatesExistingOrganization.xml create mode 100644 Tests/Functional/ImportTest.php diff --git a/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/018132452787-ngbe/GET_db6ddab431e478674213d8b4742da8d9.txt b/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/018132452787-ngbe/GET_db6ddab431e478674213d8b4742da8d9.txt new file mode 100644 index 0000000..3b5b83a --- /dev/null +++ b/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/018132452787-ngbe/GET_db6ddab431e478674213d8b4742da8d9.txt @@ -0,0 +1,19 @@ +HTTP/1.1 200 OK +Date: Wed, 17 Feb 2021 08:02:02 GMT +Content-Type: application/ld+json; charset=utf-8 +Content-Length: 5022 +Connection: keep-alive +Set-Cookie: ahSession=888eb5d2b37183f9da12f899eb1edd7560d7cbca;path=/;expires=Sat, 20 Mar 2021 08:02:02 GMT;httpOnly=true; +Access-Control-Allow-Methods: HEAD, GET, POST, DELETE, OPTIONS +Access-Control-Allow-Headers: Authorization, Content-Type +Strict-Transport-Security: max-age=15724800; includeSubDomains +Access-Control-Allow-Credentials: true +X-Frame-Options: deny +X-XSS-Protection: 1; mode=block +X-Content-Type-Options: nosniff +Referrer-Policy: same-origin +Feature-Policy: microphone 'none'; camera 'none'; payment 'none' +Content-Security-Policy: default-src 'self'; script-src 'self' 'sha256-xfTbtWk8kVI65iLJs8LB3lWf2g0g10DS71pDdoutFHc='; style-src 'self' 'unsafe-inline' https://stackpath.bootstrapcdn.com; img-src 'self' data: blob: * +Access-Control-Allow-Origin: https://cdb.thuecat.org + +{"@context":{"schema":"http://schema.org/","dbo":"http://dbpedia.org/ontology/","dsv":"http://ontologies.sti-innsbruck.at/dsv/","foaf":"http://xmlns.com/foaf/0.1/","owl":"http://www.w3.org/2002/07/owl#","rdf":"http://www.w3.org/1999/02/22-rdf-syntax-ns#","rdfs":"http://www.w3.org/2000/01/rdf-schema#","sh":"http://www.w3.org/ns/shacl#","xsd":"http://www.w3.org/2001/XMLSchema#","ttgds":"https://thuecat.org/ontology/ttgds/1.0/","cdb":"https://thuecat.org/ontology/cdb/1.0/","dachkg":"https://thuecat.org/ontology/dachkg/1.0/","thuecat":"https://thuecat.org/ontology/thuecat/1.0/"},"@graph":[{"@id":"https://thuecat.org/resources/018132452787-ngbe","@type":["schema:Organization","schema:Thing","ttgds:Organization","thuecat:TouristMarketingCompany"],"rdfs:label":{"@language":"de","@value":"Erfurt Tourismus und Marketing GmbH"},"schema:description":{"@language":"de","@value":"Die Erfurt Tourismus & Marketing GmbH (ETMG) wurde 1997 als offizielle Organisation zur Tourismusförderung in der Landeshauptstadt Erfurt gegründet und nahm am 01.01.1998 die Geschäftstätigkeit auf.\n\nZu den Aufgaben zählen die kommunale Tourismusförderung als wesentliches Instrument der Wirtschafts- und Stadtentwicklung der Landeshauptstadt Erfurt, die Positionierung der Stadt Erfurt auf dem nationalen und internationalen Tourismusmarkt als dynamische und sympathische Landeshauptstadt, attraktives Städtereiseziel und Tagungsstandort, die Vervollkommnung des touristischen Serviceangebotes entsprechend den Bedürfnissen der individuellen Gäste und der Tourismuswirtschaft und das Betreiben der Erfurt Tourist Information.\n\nIm Januar 2009 wurde das Marketing für die Landeshauptstadt Erfurt an die ETMG übertragen und neu geordnet. Die Hauptaufgaben im Stadtmarketing liegen darin, die Wahrnehmung der Stadt in folgenden Bereichen zu verstärken: traditionsreicher und innovativer Wirtschaftsstandort, lebendiger und kreativer Wissenschaftsstandort, attraktiver Wohnstandort mit Flair und Sportstandort mit exzellenten Bedingungen für Nachwuchs- und Spitzensportler.\n\nGesellschafter: Stadt Erfurt\n\nGeschäftsführerin: Frau Dr. Carmen Hildebrandt\n\nAufsichtsratsvorsitzender: Herr Dominik Kordon\n\nMitarbeiter: ca. 30 Angestellte, 4 Auszubildende"},"schema:name":{"@language":"de","@value":"Erfurt Tourismus und Marketing GmbH"},"schema:hasMap":{"@type":"schema:URL","@value":"https://www.google.de/maps/place/Benediktspl.+1,+99084+Erfurt/@50.9784152,11.0276505,17z/data=!4m13!1m7!3m6!1s0x47a472961021c18b:0xc2d4b6b7eb27d4c1!2sBenediktspl.+1,+99084+Erfurt!3b1!8m2!3d50.9784118!4d11.0298392!3m4!1s0x47a472961021c18b:0xc2d4b6b7eb27d4c1!8m2!3d50.9784118!4d11.0298392?hl=de"},"schema:geo":{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b74253","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:GeoCoordinates"],"schema:longitude":{"@type":"schema:Number","@value":"11.029873"},"schema:latitude":{"@type":"schema:Number","@value":"50.978437"}},"schema:openingHoursSpecification":{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b74254","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:OpeningHoursSpecification"],"schema:validFrom":{"@type":"schema:Date","@value":"2020-12-01"},"schema:dayOfWeek":[{"@type":"schema:DayOfWeek","@value":"schema:Friday"},{"@type":"schema:DayOfWeek","@value":"schema:Thursday"},{"@type":"schema:DayOfWeek","@value":"schema:Tuesday"},{"@type":"schema:DayOfWeek","@value":"schema:Monday"},{"@type":"schema:DayOfWeek","@value":"schema:Wednesday"}],"schema:opens":{"@type":"schema:Time","@value":"08:30:00"},"schema:validThrough":{"@type":"schema:Date","@value":"2021-12-31"},"schema:closes":{"@type":"schema:Time","@value":"16:00:00"}},"schema:url":{"@type":"schema:URL","@value":"https://www.erfurt-tourismus.de/en/"},"schema:address":{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b74252","@type":["schema:Intangible","schema:PostalAddress","schema:StructuredValue","schema:Thing","schema:ContactPoint"],"schema:addressLocality":{"@language":"de","@value":"Erfurt"},"schema:addressCountry":{"@type":"thuecat:AddressCountry","@value":"thuecat:Germany"},"schema:postalCode":{"@language":"de","@value":"99084"},"schema:addressRegion":{"@type":"thuecat:AddressFederalState","@value":"thuecat:Thuringia"},"schema:telephone":{"@language":"de","@value":"+49 361 66 40 200"},"schema:email":{"@language":"de","@value":"management@erfurt-tourismus.de"},"schema:streetAddress":{"@language":"de","@value":"Benediktsplatz 1"},"schema:faxNumber":{"@language":"de","@value":"+49 361 66 40 290"},"thuecat:typOfAddress":[{"@type":"thuecat:TypOfAddress","@value":"thuecat:HouseAddress"},{"@type":"thuecat:TypOfAddress","@value":"thuecat:PostalAddressEnum"},{"@type":"thuecat:TypOfAddress","@value":"thuecat:BillingAddress"}]},"thuecat:contentResponsible":{"@id":"https://thuecat.org/resources/018132452787-ngbe"},"thuecat:managedObjects":[{"@id":"https://thuecat.org/resources/333039283321-xxwg"},{"@id":"https://thuecat.org/resources/186583376407-xkwx"}]}]} \ No newline at end of file diff --git a/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/043064193523-jcyt/GET_743108148f233523cbdd774d53b73035.txt b/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/043064193523-jcyt/GET_743108148f233523cbdd774d53b73035.txt new file mode 100644 index 0000000..eb049c4 --- /dev/null +++ b/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/043064193523-jcyt/GET_743108148f233523cbdd774d53b73035.txt @@ -0,0 +1,19 @@ +HTTP/1.1 200 OK +Date: Wed, 17 Feb 2021 08:02:02 GMT +Content-Type: application/ld+json; charset=utf-8 +Content-Length: 16914 +Connection: keep-alive +Set-Cookie: ahSession=4b30b79470f04b8e7f58304a86c8c09449b0793e;path=/;expires=Sat, 20 Mar 2021 08:02:02 GMT;httpOnly=true; +Access-Control-Allow-Methods: HEAD, GET, POST, DELETE, OPTIONS +Access-Control-Allow-Headers: Authorization, Content-Type +Strict-Transport-Security: max-age=15724800; includeSubDomains +Access-Control-Allow-Credentials: true +X-Frame-Options: deny +X-XSS-Protection: 1; mode=block +X-Content-Type-Options: nosniff +Referrer-Policy: same-origin +Feature-Policy: microphone 'none'; camera 'none'; payment 'none' +Content-Security-Policy: default-src 'self'; script-src 'self' 'sha256-xfTbtWk8kVI65iLJs8LB3lWf2g0g10DS71pDdoutFHc='; style-src 'self' 'unsafe-inline' https://stackpath.bootstrapcdn.com; img-src 'self' data: blob: * +Access-Control-Allow-Origin: https://cdb.thuecat.org + +{"@context":{"schema":"http://schema.org/","dbo":"http://dbpedia.org/ontology/","dsv":"http://ontologies.sti-innsbruck.at/dsv/","foaf":"http://xmlns.com/foaf/0.1/","owl":"http://www.w3.org/2002/07/owl#","rdf":"http://www.w3.org/1999/02/22-rdf-syntax-ns#","rdfs":"http://www.w3.org/2000/01/rdf-schema#","sh":"http://www.w3.org/ns/shacl#","xsd":"http://www.w3.org/2001/XMLSchema#","ttgds":"https://thuecat.org/ontology/ttgds/1.0/","cdb":"https://thuecat.org/ontology/cdb/1.0/","dachkg":"https://thuecat.org/ontology/dachkg/1.0/","thuecat":"https://thuecat.org/ontology/thuecat/1.0/"},"@graph":[{"@id":"https://thuecat.org/resources/043064193523-jcyt","@type":["schema:AdministrativeArea","schema:Place","schema:Thing","schema:City","ttgds:Destination","thuecat:Town"],"rdfs:label":{"@language":"de","@value":"Erfurt"},"schema:description":[{"@language":"de","@value":"Krämerbrücke, Dom, Alte Synagoge – die Thüringer Landeshauptstadt Erfurt hat viele Kulturschätze. Und ein wunderbar junges, studentisches Flair.Eine gute Mischung für alle, die beim Schlendern und Bummeln gerne Städte entdecken: Denn in Erfurt findet man einen wunderbaren mittelalterlichen Stadtkern – mit vielen netten Läden, Cafès und Restaurants. Urlauber wie Einheimische bummeln durch die Gassen der Altstadt, aus allen Ecken wispern Geschichte und alte Geschichten. Stolze historische Bügerhäuser bilden eine der schönsten Altstädte Europas, mittendrin das neugotische Rathaus aus den 1870er-Jahren am Fischmarkt, die spitztürmige St. Severikirche und der mächtige Dom, 1117 erstmals urkundlich erwähnt – auf seiner schier endlosen, kaskadenförmigen Freitreppe chillen Jung und Alt gern in der Abendsonne. Ehe sie weiter ziehen zum Tagesausklang in eine der coolen Kneipen und Bars (Tipp: Oma Lilo oder Cafè Hilgenfeld), in die Wein-Destille am benachbarten Petersberg oder in eins der lässigen Restaurants (Tipp: Mathilda oder Ballenberger), wo zum freundlichen Miteinander eine frische und moderne Küche serviert wird.In Erfurt pulsiert das Leben, lassen Sie sich einfach treiben. Von Ihrer Neugierde ..."},{"@id":"genid-c3843c2db4f74da2bc4a1785b63143b2-b1","@type":["thuecat:Html"],"schema:value":{"@language":"de","@value":"Krämerbrücke, Dom, Alte Synagoge – die Thüringer Landeshauptstadt Erfurt hat viele Kulturschätze. Und ein wunderbar junges, studentisches Flair.Eine gute Mischung für alle, die beim Schlendern und Bummeln gerne Städte entdecken: Denn in Erfurt findet man einen wunderbaren mittelalterlichen Stadtkern – mit vielen netten Läden, Cafès und Restaurants. Urlauber wie Einheimische bummeln durch die Gassen der Altstadt, aus allen Ecken wispern Geschichte und alte Geschichten. Stolze historische Bügerhäuser bilden eine der schönsten Altstädte Europas, mittendrin das neugotische Rathaus aus den 1870er-Jahren am Fischmarkt, die spitztürmige St. Severikirche und der mächtige Dom, 1117 erstmals urkundlich erwähnt – auf seiner schier endlosen, kaskadenförmigen Freitreppe chillen Jung und Alt gern in der Abendsonne. Ehe sie weiter ziehen zum Tagesausklang in eine der coolen Kneipen und Bars (Tipp: Oma Lilo oder Cafè Hilgenfeld), in die Wein-Destille am benachbarten Petersberg oder in eins der lässigen Restaurants (Tipp: Mathilda oder Ballenberger), wo zum freundlichen Miteinander eine frische und moderne Küche serviert wird.In Erfurt pulsiert das Leben, lassen Sie sich einfach treiben. Von Ihrer Neugierde ..."}}],"schema:sameAs":{"@type":"schema:URL","@value":"http://www.erfurt-tourismus.de"},"schema:identifier":[{"@type":"schema:URL","@value":"https://www.thueringen-entdecken.de/urlaub-hotel-reisen/erfurt-102097.html"},{"@id":"genid-c3843c2db4f74da2bc4a1785b63143b2-b3","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@language":"de","@value":"TOMASID"},"schema:name":{"@language":"de","@value":"TOMASID"},"schema:value":{"@language":"de","@value":"TTG00020050000218774"}}],"schema:name":{"@language":"de","@value":"Erfurt"},"schema:containsPlace":[{"@id":"https://thuecat.org/resources/333039283321-xxwg"},{"@id":"https://thuecat.org/resources/814644346598-eady"},{"@id":"https://thuecat.org/resources/036206461121-fwro"},{"@id":"https://thuecat.org/resources/908740175209-zbep"},{"@id":"https://thuecat.org/resources/870914036779-rotr"},{"@id":"https://thuecat.org/resources/835224016581-dara"},{"@id":"https://thuecat.org/resources/038217539089-tpzo"},{"@id":"https://thuecat.org/resources/385236220414-peyn"},{"@id":"https://thuecat.org/resources/100663136458-wnqz"},{"@id":"https://thuecat.org/resources/742419978013-egpn"},{"@id":"https://thuecat.org/resources/695675991537-pkgh"},{"@id":"https://thuecat.org/resources/r_16573215-oapoi"},{"@id":"https://thuecat.org/resources/693056964175-popt"},{"@id":"https://thuecat.org/resources/261473008149-bqha"},{"@id":"https://thuecat.org/resources/867654076132-ctkb"},{"@id":"https://thuecat.org/resources/577964242675-ncqh"},{"@id":"https://thuecat.org/resources/194702880695-babn"},{"@id":"https://thuecat.org/resources/349369090551-czbc"},{"@id":"https://thuecat.org/resources/336670524389-dhkh"},{"@id":"https://thuecat.org/resources/137174540587-whcq"},{"@id":"https://thuecat.org/resources/215230952334-yyno"},{"@id":"https://thuecat.org/resources/165868194223-zmqf"},{"@id":"https://thuecat.org/resources/349986440346-kbkf"},{"@id":"https://thuecat.org/resources/794900260253-wjab"},{"@id":"https://thuecat.org/resources/363938447400-ammb"},{"@id":"https://thuecat.org/resources/910322602048-aggj"},{"@id":"https://thuecat.org/resources/r_18832477-oapoi"},{"@id":"https://thuecat.org/resources/990967907066-yowb"},{"@id":"https://thuecat.org/resources/116065037812-pxop"},{"@id":"https://thuecat.org/resources/r_16537648-oapoi"},{"@id":"https://thuecat.org/resources/216781932201-mnca"},{"@id":"https://thuecat.org/resources/468390440169-wqtb"},{"@id":"https://thuecat.org/resources/116693795002-caxe"},{"@id":"https://thuecat.org/resources/932209179057-xqhd"},{"@id":"https://thuecat.org/resources/120279830561-gtne"},{"@id":"https://thuecat.org/resources/427978371125-hekp"},{"@id":"https://thuecat.org/resources/961330512980-aqxb"},{"@id":"https://thuecat.org/resources/368856308942-qhpb"},{"@id":"https://thuecat.org/resources/808198711450-jjkq"},{"@id":"https://thuecat.org/resources/869812477528-jrka"},{"@id":"https://thuecat.org/resources/440055527204-ocar"},{"@id":"https://thuecat.org/resources/476888881990-xpwq"},{"@id":"https://thuecat.org/resources/r_22031603-oapoi"},{"@id":"https://thuecat.org/resources/896842796891-acor"},{"@id":"https://thuecat.org/resources/151363873581-zgqy"},{"@id":"https://thuecat.org/resources/r_16573254-oapoi"},{"@id":"https://thuecat.org/resources/251557685903-ojxy"},{"@id":"https://thuecat.org/resources/930258935911-zygb"},{"@id":"https://thuecat.org/resources/992051761203-hpqd"},{"@id":"https://thuecat.org/resources/057564926026-ambc"},{"@id":"https://thuecat.org/resources/082899814505-jdyz"},{"@id":"https://thuecat.org/resources/099270315175-tobe"},{"@id":"https://thuecat.org/resources/085897295894-eeec"},{"@id":"https://thuecat.org/resources/955556108903-hpbr"},{"@id":"https://thuecat.org/resources/123187973253-zoph"},{"@id":"https://thuecat.org/resources/126604040143-ypqe"},{"@id":"https://thuecat.org/resources/966971793568-wkhp"},{"@id":"https://thuecat.org/resources/697088130167-afza"},{"@id":"https://thuecat.org/resources/139008038246-efyh"},{"@id":"https://thuecat.org/resources/141686779894-qeza"},{"@id":"https://thuecat.org/resources/155341710750-xgta"},{"@id":"https://thuecat.org/resources/167122161706-yqnr"},{"@id":"https://thuecat.org/resources/184439534670-ctnc"},{"@id":"https://thuecat.org/resources/944052714860-tyzj"},{"@id":"https://thuecat.org/resources/199739900497-ywob"},{"@id":"https://thuecat.org/resources/r_16537649-oapoi"},{"@id":"https://thuecat.org/resources/222117007079-hfet"},{"@id":"https://thuecat.org/resources/225399686834-peee"},{"@id":"https://thuecat.org/resources/480724724877-kanp"},{"@id":"https://thuecat.org/resources/250106386854-ywtf"},{"@id":"https://thuecat.org/resources/859001684315-exdj"},{"@id":"https://thuecat.org/resources/272434428755-oodz"},{"@id":"https://thuecat.org/resources/512870662140-gnmz"},{"@id":"https://thuecat.org/resources/281430987928-tpmy"},{"@id":"https://thuecat.org/resources/312095205351-aygr"},{"@id":"https://thuecat.org/resources/360184372865-whho"},{"@id":"https://thuecat.org/resources/328080994144-awjo"},{"@id":"https://thuecat.org/resources/346560528406-atyt"},{"@id":"https://thuecat.org/resources/355818601084-zegp"},{"@id":"https://thuecat.org/resources/359061478707-rcee"},{"@id":"https://thuecat.org/resources/572846924980-xpdx"},{"@id":"https://thuecat.org/resources/726163858235-btpm"},{"@id":"https://thuecat.org/resources/r_16572783-oapoi"},{"@id":"https://thuecat.org/resources/380367030744-yoej"},{"@id":"https://thuecat.org/resources/401762571799-ekqt"},{"@id":"https://thuecat.org/resources/418412449486-nfba"},{"@id":"https://thuecat.org/resources/461246670093-rgnz"},{"@id":"https://thuecat.org/resources/482823012971-pzxy"},{"@id":"https://thuecat.org/resources/499916747296-jkxm"},{"@id":"https://thuecat.org/resources/r_22033376-oapoi"},{"@id":"https://thuecat.org/resources/r_22033250-oapoi"},{"@id":"https://thuecat.org/resources/503994310066-ewnx"},{"@id":"https://thuecat.org/resources/518003791779-jhda"},{"@id":"https://thuecat.org/resources/521674062490-camr"},{"@id":"https://thuecat.org/resources/533141230492-qkaj"},{"@id":"https://thuecat.org/resources/568228874688-hbra"},{"@id":"https://thuecat.org/resources/972804121358-dtfk"},{"@id":"https://thuecat.org/resources/821546995253-xbmd"},{"@id":"https://thuecat.org/resources/588978431485-wpbd"},{"@id":"https://thuecat.org/resources/608580216388-kamq"},{"@id":"https://thuecat.org/resources/634257818494-ftmh"},{"@id":"https://thuecat.org/resources/653387237068-kphf"},{"@id":"https://thuecat.org/resources/r_19005250-oapoi"},{"@id":"https://thuecat.org/resources/805943406349-bodz"},{"@id":"https://thuecat.org/resources/666317086800-kmbe"},{"@id":"https://thuecat.org/resources/683989873847-xhpw"},{"@id":"https://thuecat.org/resources/700377261083-rpdh"},{"@id":"https://thuecat.org/resources/739758486289-wwdb"},{"@id":"https://thuecat.org/resources/759167474657-jnfn"},{"@id":"https://thuecat.org/resources/834764277582-ywpc"},{"@id":"https://thuecat.org/resources/838757899629-mqjw"},{"@id":"https://thuecat.org/resources/843304041370-hfon"},{"@id":"https://thuecat.org/resources/848652587933-hrfm"},{"@id":"https://thuecat.org/resources/850274378380-rewb"},{"@id":"https://thuecat.org/resources/880179570350-ookn"},{"@id":"https://thuecat.org/resources/884735209890-dgyw"},{"@id":"https://thuecat.org/resources/900589533599-hmaw"},{"@id":"https://thuecat.org/resources/912040339410-preg"},{"@id":"https://thuecat.org/resources/939213514979-nmzm"},{"@id":"https://thuecat.org/resources/991438243950-tjpt"},{"@id":"https://thuecat.org/resources/r_22047170-oapoi"},{"@id":"https://thuecat.org/resources/r_16572949-oapoi"},{"@id":"https://thuecat.org/resources/r_17122065-oapoi"},{"@id":"https://thuecat.org/resources/r_22033022-oapoi"},{"@id":"https://thuecat.org/resources/r_16573059-oapoi"},{"@id":"https://thuecat.org/resources/r_16537651-oapoi"},{"@id":"https://thuecat.org/resources/r_22032181-oapoi"},{"@id":"https://thuecat.org/resources/r_22032682-oapoi"},{"@id":"https://thuecat.org/resources/r_22033172-oapoi"},{"@id":"https://thuecat.org/resources/r_16537646-oapoi"},{"@id":"https://thuecat.org/resources/r_16573298-oapoi"},{"@id":"https://thuecat.org/resources/r_16537681-oapoi"},{"@id":"https://thuecat.org/resources/128697819471-tykc"},{"@id":"https://thuecat.org/resources/878180752617-zeao"},{"@id":"https://thuecat.org/resources/564418816137-zcwf"},{"@id":"https://thuecat.org/resources/691296454763-qdjy"},{"@id":"https://thuecat.org/resources/356133173991-cryw"},{"@id":"https://thuecat.org/resources/624606342071-epht"},{"@id":"https://thuecat.org/resources/052821473718-oxfq"},{"@id":"https://thuecat.org/resources/508431710173-wwne"},{"@id":"https://thuecat.org/resources/497839263245-edbm"},{"@id":"https://thuecat.org/resources/139884583363-nwca"},{"@id":"https://thuecat.org/resources/967711372684-nppc"},{"@id":"https://thuecat.org/resources/928240397005-ofhr"},{"@id":"https://thuecat.org/resources/056407295912-gtoa"},{"@id":"https://thuecat.org/resources/593429619201-akfy"},{"@id":"https://thuecat.org/resources/557811883551-khnn"},{"@id":"https://thuecat.org/resources/155190911735-cmkm"},{"@id":"https://thuecat.org/resources/449193857355-jkoq"},{"@id":"https://thuecat.org/resources/370056129324-jnod"},{"@id":"https://thuecat.org/resources/679847498823-ozdn"},{"@id":"https://thuecat.org/resources/022922630389-roan"},{"@id":"https://thuecat.org/resources/946085645388-jxzw"},{"@id":"https://thuecat.org/resources/342591758526-qhbz"},{"@id":"https://thuecat.org/resources/773867290677-awkq"},{"@id":"https://thuecat.org/resources/748599853417-rjoz"},{"@id":"https://thuecat.org/resources/549943366543-zxzt"},{"@id":"https://thuecat.org/resources/178460707562-htwo"},{"@id":"https://thuecat.org/resources/379284820802-gkxd"},{"@id":"https://thuecat.org/resources/749537574485-pzoj"}],"schema:hasMap":{"@type":"schema:URL","@value":"https://www.google.com/maps/search/?api=1&query=11.02752685546875,11.02752685546875"},"schema:geo":{"@id":"genid-c3843c2db4f74da2bc4a1785b63143b2-b2","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:GeoCoordinates"],"schema:longitude":{"@type":"schema:Number","@value":"11.02752685546875"},"schema:latitude":{"@type":"schema:Number","@value":"50.97658847089682"}},"schema:subjectOf":[{"@id":"https://thuecat.org/resources/dms_5293389"},{"@id":"https://thuecat.org/resources/dms_5293416"},{"@id":"https://thuecat.org/resources/dms_5293364"},{"@id":"https://thuecat.org/resources/dms_5293443"},{"@id":"https://thuecat.org/resources/dms_5293505"},{"@id":"https://thuecat.org/resources/dms_5293535"},{"@id":"https://thuecat.org/resources/dms_5293566"},{"@id":"https://thuecat.org/resources/dms_5293597"},{"@id":"https://thuecat.org/resources/dms_5293472"},{"@id":"https://thuecat.org/resources/dms_5293628"},{"@id":"https://thuecat.org/resources/dms_5293658"},{"@id":"https://thuecat.org/resources/dms_5293688"},{"@id":"https://thuecat.org/resources/dms_5293720"},{"@id":"https://thuecat.org/resources/dms_5293749"},{"@id":"https://thuecat.org/resources/dms_5293778"},{"@id":"https://thuecat.org/resources/dms_5301198"},{"@id":"https://thuecat.org/resources/dms_5301226"},{"@id":"https://thuecat.org/resources/dms_5301252"},{"@id":"https://thuecat.org/resources/dms_5301333"},{"@id":"https://thuecat.org/resources/dms_5301367"},{"@id":"https://thuecat.org/resources/dms_5301494"},{"@id":"https://thuecat.org/resources/dms_5301396"},{"@id":"https://thuecat.org/resources/dms_5301527"},{"@id":"https://thuecat.org/resources/dms_5301426"},{"@id":"https://thuecat.org/resources/dms_5301462"},{"@id":"https://thuecat.org/resources/dms_5336613"},{"@id":"https://thuecat.org/resources/dms_5336636"},{"@id":"https://thuecat.org/resources/dms_5363191"},{"@id":"https://thuecat.org/resources/dms_5363216"},{"@id":"https://thuecat.org/resources/dms_5363273"},{"@id":"https://thuecat.org/resources/dms_5363303"},{"@id":"https://thuecat.org/resources/dms_5363245"}],"schema:url":{"@type":"schema:URL","@value":"http://www.erfurt-tourismus.de"},"schema:address":{"@id":"genid-c3843c2db4f74da2bc4a1785b63143b2-b0","@type":["schema:Intangible","schema:PostalAddress","schema:StructuredValue","schema:Thing","schema:ContactPoint"],"schema:addressLocality":{"@language":"de","@value":"Erfurt"},"schema:addressCountry":{"@type":"thuecat:AddressCountry","@value":"thuecat:Germany"},"schema:postalCode":{"@language":"de","@value":"99084"},"schema:addressRegion":{"@type":"thuecat:AddressFederalState","@value":"thuecat:Thuringia"}},"thuecat:contentResponsible":{"@id":"https://thuecat.org/resources/018132452787-ngbe"},"thuecat:destinationManagementOrganisation":{"@id":"https://thuecat.org/resources/018132452787-ngbe"},"thuecat:monumentEnum":{"@type":"thuecat:MonumentEnum","@value":"thuecat:ZeroInformationMemorialClass"},"thuecat:regionalKey":{"@language":"de","@value":"160510000000"},"thuecat:trafficConnection":[{"@type":"thuecat:TrafficConnection","@value":"thuecat:BusRoute"},{"@type":"thuecat:TrafficConnection","@value":"thuecat:RoadConnection"},{"@type":"thuecat:TrafficConnection","@value":"thuecat:RailwayStationEnuMem"},{"@type":"thuecat:TrafficConnection","@value":"thuecat:MotorwayConnection"},{"@type":"thuecat:TrafficConnection","@value":"thuecat:Airport"}],"thuecat:managedBy":{"@id":"https://thuecat.org/resources/018132452787-ngbe"},"thuecat:tomasLocationID":{"@language":"de","@value":"TTG00020050000218774"}}]} \ No newline at end of file diff --git a/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/165868194223-zmqf/GET_fb3c1440c67b1c9a421a2df91f8048f9.txt b/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/165868194223-zmqf/GET_fb3c1440c67b1c9a421a2df91f8048f9.txt new file mode 100644 index 0000000..2ac42de --- /dev/null +++ b/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/165868194223-zmqf/GET_fb3c1440c67b1c9a421a2df91f8048f9.txt @@ -0,0 +1,19 @@ +HTTP/1.1 200 OK +Date: Wed, 17 Feb 2021 08:03:49 GMT +Content-Type: application/ld+json; charset=utf-8 +Content-Length: 19183 +Connection: keep-alive +Set-Cookie: ahSession=0f28a08e6e906a267b990e86a670ea28c700cb0b;path=/;expires=Sat, 20 Mar 2021 08:03:49 GMT;httpOnly=true; +Access-Control-Allow-Methods: HEAD, GET, POST, DELETE, OPTIONS +Access-Control-Allow-Headers: Authorization, Content-Type +Strict-Transport-Security: max-age=15724800; includeSubDomains +Access-Control-Allow-Credentials: true +X-Frame-Options: deny +X-XSS-Protection: 1; mode=block +X-Content-Type-Options: nosniff +Referrer-Policy: same-origin +Feature-Policy: microphone 'none'; camera 'none'; payment 'none' +Content-Security-Policy: default-src 'self'; script-src 'self' 'sha256-xfTbtWk8kVI65iLJs8LB3lWf2g0g10DS71pDdoutFHc='; style-src 'self' 'unsafe-inline' https://stackpath.bootstrapcdn.com; img-src 'self' data: blob: * +Access-Control-Allow-Origin: https://cdb.thuecat.org + +{"@context":{"schema":"http://schema.org/","dbo":"http://dbpedia.org/ontology/","dsv":"http://ontologies.sti-innsbruck.at/dsv/","foaf":"http://xmlns.com/foaf/0.1/","owl":"http://www.w3.org/2002/07/owl#","rdf":"http://www.w3.org/1999/02/22-rdf-syntax-ns#","rdfs":"http://www.w3.org/2000/01/rdf-schema#","sh":"http://www.w3.org/ns/shacl#","xsd":"http://www.w3.org/2001/XMLSchema#","ttgds":"https://thuecat.org/ontology/ttgds/1.0/","cdb":"https://thuecat.org/ontology/cdb/1.0/","dachkg":"https://thuecat.org/ontology/dachkg/1.0/","thuecat":"https://thuecat.org/ontology/thuecat/1.0/"},"@graph":[{"@id":"https://thuecat.org/resources/165868194223-zmqf","@type":["schema:Place","schema:CivicStructure","schema:PlaceOfWorship","schema:Thing","schema:Museum","schema:TouristAttraction","schema:Synagogue","ttgds:PointOfInterest","thuecat:Building","thuecat:ReligiousBuilding","thuecat:CultureHistoricalMuseum"],"rdfs:label":[{"@language":"de","@value":"Alte Synagoge"},{"@language":"fr","@value":"La vieille synagogue"},{"@language":"en","@value":"Old Synagogue"}],"schema:description":[{"@language":"fr","@value":"La vieille synagogue (datant des années 1100) est la synagogue la plus vieille d’Europe totalement conservée, dans laquelle est exposé un trésor datant des 13/14èmes siècles avec une alliance juive unique et des écritures hébraïques (datant des 12ème, 13ème et 14èmes siècles). Après la redécouverte du Mikwé, Erfurt abrite des témoins uniques et fascinants d’une communauté juive médiévale. "},{"@language":"en","@value":"The Old Synagogue is one of very few preserved medieval synagogues in Europe. Thanks to the extensive preservation of the original structure, it has a special place in the history of art and architecture and is among the most impressive and highly rated architectural monuments in Erfurt and Thuringia. The synagogue was constructed during the Middle Ages on the \"via regia\", one of the major European trade routes, at the heart of the historical old quarter very close to the Merchants Bridge and the town hall. Many parts of the structure still remain today, including all four thick outer walls, the Roman­esque gemel window, the Gothic rose window and the entrance to the synagogue room. "},{"@language":"de","@value":"Mit der Alten Synagoge weist Erfurt die älteste bis zum Dach erhaltene Synagoge in Mitteleuropa vor. Hier waren bis Ende der 90er Jahre nur die Spitzen zweier Giebel sichtbar, welche aus einem Gewirr von Anbauten herausragten. Nach dem Abriss einiger Bauten ringsum konnte ein Bauforscher klar vier Bauphasen der Synagoge unterscheiden, dessen älteste um 1100 zu datieren ist. \nDer Bau von 1270, mit der heute sichtbaren Westfassade samt Maßwerkrosette, wurde nach Norden erweitert. Brandspuren am Mauerwerk verweisen auf einen Vorgängerbau, der wahrscheinlich einem Pogrom zum Opfer fiel. Die Synagoge diente bis 1349 als Gotteshaus. In diesem Jahr löschte ein barbarisches Pestpogrom die erste jüdische Gemeinde Erfurts aus. Die Stadt verkaufte das Gebäude an einen Händler, der es zum Speicher umbauen ließ. Dabei wurde der hohe Raum von Balkendecken unterteilt, ein breiterer Eingang an Stelle des Thoraschreins geschaffen und die Synagoge unterkellert. Im Erdgeschoss zeugen noch einige Spuren von der Erstnutzung, wie bspw. ein Lichtergesims. \nDas Erdgeschoss mit der wuchtigen gotischen Balkendecke und der Keller werden ebenso wie das Obergeschoss, welches von der Festkultur des 19. Jahrhunderts zeugt, museal genutzt. Wer heute den Saal betritt, der fühlt sich in die vergangene Welt von Tango und Foxtrott unter Gouvernantenaufsicht zurückversetzt. Schablonenmalerei sowie einige Tapetenreste schmücken die Wände. \nIm Erdgeschoss wird die Baugeschichte thematisiert, der Keller ist dem Erfurter Schatz aus Münzen, Gefäßen, gotischem Schmuck und dem jüdischen Hochzeitsring vorbehalten. \nIm Saal zeigt das Haus eine Sammlung von hebräischen Handschriften, welche der Erfurter Gemeinde gehörten. Diese Hebraica werden heute in der Staatsbibliothek Berlin aufbewahrt. Abwechselnd können sie in Erfurt als Original oder Faksimile bestaunt werden. \nMit der Alten Synagoge und einer 2007 an der Krämerbrücke gefundenen Mikwe aus der Gotik, deren wissenschaftliche Erforschung noch andauert, kann Erfurt einmalige und faszinierende Zeugnisse der noch wenig bekannten Geschichte einer mittelalterlichen Gemeinde vorweisen."},{"@id":"genid-28b33237f71b41e3ad54a99e1da769b9-b1","@type":["thuecat:Html"],"schema:value":{"@language":"de","@value":"Mit der Alten Synagoge weist Erfurt die älteste bis zum Dach erhaltene Synagoge in Mitteleuropa vor. Hier waren bis Ende der 90er Jahre nur die Spitzen zweier Giebel sichtbar, welche aus einem Gewirr von Anbauten herausragten. Nach dem Abriss einiger Bauten ringsum konnte ein Bauforscher klar vier Bauphasen der Synagoge unterscheiden, dessen älteste um 1100 zu datieren ist. \n\nDer Bau von 1270, mit der heute sichtbaren Westfassade samt Maßwerkrosette, wurde nach Norden erweitert. Brandspuren am Mauerwerk verweisen auf einen Vorgängerbau, der wahrscheinlich einem Pogrom zum Opfer fiel. Die Synagoge diente bis 1349 als Gotteshaus. In diesem Jahr löschte ein barbarisches Pestpogrom die erste jüdische Gemeinde Erfurts aus. Die Stadt verkaufte das Gebäude an einen Händler, der es zum Speicher umbauen ließ. Dabei wurde der hohe Raum von Balkendecken unterteilt, ein breiterer Eingang an Stelle des Thoraschreins geschaffen und die Synagoge unterkellert. Im Erdgeschoss zeugen noch einige Spuren von der Erstnutzung, wie bspw. ein Lichtergesims. \n\nDas Erdgeschoss mit der wuchtigen gotischen Balkendecke und der Keller werden ebenso wie das Obergeschoss, welches von der Festkultur des 19. Jahrhunderts zeugt, museal genutzt. Wer heute den Saal betritt, der fühlt sich in die vergangene Welt von Tango und Foxtrott unter Gouvernantenaufsicht zurückversetzt. Schablonenmalerei sowie einige Tapetenreste schmücken die Wände. \nIm Erdgeschoss wird die Baugeschichte thematisiert, der Keller ist dem Erfurter Schatz aus Münzen, Gefäßen, gotischem Schmuck und dem jüdischen Hochzeitsring vorbehalten. \n\nIm Saal zeigt das Haus eine Sammlung von hebräischen Handschriften, welche der Erfurter Gemeinde gehörten. Diese Hebraica werden heute in der Staatsbibliothek Berlin aufbewahrt. Abwechselnd können sie in Erfurt als Original oder Faksimile bestaunt werden. \n\nMit der Alten Synagoge und einer 2007 an der Krämerbrücke gefundenen Mikwe aus der Gotik, deren wissenschaftliche Erforschung noch andauert, kann Erfurt einmalige und faszinierende Zeugnisse der noch wenig bekannten Geschichte einer mittelalterlichen Gemeinde vorweisen."}},{"@id":"genid-28b33237f71b41e3ad54a99e1da769b9-b2","@type":["thuecat:Html"],"schema:value":{"@language":"fr","@value":"La vieille synagogue (datant des années 1100) est la synagogue la plus vieille d’Europe totalement conservée, dans laquelle est exposé un trésor datant des 13/14èmes siècles avec une alliance juive unique et des écritures hébraïques (datant des 12ème, 13ème et 14èmes siècles). Après la redécouverte du Mikwé, Erfurt abrite des témoins uniques et fascinants d’une communauté juive médiévale. "}},{"@id":"genid-28b33237f71b41e3ad54a99e1da769b9-b3","@type":["thuecat:Html"],"schema:value":{"@language":"en","@value":"The Old Synagogue is one of very few preserved medieval synagogues in Europe. Thanks to the extensive preservation of the original structure, it has a special place in the history of art and architecture and is among the most impressive and highly rated architectural monuments in Erfurt and Thuringia. The synagogue was constructed during the Middle Ages on the \"via regia\", one of the major European trade routes, at the heart of the historical old quarter very close to the Merchants Bridge and the town hall. Many parts of the structure still remain today, including all four thick outer walls, the Roman­esque gemel window, the Gothic rose window and the entrance to the synagogue room. "}}],"schema:sameAs":[{"@type":"xsd:string","@value":"http://whc.unesco.org/en/tentativelists/5982/"},{"@type":"schema:URL","@value":"https://www.outdooractive.com/de/51497737"}],"schema:identifier":{"@type":"schema:URL","@value":"https://www.thueringen-entdecken.de/urlaub-hotel-reisen/alte-synagoge-erfurt-115157.html"},"schema:name":[{"@language":"de","@value":"Alte Synagoge"},{"@language":"fr","@value":"La vieille synagogue"},{"@language":"en","@value":"Old Synagogue"}],"schema:containedInPlace":[{"@id":"https://thuecat.org/resources/043064193523-jcyt"},{"@id":"https://thuecat.org/resources/573211638937-gmqb"},{"@id":"https://thuecat.org/resources/497839263245-edbm"}],"schema:photo":{"@id":"https://thuecat.org/resources/dms_5099196"},"schema:image":{"@id":"https://thuecat.org/resources/dms_5099196"},"schema:audience":[{"@id":"https://thuecat.org/resources/290287712606-zkwq"},{"@id":"https://thuecat.org/resources/312868368592-wnce"},{"@id":"https://thuecat.org/resources/301753337945-akzy"},{"@id":"https://thuecat.org/resources/304061111979-rmed"},{"@id":"https://thuecat.org/resources/668239314161-keen"}],"schema:petsAllowed":{"@type":"schema:Boolean","@value":"false"},"schema:hasMap":{"@type":"schema:URL","@value":"https://www.google.com/maps/search/?api=1&query=50.978765,11.029133"},"schema:geo":{"@id":"genid-28b33237f71b41e3ad54a99e1da769b9-b4","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:GeoCoordinates"],"schema:longitude":{"@type":"schema:Number","@value":"11.029133"},"schema:latitude":{"@type":"schema:Number","@value":"50.978765"}},"schema:openingHoursSpecification":{"@id":"genid-28b33237f71b41e3ad54a99e1da769b9-b13","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:OpeningHoursSpecification"],"schema:validFrom":{"@type":"schema:Date","@value":"2021-03-01"},"schema:dayOfWeek":[{"@type":"schema:DayOfWeek","@value":"schema:Saturday"},{"@type":"schema:DayOfWeek","@value":"schema:Sunday"},{"@type":"schema:DayOfWeek","@value":"schema:Friday"},{"@type":"schema:DayOfWeek","@value":"schema:Thursday"},{"@type":"schema:DayOfWeek","@value":"schema:Tuesday"},{"@type":"schema:DayOfWeek","@value":"schema:Wednesday"}],"schema:opens":{"@type":"schema:Time","@value":"10:00:00"},"schema:validThrough":{"@type":"schema:Date","@value":"2021-12-31"},"schema:closes":{"@type":"schema:Time","@value":"18:00:00"}},"schema:isAccessibleForFree":{"@type":"schema:Boolean","@value":"false"},"schema:smokingAllowed":{"@type":"schema:Boolean","@value":"false"},"schema:url":{"@type":"schema:URL","@value":"http://www.alte-synagoge.erfurt.de"},"schema:availableLanguage":[{"@type":"thuecat:Language","@value":"thuecat:German"},{"@type":"thuecat:Language","@value":"thuecat:English"},{"@type":"thuecat:Language","@value":"thuecat:French"}],"schema:publicAccess":{"@type":"schema:Boolean","@value":"true"},"schema:paymentAccepted":[{"@type":"thuecat:PaymentAcceptedEnum","@value":"thuecat:CashPayment"},{"@type":"thuecat:PaymentAcceptedEnum","@value":"thuecat:EC"}],"schema:address":{"@id":"genid-28b33237f71b41e3ad54a99e1da769b9-b0","@type":["schema:Intangible","schema:PostalAddress","schema:StructuredValue","schema:Thing","schema:ContactPoint"],"schema:addressLocality":{"@language":"de","@value":"Erfurt"},"schema:addressCountry":{"@type":"thuecat:AddressCountry","@value":"thuecat:Germany"},"schema:postalCode":{"@language":"de","@value":"99084"},"schema:addressRegion":{"@type":"thuecat:AddressFederalState","@value":"thuecat:Thuringia"},"schema:telephone":{"@language":"de","@value":"+49 361 6551520"},"schema:email":{"@language":"de","@value":"altesynagoge@erfurt.de"},"schema:streetAddress":{"@language":"de","@value":"Waagegasse 8"},"schema:faxNumber":{"@language":"de","@value":"+49 361 6551669"},"thuecat:typOfAddress":{"@type":"thuecat:TypOfAddress","@value":"thuecat:HouseAddress"}},"schema:makesOffer":[{"@id":"genid-28b33237f71b41e3ad54a99e1da769b9-b5","@type":["schema:Intangible","schema:Thing","schema:Offer"],"rdfs:label":{"@language":"de","@value":"Führungen"},"schema:description":{"@language":"de","@value":"Immer samstags, um 11:15 Uhr findet eine öffentliche Führung durch das Museum statt. Dauer etwa 90 Minuten"},"schema:offeredBy":{"@id":"https://thuecat.org/resources/165868194223-zmqf"},"schema:name":{"@language":"de","@value":"Führungen"},"schema:priceSpecification":[{"@id":"genid-28b33237f71b41e3ad54a99e1da769b9-b6","@type":["schema:Intangible","schema:StructuredValue","schema:PriceSpecification","schema:Thing"],"rdfs:label":{"@language":"de","@value":"Erwachsene"},"schema:price":{"@type":"schema:Number","@value":"8"},"schema:name":{"@language":"de","@value":"Erwachsene"},"schema:priceCurrency":{"@type":"thuecat:Currency","@value":"thuecat:EUR"},"thuecat:calculationRule":{"@type":"thuecat:CalculationRule","@value":"thuecat:PerPerson"}},{"@id":"genid-28b33237f71b41e3ad54a99e1da769b9-b7","@type":["schema:Intangible","schema:StructuredValue","schema:PriceSpecification","schema:Thing"],"rdfs:label":{"@language":"de","@value":"Ermäßigt"},"schema:description":{"@language":"de","@value":"als ermäßigt gelten schulpflichtige Kinder, Auszubildende, Studierende, Rentner/-innen, Menschen mit Behinderungen, Inhaber Sozialausweis der Landeshauptstadt Erfurt"},"schema:price":{"@type":"schema:Number","@value":"5"},"schema:name":{"@language":"de","@value":"Ermäßigt"},"schema:priceCurrency":{"@type":"thuecat:Currency","@value":"thuecat:EUR"},"thuecat:calculationRule":{"@type":"thuecat:CalculationRule","@value":"thuecat:PerPerson"}}],"thuecat:offerType":{"@type":"thuecat:OfferType","@value":"thuecat:GuidedTourOffer"}},{"@id":"genid-28b33237f71b41e3ad54a99e1da769b9-b8","@type":["schema:Intangible","schema:Thing","schema:Offer"],"rdfs:label":{"@language":"de","@value":"Eintritt"},"schema:description":{"@language":"de","@value":"Schulklassen und Kitagruppen im Rahmen des Unterrichts: Eintritt frei\nAn jedem ersten Dienstag im Monat: Eintritt frei"},"schema:offeredBy":{"@id":"https://thuecat.org/resources/165868194223-zmqf"},"schema:name":{"@language":"de","@value":"Eintritt"},"schema:priceSpecification":[{"@id":"genid-28b33237f71b41e3ad54a99e1da769b9-b10","@type":["schema:Intangible","schema:StructuredValue","schema:PriceSpecification","schema:Thing"],"rdfs:label":{"@language":"de","@value":"Ermäßigt"},"schema:description":{"@language":"de","@value":"als ermäßigt gelten schulpflichtige Kinder, Auszubildende, Studierende, Rentner/-innen, Menschen mit Behinderungen, Inhaber Sozialausweis der Landeshauptstadt Erfurt"},"schema:price":{"@type":"schema:Number","@value":"5"},"schema:name":{"@language":"de","@value":"Ermäßigt"},"schema:priceCurrency":{"@type":"thuecat:Currency","@value":"thuecat:EUR"},"thuecat:calculationRule":{"@type":"thuecat:CalculationRule","@value":"thuecat:PerPerson"}},{"@id":"genid-28b33237f71b41e3ad54a99e1da769b9-b11","@type":["schema:Intangible","schema:StructuredValue","schema:PriceSpecification","schema:Thing"],"rdfs:label":{"@language":"de","@value":"Familienkarte"},"schema:price":{"@type":"schema:Number","@value":"17"},"schema:name":{"@language":"de","@value":"Familienkarte"},"schema:priceCurrency":{"@type":"thuecat:Currency","@value":"thuecat:EUR"},"thuecat:calculationRule":{"@type":"thuecat:CalculationRule","@value":"thuecat:PerGroup"}},{"@id":"genid-28b33237f71b41e3ad54a99e1da769b9-b12","@type":["schema:Intangible","schema:StructuredValue","schema:PriceSpecification","schema:Thing"],"rdfs:label":{"@language":"de","@value":"ErfurtCard"},"schema:price":{"@type":"schema:Number","@value":"14.90"},"schema:name":{"@language":"de","@value":"ErfurtCard"},"schema:priceCurrency":{"@type":"thuecat:Currency","@value":"thuecat:EUR"},"thuecat:calculationRule":{"@type":"thuecat:CalculationRule","@value":"thuecat:PerPackage"}},{"@id":"genid-28b33237f71b41e3ad54a99e1da769b9-b9","@type":["schema:Intangible","schema:StructuredValue","schema:PriceSpecification","schema:Thing"],"rdfs:label":{"@language":"de","@value":"Erwachsene"},"schema:price":{"@type":"schema:Number","@value":"8"},"schema:name":{"@language":"de","@value":"Erwachsene"},"schema:priceCurrency":{"@type":"thuecat:Currency","@value":"thuecat:EUR"},"thuecat:calculationRule":{"@type":"thuecat:CalculationRule","@value":"thuecat:PerPerson"}}],"thuecat:offerType":{"@type":"thuecat:OfferType","@value":"thuecat:EntryOffer"}}],"thuecat:exibitionObjekt":[{"@type":"thuecat:ExhibitionObject","@value":"thuecat:ReligiousHistoryExhibition"},{"@language":"de","@value":"Bau- und Nutzungsgeschichte der Alten Synagoge"},{"@language":"de","@value":"Erfurter Schatz"},{"@language":"de","@value":"Mittelalterliche Handschriften als Faksimile"}],"thuecat:museumService":{"@type":"thuecat:MuseumService","@value":"thuecat:MuseumShop"},"thuecat:contentResponsible":{"@id":"https://thuecat.org/resources/018132452787-ngbe"},"thuecat:monumentEnum":[{"@type":"thuecat:MonumentEnum","@value":"thuecat:ArchitecturalMonumentSingle"},{"@language":"de","@value":"Kulturdenkmal"}],"thuecat:digitalOffer":[{"@type":"thuecat:DigitalOffer","@value":"thuecat:AudioGuide"},{"@type":"thuecat:DigitalOffer","@value":"thuecat:VideoGuide"}],"thuecat:entrance":{"@type":"thuecat:Entrance","@value":"thuecat:IndoorActivities"},"thuecat:gastro":{"@type":"thuecat:GastroPoi","@value":"thuecat:ZeroGastronomy"},"thuecat:guidedTour":[{"@type":"thuecat:EnumGuidedTour","@value":"thuecat:GuidedTourOnlyWithRegistration"},{"@type":"thuecat:EnumGuidedTour","@value":"thuecat:GuidedTourRegistrationNotRequired"}],"thuecat:otherService":[{"@type":"thuecat:OtherService","@value":"thuecat:SeatingPossibilitiesRestArea"},{"@type":"thuecat:OtherService","@value":"thuecat:LockBoxes"},{"@type":"thuecat:OtherService","@value":"thuecat:SouvenirShop"},{"@type":"thuecat:OtherService","@value":"thuecat:BaggageStorage"}],"thuecat:photography":{"@type":"thuecat:Photography","@value":"thuecat:ZeroPhotography"},"thuecat:sanitation":[{"@type":"thuecat:Sanitation","@value":"thuecat:Toilets"},{"@type":"thuecat:Sanitation","@value":"thuecat:DisabledToilets"},{"@type":"thuecat:Sanitation","@value":"thuecat:NappyChangingArea"},{"@type":"thuecat:Sanitation","@value":"thuecat:FamilyAndChildFriendly"}],"thuecat:trafficInfrastructure":{"@type":"thuecat:TrafficInfrastructure","@value":"thuecat:ZeroSpecialTrafficInfrastructure"},"thuecat:distanceToPublicTransport":{"@id":"genid-28b33237f71b41e3ad54a99e1da769b9-b14","@type":["schema:Intangible","schema:QuantitativeValue","schema:StructuredValue","schema:Thing"],"schema:unitCode":{"@type":"thuecat:Unit","@value":"thuecat:MTR"},"schema:value":{"@type":"schema:Number","@value":"200"}},"thuecat:architecturalStyle":{"@type":"thuecat:ArchitecturalStyle","@value":"thuecat:GothicArt"},"thuecat:endOfConstruction":[{"@language":"de","@value":"12. Jh."},{"@language":"de","@value":"13. Jh."},{"@language":"de","@value":"19. Jh."},{"@language":"de","@value":"20. Jh."},{"@language":"de","@value":"14. Jh."},{"@language":"de","@value":"2009"}],"thuecat:startOfConstruction":{"@language":"de","@value":"11. Jh."},"thuecat:openAirMuseum":{"@type":"schema:Boolean","@value":"false"}}]} \ No newline at end of file diff --git a/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/215230952334-yyno/GET_dffece5d931faa885ff4e226eb9e3b5c.txt b/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/215230952334-yyno/GET_dffece5d931faa885ff4e226eb9e3b5c.txt new file mode 100644 index 0000000..11009ba --- /dev/null +++ b/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/215230952334-yyno/GET_dffece5d931faa885ff4e226eb9e3b5c.txt @@ -0,0 +1,19 @@ +HTTP/1.1 200 OK +Date: Wed, 17 Feb 2021 08:03:50 GMT +Content-Type: application/ld+json; charset=utf-8 +Content-Length: 11233 +Connection: keep-alive +Set-Cookie: ahSession=eaa02c5e626fce824b58b789083b2033f3bf0afb;path=/;expires=Sat, 20 Mar 2021 08:03:50 GMT;httpOnly=true; +Access-Control-Allow-Methods: HEAD, GET, POST, DELETE, OPTIONS +Access-Control-Allow-Headers: Authorization, Content-Type +Strict-Transport-Security: max-age=15724800; includeSubDomains +Access-Control-Allow-Credentials: true +X-Frame-Options: deny +X-XSS-Protection: 1; mode=block +X-Content-Type-Options: nosniff +Referrer-Policy: same-origin +Feature-Policy: microphone 'none'; camera 'none'; payment 'none' +Content-Security-Policy: default-src 'self'; script-src 'self' 'sha256-xfTbtWk8kVI65iLJs8LB3lWf2g0g10DS71pDdoutFHc='; style-src 'self' 'unsafe-inline' https://stackpath.bootstrapcdn.com; img-src 'self' data: blob: * +Access-Control-Allow-Origin: https://cdb.thuecat.org + +{"@context":{"schema":"http://schema.org/","dbo":"http://dbpedia.org/ontology/","dsv":"http://ontologies.sti-innsbruck.at/dsv/","foaf":"http://xmlns.com/foaf/0.1/","owl":"http://www.w3.org/2002/07/owl#","rdf":"http://www.w3.org/1999/02/22-rdf-syntax-ns#","rdfs":"http://www.w3.org/2000/01/rdf-schema#","sh":"http://www.w3.org/ns/shacl#","xsd":"http://www.w3.org/2001/XMLSchema#","ttgds":"https://thuecat.org/ontology/ttgds/1.0/","cdb":"https://thuecat.org/ontology/cdb/1.0/","dachkg":"https://thuecat.org/ontology/dachkg/1.0/","thuecat":"https://thuecat.org/ontology/thuecat/1.0/"},"@graph":[{"@id":"https://thuecat.org/resources/215230952334-yyno","@type":["schema:Place","schema:CivicStructure","schema:Thing","schema:Bridge","schema:TouristAttraction","ttgds:PointOfInterest","thuecat:Building","thuecat:TechnicalMonument","thuecat:TrafficBuilding","thuecat:TrafficHistory"],"rdfs:label":[{"@language":"de","@value":"Krämerbrücke"},{"@language":"en","@value":"Merchants' Bridge"},{"@language":"fr","@value":"Pont de l'épicier"}],"schema:description":[{"@language":"de","@value":"Ein bekanntes Wahrzeichen Erfurts ist die Krämerbrücke, die längste bebaute und bewohnte Brücke Europas.Die Krämerbrücke wurde zu Beginn aus Holz und 1325 aus Stein erbaut. Zunächst war die 120 m lange Brücke mit 62 schmalen Häusern bebaut. Später wurden einige der Häuser auf nun mehr 32 zusammengefasst. An beiden Enden der Brücke standen zwei Brückenkopfkirchen. Heute existiert nur noch eine der beiden, die östlich gelegene Ägidienkirche.Auf der Krämerbrücke kann man in Galerien und Boutiquen sehr schön bummeln gehen. Man kann Thüringer Handwerksmeistern bei ihrer Arbeit über die Schulter schauen. Keramik, Porzellan und Holzschnitzereien, Blaudruck und Lauschaer Glas sind beliebte Souvenirs. Cafès, Weinhändler und Feinkostgeschäfte mit Thüringer Spezialitäten laden zum Verweilen ein."},{"@language":"en","@value":"Another Erfurt landmark is the Merchants' Bridge (Krämerbrücke), the longest series of inhabited buildings on any bridge in Europe. The Merchants' Bridge is Erfurts most interesting secular construction, initially in wood but rebuilt in stone in 1325. There were originally 62 narrow buildings along its 120-metre length, but subsequent redevelopment left just 32 buildings. Of what was once a pair of bridgehead churches, only the Church of St. Aegidius remains at the eastern end of the bridge today. The Merchants' Bridge is lined with galleries, cafés and boutiques offering traditional crafts, Thuringian blue printed fabrics, hand-painted ceramics, handblown glassware, jewellery, wood carvings, antiques and delicious Thuringian specialities - perfect for browsing."},{"@language":"fr","@value":"Le pont de l’épicier est un des symboles de la ville d’Erfurt, le plus grand pont habité en continu d’Europe. A l’origine, le pont de l’épicier faisait 120 m de long et comptait 62 maisons étroites, qui furent plus tard regroupées en 32 maisons. Sur le pont de l’épicier se trouvent des galeries et des petites échoppes proposant des étoffes à motifs bleu indigo de Thuringe, des céramiques peintes main, du verre de Lauscha, des bijoux et des sculptures en bois."},{"@id":"genid-a45a5606cd074d86bf242c9464d84171-b1","@type":["thuecat:Html"],"schema:value":{"@language":"de","@value":"Ein bekanntes Wahrzeichen Erfurts ist die Krämerbrücke, die längste bebaute und bewohnte Brücke Europas.Die Krämerbrücke wurde zu Beginn aus Holz und 1325 aus Stein erbaut. Zunächst war die 120 m lange Brücke mit 62 schmalen Häusern bebaut. Später wurden einige der Häuser auf nun mehr 32 zusammengefasst. An beiden Enden der Brücke standen zwei Brückenkopfkirchen. Heute existiert nur noch eine der beiden, die östlich gelegene Ägidienkirche.Auf der Krämerbrücke kann man in Galerien und Boutiquen sehr schön bummeln gehen. Man kann Thüringer Handwerksmeistern bei ihrer Arbeit über die Schulter schauen. Keramik, Porzellan und Holzschnitzereien, Blaudruck und Lauschaer Glas sind beliebte Souvenirs. Cafès, Weinhändler und Feinkostgeschäfte mit Thüringer Spezialitäten laden zum Verweilen ein."}},{"@id":"genid-a45a5606cd074d86bf242c9464d84171-b2","@type":["thuecat:Html"],"schema:value":{"@language":"en","@value":"

Another Erfurt landmark is the Merchants' Bridge (Krämerbrücke), the longest series of inhabited buildings on any bridge in Europe. The Merchants' Bridge is Erfurts most interesting secular construction, initially in wood but rebuilt in stone in 1325. There were originally 62 narrow buildings along its 120-metre length, but subsequent redevelopment left just 32 buildings. Of what was once a pair of bridgehead churches, only the Church of St. Aegidius remains at the eastern end of the bridge today. The Merchants' Bridge is lined with galleries, cafés and boutiques offering traditional crafts, Thuringian blue printed fabrics, hand-painted ceramics, handblown glassware, jewellery, wood carvings, antiques and delicious Thuringian specialities - perfect for browsing.

"}},{"@id":"genid-a45a5606cd074d86bf242c9464d84171-b3","@type":["thuecat:Html"],"schema:value":{"@language":"fr","@value":"

Le pont de l’épicier est un des symboles de la ville d’Erfurt, le plus grand pont habité en continu d’Europe. A l’origine, le pont de l’épicier faisait 120 m de long et comptait 62 maisons étroites, qui furent plus tard regroupées en 32 maisons. Sur le pont de l’épicier se trouvent des galeries et des petites échoppes proposant des étoffes à motifs bleu indigo de Thuringe, des céramiques peintes main, du verre de Lauscha, des bijoux et des sculptures en bois.

"}}],"schema:sameAs":[{"@type":"xsd:string","@value":"http://www.kraemerbruecke.de"},{"@type":"schema:URL","@value":"https://www.outdooractive.com/de/51497738"}],"schema:identifier":{"@type":"schema:URL","@value":"https://www.thueringen-entdecken.de/urlaub-hotel-reisen/kraemerbruecke-103571.html"},"schema:name":[{"@language":"de","@value":"Krämerbrücke"},{"@language":"en","@value":"Merchants' Bridge"},{"@language":"fr","@value":"Pont de l'épicier"}],"schema:containedInPlace":[{"@id":"https://thuecat.org/resources/043064193523-jcyt"},{"@id":"https://thuecat.org/resources/052821473718-oxfq"}],"schema:containsPlace":[{"@id":"https://thuecat.org/resources/r_18832477-oapoi"},{"@id":"https://thuecat.org/resources/e_ttg00020050000733686-tomas"},{"@id":"https://thuecat.org/resources/r_16573254-oapoi"},{"@id":"https://thuecat.org/resources/109950083644-arqe"},{"@id":"https://thuecat.org/resources/355818601084-zegp"},{"@id":"https://thuecat.org/resources/517095953903-gpcn"},{"@id":"https://thuecat.org/resources/954828840942-orbg"}],"schema:photo":{"@id":"https://thuecat.org/resources/dms_134362"},"schema:image":[{"@id":"https://thuecat.org/resources/dms_134288"},{"@id":"https://thuecat.org/resources/dms_134362"},{"@id":"https://thuecat.org/resources/dms_652340"}],"schema:audience":[{"@id":"https://thuecat.org/resources/626826573915-omab"},{"@id":"https://thuecat.org/resources/799431457224-zhww"},{"@id":"https://thuecat.org/resources/290287712606-zkwq"},{"@id":"https://thuecat.org/resources/631158796785-rmet"},{"@id":"https://thuecat.org/resources/312868368592-wnce"},{"@id":"https://thuecat.org/resources/168404918510-whfb"},{"@id":"https://thuecat.org/resources/169573689982-ftrx"},{"@id":"https://thuecat.org/resources/454636296838-aaxo"},{"@id":"https://thuecat.org/resources/449487802126-gecn"},{"@id":"https://thuecat.org/resources/301753337945-akzy"}],"schema:petsAllowed":{"@type":"schema:Boolean","@value":"true"},"schema:hasMap":{"@type":"schema:URL","@value":"https://www.google.com/maps/search/?api=1&query=50.978772,11.031622"},"schema:geo":{"@id":"genid-a45a5606cd074d86bf242c9464d84171-b4","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:GeoCoordinates"],"schema:longitude":{"@type":"schema:Number","@value":"11.031622"},"schema:latitude":{"@type":"schema:Number","@value":"50.978772"}},"schema:isAccessibleForFree":{"@type":"schema:Boolean","@value":"true"},"schema:smokingAllowed":{"@type":"schema:Boolean","@value":"true"},"schema:url":{"@type":"schema:URL","@value":"https://www.erfurt-tourismus.de/sehenswertes/kraemerbruecke"},"schema:availableLanguage":[{"@type":"thuecat:Language","@value":"thuecat:German"},{"@type":"thuecat:Language","@value":"thuecat:English"},{"@type":"thuecat:Language","@value":"thuecat:French"}],"schema:publicAccess":{"@type":"schema:Boolean","@value":"true"},"schema:address":{"@id":"genid-a45a5606cd074d86bf242c9464d84171-b0","@type":["schema:Intangible","schema:PostalAddress","schema:StructuredValue","schema:Thing","schema:ContactPoint"],"schema:addressLocality":{"@language":"de","@value":"Erfurt"},"schema:addressCountry":{"@type":"thuecat:AddressCountry","@value":"thuecat:Germany"},"schema:postalCode":{"@language":"de","@value":"99084"},"schema:addressRegion":{"@type":"thuecat:AddressFederalState","@value":"thuecat:Thuringia"},"schema:telephone":{"@language":"de","@value":"+49 361 66 400"},"schema:email":{"@language":"de","@value":"service@erfurt-tourismus.de"},"schema:streetAddress":{"@language":"de","@value":"Benediktsplatz 1"},"thuecat:typOfAddress":{"@type":"thuecat:TypOfAddress","@value":"thuecat:GuestService"}},"thuecat:contentResponsible":{"@id":"https://thuecat.org/resources/018132452787-ngbe"},"thuecat:monumentEnum":{"@type":"thuecat:MonumentEnum","@value":"thuecat:ArchitecturalMonumentSingle"},"thuecat:digitalOffer":{"@type":"thuecat:DigitalOffer","@value":"thuecat:ZeroDigitalOffer"},"thuecat:entrance":{"@type":"thuecat:Entrance","@value":"thuecat:OutdoorActivities"},"thuecat:gastro":[{"@type":"thuecat:GastroPoi","@value":"thuecat:TakeawayShop"},{"@type":"thuecat:GastroPoi","@value":"thuecat:Cafe"},{"@type":"thuecat:GastroPoi","@value":"thuecat:Restaurant"}],"thuecat:guidedTour":{"@type":"thuecat:EnumGuidedTour","@value":"thuecat:GuidedTourOnlyWithRegistration"},"thuecat:otherService":[{"@type":"thuecat:OtherService","@value":"thuecat:Playground"},{"@type":"thuecat:OtherService","@value":"thuecat:SeatingPossibilitiesRestArea"},{"@type":"thuecat:OtherService","@value":"thuecat:SouvenirShop"},{"@type":"thuecat:OtherService","@value":"thuecat:PlayCornerOrPlayArea"}],"thuecat:photography":{"@type":"thuecat:Photography","@value":"thuecat:TakingPicturesPermitted"},"thuecat:sanitation":{"@type":"thuecat:Sanitation","@value":"thuecat:ZeroSanitation"},"thuecat:trafficInfrastructure":{"@type":"thuecat:TrafficInfrastructure","@value":"thuecat:BicycleLockersEnumMem"},"thuecat:distanceToPublicTransport":{"@id":"genid-a45a5606cd074d86bf242c9464d84171-b5","@type":["schema:Intangible","schema:QuantitativeValue","schema:StructuredValue","schema:Thing"],"schema:unitCode":{"@type":"thuecat:Unit","@value":"thuecat:MTR"},"schema:value":{"@type":"schema:Number","@value":"250"}},"thuecat:parkingFacilityNearBy":[{"@id":"https://thuecat.org/resources/396420044896-drzt"},{"@id":"https://thuecat.org/resources/440055527204-ocar"}],"thuecat:architecturalStyle":{"@type":"thuecat:ArchitecturalStyle","@value":"thuecat:ZeroInformationArchitecturalStyle"},"thuecat:isRuin":{"@type":"schema:Boolean","@value":"false"}}]} \ No newline at end of file diff --git a/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/333039283321-xxwg/GET_c2346e6661c475f03f5daaa8d12555e6.txt b/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/333039283321-xxwg/GET_c2346e6661c475f03f5daaa8d12555e6.txt new file mode 100644 index 0000000..b657c5a --- /dev/null +++ b/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/333039283321-xxwg/GET_c2346e6661c475f03f5daaa8d12555e6.txt @@ -0,0 +1,19 @@ +HTTP/1.1 200 OK +Date: Wed, 17 Feb 2021 08:02:03 GMT +Content-Type: application/ld+json; charset=utf-8 +Content-Length: 8246 +Connection: keep-alive +Set-Cookie: ahSession=3214d2dc9f40fe97b06822c2c25fd67baf623db4;path=/;expires=Sat, 20 Mar 2021 08:02:03 GMT;httpOnly=true; +Access-Control-Allow-Methods: HEAD, GET, POST, DELETE, OPTIONS +Access-Control-Allow-Headers: Authorization, Content-Type +Strict-Transport-Security: max-age=15724800; includeSubDomains +Access-Control-Allow-Credentials: true +X-Frame-Options: deny +X-XSS-Protection: 1; mode=block +X-Content-Type-Options: nosniff +Referrer-Policy: same-origin +Feature-Policy: microphone 'none'; camera 'none'; payment 'none' +Content-Security-Policy: default-src 'self'; script-src 'self' 'sha256-xfTbtWk8kVI65iLJs8LB3lWf2g0g10DS71pDdoutFHc='; style-src 'self' 'unsafe-inline' https://stackpath.bootstrapcdn.com; img-src 'self' data: blob: * +Access-Control-Allow-Origin: https://cdb.thuecat.org + +{"@context":{"schema":"http://schema.org/","dbo":"http://dbpedia.org/ontology/","dsv":"http://ontologies.sti-innsbruck.at/dsv/","foaf":"http://xmlns.com/foaf/0.1/","owl":"http://www.w3.org/2002/07/owl#","rdf":"http://www.w3.org/1999/02/22-rdf-syntax-ns#","rdfs":"http://www.w3.org/2000/01/rdf-schema#","sh":"http://www.w3.org/ns/shacl#","xsd":"http://www.w3.org/2001/XMLSchema#","ttgds":"https://thuecat.org/ontology/ttgds/1.0/","cdb":"https://thuecat.org/ontology/cdb/1.0/","dachkg":"https://thuecat.org/ontology/dachkg/1.0/","thuecat":"https://thuecat.org/ontology/thuecat/1.0/"},"@graph":[{"@id":"https://thuecat.org/resources/333039283321-xxwg","@type":["schema:Place","schema:Organization","schema:LocalBusiness","schema:Thing","schema:TouristInformationCenter","ttgds:PointOfInterest","thuecat:TouristInformation"],"rdfs:label":{"@language":"de","@value":"Erfurt Tourist Information"},"schema:description":[{"@language":"de","@value":"Direkt an der Krämerbrücke liegt die Erfurter Tourist Information. Nach einer Modernisierung im Frühjahr 2017 erstrahlt diese in neuem Glanz und ist auch technisch auf dem neuesten Stand. Hier erhalten Sie Stadtpläne, Broschüren zu Erfurt und originelle Souvenirs. Zudem bietet die Tourist Information vielfältige Stadtführungen und Rundfahrten mit Straßenbahn oder Bus sowie kompetente Beratung zu Hotels, Pensionen und Privatunterkünften. "},{"@id":"genid-39178cabb01c40e091809d730cb07b5a-b1","@type":["thuecat:Html"],"schema:value":{"@language":"de","@value":"Direkt an der Krämerbrücke liegt die Erfurter Tourist Information. Nach einer Modernisierung im Frühjahr 2017 erstrahlt diese in neuem Glanz und ist auch technisch auf dem neuesten Stand. Hier erhalten Sie Stadtpläne, Broschüren zu Erfurt und originelle Souvenirs. Zudem bietet die Tourist Information vielfältige Stadtführungen und Rundfahrten mit Straßenbahn oder Bus sowie kompetente Beratung zu Hotels, Pensionen und Privatunterkünften. "}}],"schema:sameAs":{"@type":"schema:URL","@value":"https://www.outdooractive.com/de/16520521"},"schema:name":{"@language":"de","@value":"Erfurt Tourist Information"},"schema:containedInPlace":[{"@id":"https://thuecat.org/resources/043064193523-jcyt"},{"@id":"https://thuecat.org/resources/573211638937-gmqb"},{"@id":"https://thuecat.org/resources/e_108867196-oatour"},{"@id":"https://thuecat.org/resources/e_1492818-oatour"},{"@id":"https://thuecat.org/resources/e_16571065-oatour"},{"@id":"https://thuecat.org/resources/e_16659193-oatour"},{"@id":"https://thuecat.org/resources/e_18179059-oatour"},{"@id":"https://thuecat.org/resources/e_18429754-oatour"},{"@id":"https://thuecat.org/resources/e_18429974-oatour"},{"@id":"https://thuecat.org/resources/e_18550292-oatour"},{"@id":"https://thuecat.org/resources/e_21827958-oatour"},{"@id":"https://thuecat.org/resources/e_39285647-oatour"},{"@id":"https://thuecat.org/resources/e_52469786-oatour"},{"@id":"https://thuecat.org/resources/356133173991-cryw"}],"schema:containsPlace":{"@id":"https://thuecat.org/resources/186583376407-xkwx"},"schema:photo":{"@id":"https://thuecat.org/resources/dms_5162598"},"schema:image":{"@id":"https://thuecat.org/resources/dms_5162598"},"schema:petsAllowed":{"@type":"schema:Boolean","@value":"true"},"schema:hasMap":{"@type":"schema:URL","@value":"https://www.google.de/maps/place/Benediktspl.+1,+99084+Erfurt/@50.9784152,11.0276505,17z/data=!4m13!1m7!3m6!1s0x47a472961021c18b:0xc2d4b6b7eb27d4c1!2sBenediktspl.+1,+99084+Erfurt!3b1!8m2!3d50.9784118!4d11.0298392!3m4!1s0x47a472961021c18b:0xc2d4b6b7eb27d4c1!8m2!3d50.9784118!4d11.0298392?hl=de"},"schema:geo":{"@id":"genid-39178cabb01c40e091809d730cb07b5a-b2","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:GeoCoordinates"],"schema:longitude":{"@type":"schema:Number","@value":"11.0298392"},"schema:latitude":{"@type":"schema:Number","@value":"50.9784118"}},"schema:openingHoursSpecification":{"@id":"genid-39178cabb01c40e091809d730cb07b5a-b3","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:OpeningHoursSpecification"],"schema:validFrom":{"@type":"schema:Date","@value":"2021-02-22"},"schema:dayOfWeek":[{"@type":"schema:DayOfWeek","@value":"schema:Saturday"},{"@type":"schema:DayOfWeek","@value":"schema:Friday"},{"@type":"schema:DayOfWeek","@value":"schema:Thursday"},{"@type":"schema:DayOfWeek","@value":"schema:Tuesday"},{"@type":"schema:DayOfWeek","@value":"schema:Monday"},{"@type":"schema:DayOfWeek","@value":"schema:Wednesday"}],"schema:opens":{"@type":"schema:Time","@value":"10:00:00"},"schema:validThrough":{"@type":"schema:Date","@value":"2021-12-31"},"schema:closes":{"@type":"schema:Time","@value":"18:00:00"}},"schema:isAccessibleForFree":{"@type":"schema:Boolean","@value":"true"},"schema:smokingAllowed":{"@type":"schema:Boolean","@value":"false"},"schema:url":{"@type":"schema:URL","@value":"https://www.erfurt-tourismus.de"},"schema:publicAccess":{"@type":"schema:Boolean","@value":"true"},"schema:paymentAccepted":[{"@type":"thuecat:PaymentAcceptedEnum","@value":"thuecat:CashPayment"},{"@type":"thuecat:PaymentAcceptedEnum","@value":"thuecat:EC"}],"schema:address":{"@id":"genid-39178cabb01c40e091809d730cb07b5a-b0","@type":["schema:Intangible","schema:PostalAddress","schema:StructuredValue","schema:Thing","schema:ContactPoint"],"schema:addressLocality":{"@language":"de","@value":"Erfurt"},"schema:addressCountry":{"@type":"thuecat:AddressCountry","@value":"thuecat:Germany"},"schema:postalCode":{"@language":"de","@value":"99084"},"schema:addressRegion":{"@type":"thuecat:AddressFederalState","@value":"thuecat:Thuringia"},"schema:telephone":{"@language":"de","@value":"+49 361 66400"},"schema:email":{"@language":"de","@value":"info@erfurt-tourismus.de"},"schema:streetAddress":{"@language":"de","@value":"Benediktsplatz 1"},"schema:faxNumber":{"@language":"de","@value":"+49 361 6640290"},"thuecat:typOfAddress":{"@type":"thuecat:TypOfAddress","@value":"thuecat:HouseAddress"}},"thuecat:contentResponsible":{"@id":"https://thuecat.org/resources/018132452787-ngbe"},"thuecat:managedBy":{"@id":"https://thuecat.org/resources/018132452787-ngbe"},"thuecat:digitalOffer":{"@type":"thuecat:DigitalOffer","@value":"thuecat:ZeroDigitalOffer"},"thuecat:entrance":{"@type":"thuecat:Entrance","@value":"thuecat:IndoorActivities"},"thuecat:gastro":{"@type":"thuecat:GastroPoi","@value":"thuecat:ZeroGastronomy"},"thuecat:guidedTour":{"@type":"thuecat:EnumGuidedTour","@value":"thuecat:ZeroGuidedTours"},"thuecat:otherService":{"@type":"thuecat:OtherService","@value":"thuecat:ZeroOtherServiceEnumMem"},"thuecat:photography":{"@type":"thuecat:Photography","@value":"thuecat:TakingPicturesPermitted"},"thuecat:sanitation":{"@type":"thuecat:Sanitation","@value":"thuecat:ZeroSanitation"},"thuecat:trafficInfrastructure":{"@type":"thuecat:TrafficInfrastructure","@value":"thuecat:ZeroSpecialTrafficInfrastructure"},"thuecat:distanceToPublicTransport":{"@id":"genid-39178cabb01c40e091809d730cb07b5a-b4","@type":["schema:Intangible","schema:QuantitativeValue","schema:StructuredValue","schema:Thing"],"schema:unitCode":{"@type":"thuecat:Unit","@value":"thuecat:MTR"},"schema:value":{"@type":"schema:Number","@value":"180"}},"thuecat:parkingFacilityNearBy":{"@id":"https://thuecat.org/resources/396420044896-drzt"},"thuecat:serviceAndOffers":[{"@type":"thuecat:ServiceAndOffers","@value":"thuecat:AccommodationService"},{"@type":"thuecat:ServiceAndOffers","@value":"thuecat:CityMapDisplay"},{"@type":"thuecat:ServiceAndOffers","@value":"thuecat:CityMapEdition"},{"@type":"thuecat:ServiceAndOffers","@value":"thuecat:GuidedCityTours"},{"@type":"thuecat:ServiceAndOffers","@value":"thuecat:InformationAboutAccommodation"},{"@type":"thuecat:ServiceAndOffers","@value":"thuecat:InformationPlacePrint"},{"@type":"thuecat:ServiceAndOffers","@value":"thuecat:InformationPrintSights"},{"@type":"thuecat:ServiceAndOffers","@value":"thuecat:InformationRegionPrint"},{"@type":"thuecat:ServiceAndOffers","@value":"thuecat:SouvenirShop"},{"@type":"thuecat:ServiceAndOffers","@value":"thuecat:TicketShop"},{"@type":"thuecat:ServiceAndOffers","@value":"thuecat:Touristcard"}],"thuecat:urlInformationSights":{"@type":"schema:URL","@value":"https://www.erfurt-tourismus.de/sehens-wissenswertes"}}]} \ No newline at end of file diff --git a/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/835224016581-dara/GET_ad20c0db0ea2cf3000ca2738f00dd421.txt b/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/835224016581-dara/GET_ad20c0db0ea2cf3000ca2738f00dd421.txt new file mode 100644 index 0000000..9998229 --- /dev/null +++ b/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/835224016581-dara/GET_ad20c0db0ea2cf3000ca2738f00dd421.txt @@ -0,0 +1,19 @@ +HTTP/1.1 200 OK +Date: Wed, 17 Feb 2021 08:04:06 GMT +Content-Type: application/ld+json; charset=utf-8 +Content-Length: 11716 +Connection: keep-alive +Set-Cookie: ahSession=06f1bc392b6485385a5ad291337e404c45d21e40;path=/;expires=Sat, 20 Mar 2021 08:04:05 GMT;httpOnly=true; +Access-Control-Allow-Methods: HEAD, GET, POST, DELETE, OPTIONS +Access-Control-Allow-Headers: Authorization, Content-Type +Strict-Transport-Security: max-age=15724800; includeSubDomains +Access-Control-Allow-Credentials: true +X-Frame-Options: deny +X-XSS-Protection: 1; mode=block +X-Content-Type-Options: nosniff +Referrer-Policy: same-origin +Feature-Policy: microphone 'none'; camera 'none'; payment 'none' +Content-Security-Policy: default-src 'self'; script-src 'self' 'sha256-xfTbtWk8kVI65iLJs8LB3lWf2g0g10DS71pDdoutFHc='; style-src 'self' 'unsafe-inline' https://stackpath.bootstrapcdn.com; img-src 'self' data: blob: * +Access-Control-Allow-Origin: https://cdb.thuecat.org + +{"@context":{"schema":"http://schema.org/","dbo":"http://dbpedia.org/ontology/","dsv":"http://ontologies.sti-innsbruck.at/dsv/","foaf":"http://xmlns.com/foaf/0.1/","owl":"http://www.w3.org/2002/07/owl#","rdf":"http://www.w3.org/1999/02/22-rdf-syntax-ns#","rdfs":"http://www.w3.org/2000/01/rdf-schema#","sh":"http://www.w3.org/ns/shacl#","xsd":"http://www.w3.org/2001/XMLSchema#","ttgds":"https://thuecat.org/ontology/ttgds/1.0/","cdb":"https://thuecat.org/ontology/cdb/1.0/","dachkg":"https://thuecat.org/ontology/dachkg/1.0/","thuecat":"https://thuecat.org/ontology/thuecat/1.0/"},"@graph":[{"@id":"https://thuecat.org/resources/835224016581-dara","@type":["schema:Place","schema:Thing","schema:TouristAttraction","ttgds:PointOfInterest","thuecat:Building","thuecat:ReligiousBuilding","thuecat:Cathedral","thuecat:CatholicChurch","thuecat:Dome"],"rdfs:label":[{"@language":"de","@value":"Dom St. Marien"},{"@language":"en","@value":"Cathedral of St. Mary"}],"schema:description":[{"@language":"en","@value":"The late Gothic cathedral with its high-Gothic choir and Romanesque tower replaced the church built on this site for Bishop Boniface in 742. The central tower houses the \"Gloriosa\", the world’s largest medieval free-swinging bell. "},{"@language":"de","@value":"Über eine 70-stufige Freitreppe gelangt man vom Domplatz auf den Domberg mit seinen beiden ehemaligen Stiftskirchen. Der Dom, mit hochgotischem Chor, romanischem Turmbereich und spätgotischer Westhalle, ist Nachfolger des 724 von Rom veranlassten Sakralbaus. Er war die Hauptkirche des 742 von Bischof Bonifatius gegründeten Bistums Erfurt und während des Mittelalters bis in das frühe 19. Jahrhundert Sitz des Collegiatstifts St. Marien. 1507 erhielt Martin Luther hier die Priesterweihe.\nDer ursprünglich romanische Kirchenbau wurde in der Zeit der Gotik entscheidend umgebaut. Besonders sehenswert sind die gotischen Chorfenster, das umfängliche Chorgestühl (14. Jhd.) sowie die romanischen Skulpturen einer thronenden Madonna und eines monumentalen Kerzenträgers im Innenraum. Berühmt ist er auch wegen der „Gloriosa“, der mit 2,56 m Durchmesser größten freischwingenden mittelalterlichen Glocke der Welt.\nDas Ensemble von Dom und Severikirche bildet eine imposante Kulisse für die jährlich im Sommer stattfindenden DomStufen-Festspiele."},{"@id":"genid-7bb7d92bd6624bdf84634c86e8acdbb4-b1","@type":["thuecat:Html"],"schema:value":{"@language":"de","@value":"Über eine 70-stufige Freitreppe gelangt man vom Domplatz auf den Domberg mit seinen beiden ehemaligen Stiftskirchen. Der Dom, mit hochgotischem Chor, romanischem Turmbereich und spätgotischer Westhalle, ist Nachfolger des 724 von Rom veranlassten Sakralbaus. Er war die Hauptkirche des 742 von Bischof Bonifatius gegründeten Bistums Erfurt und während des Mittelalters bis in das frühe 19. Jahrhundert Sitz des Collegiatstifts St. Marien. 1507 erhielt Martin Luther hier die Priesterweihe.\n\nDer ursprünglich romanische Kirchenbau wurde in der Zeit der Gotik entscheidend umgebaut. Besonders sehenswert sind die gotischen Chorfenster, das umfängliche Chorgestühl (14. Jhd.) sowie die romanischen Skulpturen einer thronenden Madonna und eines monumentalen Kerzenträgers im Innenraum. Berühmt ist er auch wegen der „Gloriosa“, der mit 2,56 m Durchmesser größten freischwingenden mittelalterlichen Glocke der Welt.\n\nDas Ensemble von Dom und Severikirche bildet eine imposante Kulisse für die jährlich im Sommer stattfindenden DomStufen-Festspiele."}},{"@id":"genid-7bb7d92bd6624bdf84634c86e8acdbb4-b2","@type":["thuecat:Html"],"schema:value":{"@language":"en","@value":"The late Gothic cathedral with its high-Gothic choir and Romanesque tower replaced the church built on this site for Bishop Boniface in 742. The central tower houses the \"Gloriosa\", the world’s largest medieval free-swinging bell. "}}],"schema:sameAs":[{"@type":"xsd:string","@value":"https://d-nb.info/gnd/4199339-1"},{"@type":"schema:URL","@value":"https://www.outdooractive.com/de/51497768"}],"schema:name":[{"@language":"de","@value":"Dom St. Marien"},{"@language":"en","@value":"Cathedral of St. Mary"}],"schema:containedInPlace":[{"@id":"https://thuecat.org/resources/043064193523-jcyt"},{"@id":"https://thuecat.org/resources/573211638937-gmqb"},{"@id":"https://thuecat.org/resources/508431710173-wwne"}],"schema:photo":{"@id":"https://thuecat.org/resources/dms_5159216"},"schema:image":[{"@id":"https://thuecat.org/resources/dms_5159186"},{"@id":"https://thuecat.org/resources/dms_5159216"}],"schema:audience":[{"@id":"https://thuecat.org/resources/290287712606-zkwq"},{"@id":"https://thuecat.org/resources/631158796785-rmet"},{"@id":"https://thuecat.org/resources/312868368592-wnce"},{"@id":"https://thuecat.org/resources/301753337945-akzy"},{"@id":"https://thuecat.org/resources/304061111979-rmed"},{"@id":"https://thuecat.org/resources/668239314161-keen"}],"schema:petsAllowed":{"@type":"schema:Boolean","@value":"false"},"schema:hasMap":{"@type":"schema:URL","@value":"https://www.google.de/maps/place/Erfurter+Dom/@50.9759889,11.0202592,995m/data=!3m1!1e3!4m5!3m4!1s0x47a472947dc34709:0xc571fc7f144f9dd5!8m2!3d50.9758057!4d11.0232903"},"schema:geo":{"@id":"genid-7bb7d92bd6624bdf84634c86e8acdbb4-b3","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:GeoCoordinates"],"schema:longitude":{"@type":"schema:Number","@value":"11.023667024961856"},"schema:latitude":{"@type":"schema:Number","@value":"50.975955358589545"}},"schema:openingHoursSpecification":[{"@id":"genid-7bb7d92bd6624bdf84634c86e8acdbb4-b4","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:OpeningHoursSpecification"],"schema:validFrom":{"@type":"schema:Date","@value":"2021-05-01"},"schema:dayOfWeek":[{"@type":"schema:DayOfWeek","@value":"schema:Saturday"},{"@type":"schema:DayOfWeek","@value":"schema:Friday"},{"@type":"schema:DayOfWeek","@value":"schema:Thursday"},{"@type":"schema:DayOfWeek","@value":"schema:Tuesday"},{"@type":"schema:DayOfWeek","@value":"schema:Monday"},{"@type":"schema:DayOfWeek","@value":"schema:Wednesday"}],"schema:opens":{"@type":"schema:Time","@value":"09:30:00"},"schema:validThrough":{"@type":"schema:Date","@value":"2021-10-31"},"schema:closes":{"@type":"schema:Time","@value":"18:00:00"}},{"@id":"genid-7bb7d92bd6624bdf84634c86e8acdbb4-b5","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:OpeningHoursSpecification"],"schema:validFrom":{"@type":"schema:Date","@value":"2021-05-01"},"schema:dayOfWeek":{"@type":"schema:DayOfWeek","@value":"schema:Sunday"},"schema:opens":{"@type":"schema:Time","@value":"13:00:00"},"schema:validThrough":{"@type":"schema:Date","@value":"2021-10-31"},"schema:closes":{"@type":"schema:Time","@value":"18:00:00"}},{"@id":"genid-7bb7d92bd6624bdf84634c86e8acdbb4-b6","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:OpeningHoursSpecification"],"schema:validFrom":{"@type":"schema:Date","@value":"2021-11-01"},"schema:dayOfWeek":[{"@type":"schema:DayOfWeek","@value":"schema:Saturday"},{"@type":"schema:DayOfWeek","@value":"schema:Friday"},{"@type":"schema:DayOfWeek","@value":"schema:Thursday"},{"@type":"schema:DayOfWeek","@value":"schema:Tuesday"},{"@type":"schema:DayOfWeek","@value":"schema:Monday"},{"@type":"schema:DayOfWeek","@value":"schema:Wednesday"}],"schema:opens":{"@type":"schema:Time","@value":"09:30:00"},"schema:validThrough":{"@type":"schema:Date","@value":"2022-04-30"},"schema:closes":{"@type":"schema:Time","@value":"17:00:00"}},{"@id":"genid-7bb7d92bd6624bdf84634c86e8acdbb4-b7","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:OpeningHoursSpecification"],"schema:validFrom":{"@type":"schema:Date","@value":"2021-11-01"},"schema:dayOfWeek":{"@type":"schema:DayOfWeek","@value":"schema:Sunday"},"schema:opens":{"@type":"schema:Time","@value":"13:00:00"},"schema:validThrough":{"@type":"schema:Date","@value":"2022-04-30"},"schema:closes":{"@type":"schema:Time","@value":"17:00:00"}}],"schema:isAccessibleForFree":{"@type":"schema:Boolean","@value":"true"},"schema:smokingAllowed":{"@type":"schema:Boolean","@value":"false"},"schema:event":{"@id":"https://thuecat.org/resources/877394006549-htcm"},"schema:subjectOf":[{"@id":"https://thuecat.org/resources/dms_5301198"},{"@id":"https://thuecat.org/resources/dms_5301226"},{"@id":"https://thuecat.org/resources/dms_5301252"},{"@id":"https://thuecat.org/resources/dms_5301333"},{"@id":"https://thuecat.org/resources/dms_5301367"},{"@id":"https://thuecat.org/resources/dms_5301494"},{"@id":"https://thuecat.org/resources/dms_5301396"},{"@id":"https://thuecat.org/resources/dms_5301527"},{"@id":"https://thuecat.org/resources/dms_5301426"},{"@id":"https://thuecat.org/resources/dms_5301462"}],"schema:url":{"@type":"schema:URL","@value":"http://www.dom-erfurt.de"},"schema:availableLanguage":[{"@type":"thuecat:Language","@value":"thuecat:German"},{"@type":"thuecat:Language","@value":"thuecat:English"}],"schema:publicAccess":{"@type":"schema:Boolean","@value":"true"},"schema:address":{"@id":"genid-7bb7d92bd6624bdf84634c86e8acdbb4-b0","@type":["schema:Intangible","schema:PostalAddress","schema:StructuredValue","schema:Thing","schema:ContactPoint"],"schema:addressLocality":{"@language":"de","@value":"Erfurt"},"schema:addressCountry":{"@type":"thuecat:AddressCountry","@value":"thuecat:Germany"},"schema:postalCode":{"@language":"de","@value":"99084"},"schema:addressRegion":{"@type":"thuecat:AddressFederalState","@value":"thuecat:Thuringia"},"schema:telephone":{"@language":"de","@value":"+49 361 6461265"},"schema:email":{"@language":"de","@value":"dominformation@domberg-erfurt.de"},"schema:streetAddress":{"@language":"de","@value":"Domstufen 1"},"thuecat:typOfAddress":{"@type":"thuecat:TypOfAddress","@value":"thuecat:HouseAddress"}},"thuecat:contentResponsible":{"@id":"https://thuecat.org/resources/018132452787-ngbe"},"thuecat:monumentEnum":{"@type":"thuecat:MonumentEnum","@value":"thuecat:ArchitecturalMonumentSingle"},"thuecat:whoWasHere":{"@id":"https://thuecat.org/resources/901716982561-qqcn"},"thuecat:digitalOffer":{"@type":"thuecat:DigitalOffer","@value":"thuecat:AugmentedReality"},"thuecat:entrance":{"@type":"thuecat:Entrance","@value":"thuecat:IndoorActivities"},"thuecat:gastro":{"@type":"thuecat:GastroPoi","@value":"thuecat:ZeroGastronomy"},"thuecat:guidedTour":[{"@type":"thuecat:EnumGuidedTour","@value":"thuecat:GuidedTourOnlyWithRegistration"},{"@type":"thuecat:EnumGuidedTour","@value":"thuecat:GuidedTourRegistrationNotRequired"}],"thuecat:otherService":[{"@type":"thuecat:OtherService","@value":"thuecat:SeatingPossibilitiesRestArea"},{"@type":"thuecat:OtherService","@value":"thuecat:SouvenirShop"}],"thuecat:photography":{"@language":"de","@value":"Fotogenehmigung für innen"},"thuecat:sanitation":[{"@type":"thuecat:Sanitation","@value":"thuecat:Toilets"},{"@type":"thuecat:Sanitation","@value":"thuecat:DisabledToilets"}],"thuecat:trafficInfrastructure":[{"@type":"thuecat:TrafficInfrastructure","@value":"thuecat:BicycleLockersEnumMem"},{"@type":"thuecat:TrafficInfrastructure","@value":"thuecat:BusParkCoachParkEnumMem"}],"thuecat:distanceToPublicTransport":{"@id":"genid-7bb7d92bd6624bdf84634c86e8acdbb4-b8","@type":["schema:Intangible","schema:QuantitativeValue","schema:StructuredValue","schema:Thing"],"schema:unitCode":{"@type":"thuecat:Unit","@value":"thuecat:MTR"},"schema:value":{"@type":"schema:Number","@value":"350"}},"thuecat:parkingFacilityNearBy":{"@id":"https://thuecat.org/resources/396420044896-drzt"},"thuecat:architecturalStyle":{"@type":"thuecat:ArchitecturalStyle","@value":"thuecat:GothicArt"},"thuecat:isRuin":{"@type":"schema:Boolean","@value":"false"}}]} \ No newline at end of file diff --git a/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/dms_134288/GET_a8efc4904f4ce96380b8a4fee43396eb.txt b/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/dms_134288/GET_a8efc4904f4ce96380b8a4fee43396eb.txt new file mode 100644 index 0000000..1250a95 --- /dev/null +++ b/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/dms_134288/GET_a8efc4904f4ce96380b8a4fee43396eb.txt @@ -0,0 +1,19 @@ +HTTP/1.1 200 OK +Date: Wed, 17 Feb 2021 08:03:50 GMT +Content-Type: application/ld+json; charset=utf-8 +Content-Length: 7346 +Connection: keep-alive +Set-Cookie: ahSession=94f536c5d0713fb056832561e2c6ebe083d95749;path=/;expires=Sat, 20 Mar 2021 08:03:50 GMT;httpOnly=true; +Access-Control-Allow-Methods: HEAD, GET, POST, DELETE, OPTIONS +Access-Control-Allow-Headers: Authorization, Content-Type +Strict-Transport-Security: max-age=15724800; includeSubDomains +Access-Control-Allow-Credentials: true +X-Frame-Options: deny +X-XSS-Protection: 1; mode=block +X-Content-Type-Options: nosniff +Referrer-Policy: same-origin +Feature-Policy: microphone 'none'; camera 'none'; payment 'none' +Content-Security-Policy: default-src 'self'; script-src 'self' 'sha256-xfTbtWk8kVI65iLJs8LB3lWf2g0g10DS71pDdoutFHc='; style-src 'self' 'unsafe-inline' https://stackpath.bootstrapcdn.com; img-src 'self' data: blob: * +Access-Control-Allow-Origin: https://cdb.thuecat.org + +{"@context":{"schema":"http://schema.org/","dbo":"http://dbpedia.org/ontology/","dsv":"http://ontologies.sti-innsbruck.at/dsv/","foaf":"http://xmlns.com/foaf/0.1/","owl":"http://www.w3.org/2002/07/owl#","rdf":"http://www.w3.org/1999/02/22-rdf-syntax-ns#","rdfs":"http://www.w3.org/2000/01/rdf-schema#","sh":"http://www.w3.org/ns/shacl#","xsd":"http://www.w3.org/2001/XMLSchema#","ttgds":"https://thuecat.org/ontology/ttgds/1.0/","cdb":"https://thuecat.org/ontology/cdb/1.0/","dachkg":"https://thuecat.org/ontology/dachkg/1.0/","thuecat":"https://thuecat.org/ontology/thuecat/1.0/"},"@graph":[{"@id":"https://thuecat.org/resources/dms_134288","@type":["schema:CreativeWork","schema:MediaObject","schema:Thing","schema:ImageObject","http://purl.org/dc/dcmitype/Image"],"rdfs:label":{"@language":"de","@value":"Erfurt-Kraemerbruecke.jpg"},"schema:width":{"@type":"xsd:string","@value":"5139"},"schema:description":{"@language":"de","@value":"Krämerbrücke in Erfurt"},"schema:sameAs":{"@type":"xsd:anyURI","@value":"https://wbk.thuecat.org"},"schema:identifier":{"@type":"schema:PropertyValue","@value":"134288"},"schema:keywords":[{"@type":"xsd:string","@value":"Sommer"},{"@type":"xsd:string","@value":"Vorder- / Frontallicht"},{"@type":"xsd:string","@value":"Städte und Architektur"},{"@type":"xsd:string","@value":"Erfurt"}],"schema:name":{"@language":"de","@value":"Erfurt-Kraemerbruecke.jpg"},"schema:copyrightYear":{"@language":"de","@value":"2019"},"schema:height":{"@type":"xsd:string","@value":"3426"},"schema:bitrate":{"@type":"xsd:string","@value":"8"},"schema:exifData":[{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b55969","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:Model"},"schema:name":{"@type":"xsd:string","@value":"tiff:Model"},"schema:value":{"@type":"xsd:string","@value":"NIKON D5"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b55970","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"exif:ExposureTime"},"schema:name":{"@type":"xsd:string","@value":"exif:ExposureTime"},"schema:value":{"@type":"xsd:string","@value":"0.005"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b55971","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:XResolution"},"schema:name":{"@type":"xsd:string","@value":"tiff:XResolution"},"schema:value":{"@type":"xsd:string","@value":"300.0"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b55972","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:Software"},"schema:name":{"@type":"xsd:string","@value":"tiff:Software"},"schema:value":{"@type":"xsd:string","@value":"Adobe Photoshop CS6 (Macintosh)"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b55973","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:Orientation"},"schema:name":{"@type":"xsd:string","@value":"tiff:Orientation"},"schema:value":{"@type":"xsd:string","@value":"1"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b55974","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:ResolutionUnit"},"schema:name":{"@type":"xsd:string","@value":"tiff:ResolutionUnit"},"schema:value":{"@type":"xsd:string","@value":"Inch"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b55975","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:SamplesPerPixel"},"schema:name":{"@type":"xsd:string","@value":"tiff:SamplesPerPixel"},"schema:value":{"@type":"xsd:string","@value":"3"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b55976","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"exif:IsoSpeedRatings"},"schema:name":{"@type":"xsd:string","@value":"exif:IsoSpeedRatings"},"schema:value":{"@type":"xsd:string","@value":"140"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b55977","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:YResolution"},"schema:name":{"@type":"xsd:string","@value":"tiff:YResolution"},"schema:value":{"@type":"xsd:string","@value":"300.0"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b55978","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:Make"},"schema:name":{"@type":"xsd:string","@value":"tiff:Make"},"schema:value":{"@type":"xsd:string","@value":"NIKON CORPORATION"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b55979","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"exif:Flash"},"schema:name":{"@type":"xsd:string","@value":"exif:Flash"},"schema:value":{"@type":"xsd:string","@value":"false"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b55980","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"exif:FocalLength"},"schema:name":{"@type":"xsd:string","@value":"exif:FocalLength"},"schema:value":{"@type":"xsd:string","@value":"50.0"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b55981","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"exif:FNumber"},"schema:name":{"@type":"xsd:string","@value":"exif:FNumber"},"schema:value":{"@type":"xsd:string","@value":"10.0"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b55982","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"exif:DateTimeOriginal"},"schema:name":{"@type":"xsd:string","@value":"exif:DateTimeOriginal"},"schema:value":{"@type":"xsd:string","@value":"2019-08-16T15:09:26"}}],"schema:author":{"@type":"xsd:string","@value":"Florian Trykowski"},"schema:thumbnailUrl":{"@type":"xsd:string","@value":"https://cms.thuecat.org/o/adaptive-media/image/134288/Thumbnail-300x300/image"},"schema:url":{"@type":"xsd:anyURI","@value":"https://cms.thuecat.org/o/adaptive-media/image/134288/Preview-1280x0/image"},"schema:license":{"@language":"de","@value":"https://creativecommons.org/publicdomain/zero/1.0/deed.de"},"thuecat:licenseAuthor":{"@language":"de","@value":"https://home.ttgnet.de/ttg/projekte/10006/90136/Projektdokumente/Vergabe%20Rahmenvertrag%20Fotoproduktion"},"thuecat:licenseLocation":{"@language":"de","@value":"https://home.ttgnet.de/ttg/projekte/10006/90136/Projektdokumente/Fotoproduktion-Trykowski/2019%2007%20Shooting%20Erfurt%20Panoramabild%20ega%20und%20Innenstadt"},"thuecat:licensePeriod":{"@language":"de","@value":""},"thuecat:licensePerson":{"@language":"de","@value":"https://home.ttgnet.de/ttg/projekte/10006/90136/Projektdokumente/Fotoproduktion-Trykowski/2019%2007%20Shooting%20Erfurt%20Panoramabild%20ega%20und%20Innenstadt"}}]} \ No newline at end of file diff --git a/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/dms_134362/GET_047397c88c8cb1bb5514d4d3ef4b4839.txt b/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/dms_134362/GET_047397c88c8cb1bb5514d4d3ef4b4839.txt new file mode 100644 index 0000000..f4d3080 --- /dev/null +++ b/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/dms_134362/GET_047397c88c8cb1bb5514d4d3ef4b4839.txt @@ -0,0 +1,19 @@ +HTTP/1.1 200 OK +Date: Wed, 17 Feb 2021 08:03:50 GMT +Content-Type: application/ld+json; charset=utf-8 +Content-Length: 7366 +Connection: keep-alive +Set-Cookie: ahSession=3e3e3f03b24a3a9f7eea750ec4c9b99774e2c09e;path=/;expires=Sat, 20 Mar 2021 08:03:50 GMT;httpOnly=true; +Access-Control-Allow-Methods: HEAD, GET, POST, DELETE, OPTIONS +Access-Control-Allow-Headers: Authorization, Content-Type +Strict-Transport-Security: max-age=15724800; includeSubDomains +Access-Control-Allow-Credentials: true +X-Frame-Options: deny +X-XSS-Protection: 1; mode=block +X-Content-Type-Options: nosniff +Referrer-Policy: same-origin +Feature-Policy: microphone 'none'; camera 'none'; payment 'none' +Content-Security-Policy: default-src 'self'; script-src 'self' 'sha256-xfTbtWk8kVI65iLJs8LB3lWf2g0g10DS71pDdoutFHc='; style-src 'self' 'unsafe-inline' https://stackpath.bootstrapcdn.com; img-src 'self' data: blob: * +Access-Control-Allow-Origin: https://cdb.thuecat.org + +{"@context":{"schema":"http://schema.org/","dbo":"http://dbpedia.org/ontology/","dsv":"http://ontologies.sti-innsbruck.at/dsv/","foaf":"http://xmlns.com/foaf/0.1/","owl":"http://www.w3.org/2002/07/owl#","rdf":"http://www.w3.org/1999/02/22-rdf-syntax-ns#","rdfs":"http://www.w3.org/2000/01/rdf-schema#","sh":"http://www.w3.org/ns/shacl#","xsd":"http://www.w3.org/2001/XMLSchema#","ttgds":"https://thuecat.org/ontology/ttgds/1.0/","cdb":"https://thuecat.org/ontology/cdb/1.0/","dachkg":"https://thuecat.org/ontology/dachkg/1.0/","thuecat":"https://thuecat.org/ontology/thuecat/1.0/"},"@graph":[{"@id":"https://thuecat.org/resources/dms_134362","@type":["schema:CreativeWork","schema:MediaObject","schema:Thing","schema:ImageObject","http://purl.org/dc/dcmitype/Image"],"rdfs:label":{"@language":"de","@value":"Erfurt-Kraemerbruecke-11.jpg"},"schema:width":{"@type":"xsd:string","@value":"4849"},"schema:description":{"@language":"de","@value":"Krämerbrücke in Erfurt"},"schema:sameAs":{"@type":"xsd:anyURI","@value":"https://wbk.thuecat.org"},"schema:identifier":{"@type":"schema:PropertyValue","@value":"134362"},"schema:keywords":[{"@type":"xsd:string","@value":"Sommer"},{"@type":"xsd:string","@value":"Vorder- / Frontallicht"},{"@type":"xsd:string","@value":"Städte und Architektur"},{"@type":"xsd:string","@value":"Erfurt"}],"schema:name":{"@language":"de","@value":"Erfurt-Kraemerbruecke-11.jpg"},"schema:copyrightYear":{"@language":"de","@value":"2019"},"schema:height":{"@type":"xsd:string","@value":"3233"},"schema:bitrate":{"@type":"xsd:string","@value":"8"},"schema:exifData":[{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b178480","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:Model"},"schema:name":{"@type":"xsd:string","@value":"tiff:Model"},"schema:value":{"@type":"xsd:string","@value":"NIKON D5"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b178481","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"exif:ExposureTime"},"schema:name":{"@type":"xsd:string","@value":"exif:ExposureTime"},"schema:value":{"@type":"xsd:string","@value":"0.004"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b178482","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:XResolution"},"schema:name":{"@type":"xsd:string","@value":"tiff:XResolution"},"schema:value":{"@type":"xsd:string","@value":"300.0"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b178483","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:Software"},"schema:name":{"@type":"xsd:string","@value":"tiff:Software"},"schema:value":{"@type":"xsd:string","@value":"Adobe Photoshop CS6 (Macintosh)"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b178484","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:Orientation"},"schema:name":{"@type":"xsd:string","@value":"tiff:Orientation"},"schema:value":{"@type":"xsd:string","@value":"1"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b178485","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:ResolutionUnit"},"schema:name":{"@type":"xsd:string","@value":"tiff:ResolutionUnit"},"schema:value":{"@type":"xsd:string","@value":"Inch"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b178486","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:SamplesPerPixel"},"schema:name":{"@type":"xsd:string","@value":"tiff:SamplesPerPixel"},"schema:value":{"@type":"xsd:string","@value":"3"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b178487","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"exif:IsoSpeedRatings"},"schema:name":{"@type":"xsd:string","@value":"exif:IsoSpeedRatings"},"schema:value":{"@type":"xsd:string","@value":"560"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b178488","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:YResolution"},"schema:name":{"@type":"xsd:string","@value":"tiff:YResolution"},"schema:value":{"@type":"xsd:string","@value":"300.0"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b178489","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:Make"},"schema:name":{"@type":"xsd:string","@value":"tiff:Make"},"schema:value":{"@type":"xsd:string","@value":"NIKON CORPORATION"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b178490","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"exif:Flash"},"schema:name":{"@type":"xsd:string","@value":"exif:Flash"},"schema:value":{"@type":"xsd:string","@value":"false"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b178491","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"exif:FocalLength"},"schema:name":{"@type":"xsd:string","@value":"exif:FocalLength"},"schema:value":{"@type":"xsd:string","@value":"14.0"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b178492","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"exif:FNumber"},"schema:name":{"@type":"xsd:string","@value":"exif:FNumber"},"schema:value":{"@type":"xsd:string","@value":"14.0"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b178493","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"exif:DateTimeOriginal"},"schema:name":{"@type":"xsd:string","@value":"exif:DateTimeOriginal"},"schema:value":{"@type":"xsd:string","@value":"2019-08-16T13:52:38"}}],"schema:author":{"@type":"xsd:string","@value":"Florian Trykowski"},"schema:thumbnailUrl":{"@type":"xsd:string","@value":"https://cms.thuecat.org/o/adaptive-media/image/134362/Thumbnail-300x300/image"},"schema:url":{"@type":"xsd:anyURI","@value":"https://cms.thuecat.org/o/adaptive-media/image/134362/Preview-1280x0/image"},"schema:license":{"@language":"de","@value":"https://creativecommons.org/publicdomain/zero/1.0/deed.de"},"thuecat:licenseAuthor":{"@language":"de","@value":"https://home.ttgnet.de/ttg/projekte/10006/90136/Projektdokumente/Vergabe%20Rahmenvertrag%20Fotoproduktion"},"thuecat:licenseLocation":{"@language":"de","@value":"https://home.ttgnet.de/ttg/projekte/10006/90136/Projektdokumente/Fotoproduktion-Trykowski/2019%2007%20Shooting%20Erfurt%20Panoramabild%20ega%20und%20Innenstadt"},"thuecat:licensePeriod":{"@language":"de","@value":""},"thuecat:licensePerson":{"@language":"de","@value":"https://home.ttgnet.de/ttg/projekte/10006/90136/Projektdokumente/Fotoproduktion-Trykowski/2019%2007%20Shooting%20Erfurt%20Panoramabild%20ega%20und%20Innenstadt"}}]} \ No newline at end of file diff --git a/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/dms_5099196/GET_a7dd3aa49ff3a80ac1524e59372926a2.txt b/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/dms_5099196/GET_a7dd3aa49ff3a80ac1524e59372926a2.txt new file mode 100644 index 0000000..f8cec38 --- /dev/null +++ b/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/dms_5099196/GET_a7dd3aa49ff3a80ac1524e59372926a2.txt @@ -0,0 +1,19 @@ +HTTP/1.1 200 OK +Date: Wed, 17 Feb 2021 08:03:50 GMT +Content-Type: application/ld+json; charset=utf-8 +Content-Length: 6166 +Connection: keep-alive +Set-Cookie: ahSession=d3fdef0fb0e239f6c69b2e554a93e878e6d2a686;path=/;expires=Sat, 20 Mar 2021 08:03:49 GMT;httpOnly=true; +Access-Control-Allow-Methods: HEAD, GET, POST, DELETE, OPTIONS +Access-Control-Allow-Headers: Authorization, Content-Type +Strict-Transport-Security: max-age=15724800; includeSubDomains +Access-Control-Allow-Credentials: true +X-Frame-Options: deny +X-XSS-Protection: 1; mode=block +X-Content-Type-Options: nosniff +Referrer-Policy: same-origin +Feature-Policy: microphone 'none'; camera 'none'; payment 'none' +Content-Security-Policy: default-src 'self'; script-src 'self' 'sha256-xfTbtWk8kVI65iLJs8LB3lWf2g0g10DS71pDdoutFHc='; style-src 'self' 'unsafe-inline' https://stackpath.bootstrapcdn.com; img-src 'self' data: blob: * +Access-Control-Allow-Origin: https://cdb.thuecat.org + +{"@context":{"schema":"http://schema.org/","dbo":"http://dbpedia.org/ontology/","dsv":"http://ontologies.sti-innsbruck.at/dsv/","foaf":"http://xmlns.com/foaf/0.1/","owl":"http://www.w3.org/2002/07/owl#","rdf":"http://www.w3.org/1999/02/22-rdf-syntax-ns#","rdfs":"http://www.w3.org/2000/01/rdf-schema#","sh":"http://www.w3.org/ns/shacl#","xsd":"http://www.w3.org/2001/XMLSchema#","ttgds":"https://thuecat.org/ontology/ttgds/1.0/","cdb":"https://thuecat.org/ontology/cdb/1.0/","dachkg":"https://thuecat.org/ontology/dachkg/1.0/","thuecat":"https://thuecat.org/ontology/thuecat/1.0/"},"@graph":[{"@id":"https://thuecat.org/resources/dms_5099196","@type":["schema:CreativeWork","schema:MediaObject","schema:Thing","schema:ImageObject","http://purl.org/dc/dcmitype/Image"],"rdfs:label":{"@language":"de","@value":"Erfurt-Alte Synagoge"},"schema:width":{"@type":"xsd:string","@value":"1181"},"schema:description":{"@language":"de","@value":"Frontaler Blick auf die Hausfront/Hausfassade im Innenhof mit Zugang über die Waagegasse"},"schema:sameAs":{"@type":"xsd:anyURI","@value":"https://wbk.thuecat.org"},"schema:identifier":{"@type":"schema:PropertyValue","@value":"5099196"},"schema:keywords":[{"@type":"xsd:string","@value":"Frontal"},{"@type":"xsd:string","@value":"Tag"},{"@type":"xsd:string","@value":"Gebäude / Architektur"},{"@type":"xsd:string","@value":"Sommer"},{"@type":"xsd:string","@value":"Bauwerk"},{"@type":"xsd:string","@value":"Vorder- / Frontallicht"},{"@type":"xsd:string","@value":"Erfurt"},{"@type":"xsd:string","@value":"jüdisches leben"},{"@type":"xsd:string","@value":"synagoge"},{"@type":"xsd:string","@value":"Jüdische Kultur"}],"schema:name":{"@language":"de","@value":"Erfurt-Alte Synagoge"},"schema:copyrightYear":{"@language":"de","@value":"2009"},"schema:height":{"@type":"xsd:string","@value":"948"},"schema:bitrate":{"@type":"xsd:string","@value":"8"},"schema:exifData":[{"@id":"genid-b438fc33428047b2996d0871fbf41bc5-b0","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:Model"},"schema:name":{"@type":"xsd:string","@value":"tiff:Model"},"schema:value":{"@type":"xsd:string","@value":"Canon EOS 5D"}},{"@id":"genid-b438fc33428047b2996d0871fbf41bc5-b1","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"exif:ExposureTime"},"schema:name":{"@type":"xsd:string","@value":"exif:ExposureTime"},"schema:value":{"@type":"xsd:string","@value":"0.004"}},{"@id":"genid-b438fc33428047b2996d0871fbf41bc5-b10","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:Make"},"schema:name":{"@type":"xsd:string","@value":"tiff:Make"},"schema:value":{"@type":"xsd:string","@value":"Canon"}},{"@id":"genid-b438fc33428047b2996d0871fbf41bc5-b2","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"exif:Flash"},"schema:name":{"@type":"xsd:string","@value":"exif:Flash"},"schema:value":{"@type":"xsd:string","@value":"false"}},{"@id":"genid-b438fc33428047b2996d0871fbf41bc5-b3","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"exif:FocalLength"},"schema:name":{"@type":"xsd:string","@value":"exif:FocalLength"},"schema:value":{"@type":"xsd:string","@value":"16.0"}},{"@id":"genid-b438fc33428047b2996d0871fbf41bc5-b4","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"exif:FNumber"},"schema:name":{"@type":"xsd:string","@value":"exif:FNumber"},"schema:value":{"@type":"xsd:string","@value":"8.0"}},{"@id":"genid-b438fc33428047b2996d0871fbf41bc5-b5","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"exif:DateTimeOriginal"},"schema:name":{"@type":"xsd:string","@value":"exif:DateTimeOriginal"},"schema:value":{"@type":"xsd:string","@value":"2009-07-05T15:07:37"}},{"@id":"genid-b438fc33428047b2996d0871fbf41bc5-b6","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:Software"},"schema:name":{"@type":"xsd:string","@value":"tiff:Software"},"schema:value":{"@type":"xsd:string","@value":"Adobe Photoshop CS4 Macintosh"}},{"@id":"genid-b438fc33428047b2996d0871fbf41bc5-b7","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:Orientation"},"schema:name":{"@type":"xsd:string","@value":"tiff:Orientation"},"schema:value":{"@type":"xsd:string","@value":"1"}},{"@id":"genid-b438fc33428047b2996d0871fbf41bc5-b8","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:SamplesPerPixel"},"schema:name":{"@type":"xsd:string","@value":"tiff:SamplesPerPixel"},"schema:value":{"@type":"xsd:string","@value":"4"}},{"@id":"genid-b438fc33428047b2996d0871fbf41bc5-b9","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"exif:IsoSpeedRatings"},"schema:name":{"@type":"xsd:string","@value":"exif:IsoSpeedRatings"},"schema:value":{"@type":"xsd:string","@value":"100"}}],"schema:thumbnailUrl":{"@type":"xsd:string","@value":"https://cms.thuecat.org/o/adaptive-media/image/5099196/Thumbnail-300x300/image"},"schema:url":{"@type":"xsd:anyURI","@value":"https://cms.thuecat.org/o/adaptive-media/image/5099196/Preview-1280x0/image"},"schema:license":{"@language":"de","@value":"https://creativecommons.org/licenses/by/4.0/"},"thuecat:licenseAuthor":{"@language":"de","@value":"F:\\Bilddatenbank\\Museen und Ausstellungen\\Alte Synagoge"},"thuecat:licenseLocation":{"@language":"de","@value":""},"thuecat:licensePeriod":{"@language":"de","@value":""},"thuecat:licensePerson":{"@language":"de","@value":""}}]} \ No newline at end of file diff --git a/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/dms_5159186/GET_65121b6b76684cbe0900c1c2c82f25a6.txt b/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/dms_5159186/GET_65121b6b76684cbe0900c1c2c82f25a6.txt new file mode 100644 index 0000000..78f2baf --- /dev/null +++ b/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/dms_5159186/GET_65121b6b76684cbe0900c1c2c82f25a6.txt @@ -0,0 +1,19 @@ +HTTP/1.1 200 OK +Date: Wed, 17 Feb 2021 08:03:49 GMT +Content-Type: application/ld+json; charset=utf-8 +Content-Length: 2991 +Connection: keep-alive +Set-Cookie: ahSession=583c8431692277a32ae3b9a37db1b53955b64107;path=/;expires=Sat, 20 Mar 2021 08:03:06 GMT;httpOnly=true; +Access-Control-Allow-Methods: HEAD, GET, POST, DELETE, OPTIONS +Access-Control-Allow-Headers: Authorization, Content-Type +Strict-Transport-Security: max-age=15724800; includeSubDomains +Access-Control-Allow-Credentials: true +X-Frame-Options: deny +X-XSS-Protection: 1; mode=block +X-Content-Type-Options: nosniff +Referrer-Policy: same-origin +Feature-Policy: microphone 'none'; camera 'none'; payment 'none' +Content-Security-Policy: default-src 'self'; script-src 'self' 'sha256-xfTbtWk8kVI65iLJs8LB3lWf2g0g10DS71pDdoutFHc='; style-src 'self' 'unsafe-inline' https://stackpath.bootstrapcdn.com; img-src 'self' data: blob: * +Access-Control-Allow-Origin: https://cdb.thuecat.org + +{"@context":{"schema":"http://schema.org/","dbo":"http://dbpedia.org/ontology/","dsv":"http://ontologies.sti-innsbruck.at/dsv/","foaf":"http://xmlns.com/foaf/0.1/","owl":"http://www.w3.org/2002/07/owl#","rdf":"http://www.w3.org/1999/02/22-rdf-syntax-ns#","rdfs":"http://www.w3.org/2000/01/rdf-schema#","sh":"http://www.w3.org/ns/shacl#","xsd":"http://www.w3.org/2001/XMLSchema#","ttgds":"https://thuecat.org/ontology/ttgds/1.0/","cdb":"https://thuecat.org/ontology/cdb/1.0/","dachkg":"https://thuecat.org/ontology/dachkg/1.0/","thuecat":"https://thuecat.org/ontology/thuecat/1.0/"},"@graph":[{"@id":"https://thuecat.org/resources/dms_5159186","@type":["schema:CreativeWork","schema:MediaObject","schema:Thing","schema:ImageObject","http://purl.org/dc/dcmitype/Image"],"rdfs:label":{"@language":"de","@value":"Erfurt-Dom-und-Severikirche.jpg"},"schema:width":{"@type":"xsd:string","@value":"3614"},"schema:description":{"@language":"de","@value":"Sicht auf Dom St. Marien, St. Severikirche sowie die davor liegenden Klostergebäude und einem Ausschnitt des Biergartens umgeben von einem dämmerungsverfärten Himmel"},"schema:sameAs":{"@type":"xsd:anyURI","@value":"https://wbk.thuecat.org"},"schema:identifier":{"@type":"schema:PropertyValue","@value":"5159186"},"schema:keywords":[{"@type":"xsd:string","@value":"Kultur und Geschichte"},{"@type":"xsd:string","@value":"Gebäude / Architektur"},{"@type":"xsd:string","@value":"Bauwerk"},{"@type":"xsd:string","@value":"Erfurt"},{"@type":"xsd:string","@value":"Abenddämmerung"},{"@type":"xsd:string","@value":"Halbtotale"},{"@type":"xsd:string","@value":"Gegenlicht"},{"@type":"xsd:string","@value":"Herbst"},{"@type":"xsd:string","@value":"domplatz"},{"@type":"xsd:string","@value":"Gruppenreisende"},{"@type":"xsd:string","@value":"Kennerschaft - Konservativ-Etabliertes Milieu"}],"schema:name":{"@language":"de","@value":"Erfurt-Dom-und-Severikirche.jpg"},"schema:copyrightYear":{"@language":"de","@value":"2020"},"schema:height":{"@type":"xsd:string","@value":"2160"},"schema:bitrate":{"@type":"xsd:string","@value":"8"},"schema:exifData":{"@id":"genid-2baad45f571f4196811b62a1b4e4027f-b0","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:Software"},"schema:name":{"@type":"xsd:string","@value":"tiff:Software"},"schema:value":{"@type":"xsd:string","@value":"Google"}},"schema:thumbnailUrl":{"@type":"xsd:string","@value":"https://cms.thuecat.org/o/adaptive-media/image/5159186/Thumbnail-300x300/image"},"schema:url":{"@type":"xsd:anyURI","@value":"https://cms.thuecat.org/o/adaptive-media/image/5159186/Preview-1280x0/image"},"schema:license":{"@language":"de","@value":"https://creativecommons.org/licenses/by/4.0/"},"thuecat:licenseAuthor":{"@language":"de","@value":""},"thuecat:licenseLocation":{"@language":"de","@value":""},"thuecat:licensePeriod":{"@language":"de","@value":""},"thuecat:licensePerson":{"@language":"de","@value":""}}]} \ No newline at end of file diff --git a/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/dms_5159216/GET_cba3d653d6c1d8522d62bb834e654fab.txt b/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/dms_5159216/GET_cba3d653d6c1d8522d62bb834e654fab.txt new file mode 100644 index 0000000..43a3a0c --- /dev/null +++ b/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/dms_5159216/GET_cba3d653d6c1d8522d62bb834e654fab.txt @@ -0,0 +1,19 @@ +HTTP/1.1 200 OK +Date: Wed, 17 Feb 2021 08:04:06 GMT +Content-Type: application/ld+json; charset=utf-8 +Content-Length: 6991 +Connection: keep-alive +Set-Cookie: ahSession=40427ff59a969316c84fe78d7f913ec95d073d11;path=/;expires=Sat, 20 Mar 2021 08:04:06 GMT;httpOnly=true; +Access-Control-Allow-Methods: HEAD, GET, POST, DELETE, OPTIONS +Access-Control-Allow-Headers: Authorization, Content-Type +Strict-Transport-Security: max-age=15724800; includeSubDomains +Access-Control-Allow-Credentials: true +X-Frame-Options: deny +X-XSS-Protection: 1; mode=block +X-Content-Type-Options: nosniff +Referrer-Policy: same-origin +Feature-Policy: microphone 'none'; camera 'none'; payment 'none' +Content-Security-Policy: default-src 'self'; script-src 'self' 'sha256-xfTbtWk8kVI65iLJs8LB3lWf2g0g10DS71pDdoutFHc='; style-src 'self' 'unsafe-inline' https://stackpath.bootstrapcdn.com; img-src 'self' data: blob: * +Access-Control-Allow-Origin: https://cdb.thuecat.org + +{"@context":{"schema":"http://schema.org/","dbo":"http://dbpedia.org/ontology/","dsv":"http://ontologies.sti-innsbruck.at/dsv/","foaf":"http://xmlns.com/foaf/0.1/","owl":"http://www.w3.org/2002/07/owl#","rdf":"http://www.w3.org/1999/02/22-rdf-syntax-ns#","rdfs":"http://www.w3.org/2000/01/rdf-schema#","sh":"http://www.w3.org/ns/shacl#","xsd":"http://www.w3.org/2001/XMLSchema#","ttgds":"https://thuecat.org/ontology/ttgds/1.0/","cdb":"https://thuecat.org/ontology/cdb/1.0/","dachkg":"https://thuecat.org/ontology/dachkg/1.0/","thuecat":"https://thuecat.org/ontology/thuecat/1.0/"},"@graph":[{"@id":"https://thuecat.org/resources/dms_5159216","@type":["schema:CreativeWork","schema:MediaObject","schema:Thing","schema:ImageObject","http://purl.org/dc/dcmitype/Image"],"rdfs:label":{"@language":"de","@value":"Erfurt-Dom und Severikirche-beleuchtet.jpg"},"schema:width":{"@type":"xsd:string","@value":"6000"},"schema:sameAs":{"@type":"xsd:anyURI","@value":"https://wbk.thuecat.org"},"schema:identifier":{"@type":"schema:PropertyValue","@value":"5159216"},"schema:keywords":[{"@type":"xsd:string","@value":"Gebäude / Architektur"},{"@type":"xsd:string","@value":"Sommer"},{"@type":"xsd:string","@value":"Bauwerk"},{"@type":"xsd:string","@value":"Erfurt"},{"@type":"xsd:string","@value":"Abenddämmerung"},{"@type":"xsd:string","@value":"Gegenlicht"},{"@type":"xsd:string","@value":"Herbst"},{"@type":"xsd:string","@value":"domplatz"},{"@type":"xsd:string","@value":"domstufen"},{"@type":"xsd:string","@value":"mariendom"}],"schema:name":{"@language":"de","@value":"Erfurt-Dom und Severikirche-beleuchtet.jpg"},"schema:copyrightYear":{"@language":"de","@value":"2016"},"schema:height":{"@type":"xsd:string","@value":"4000"},"schema:bitrate":{"@type":"xsd:string","@value":"8"},"schema:exifData":[{"@id":"genid-37df067e275748228ffc393973736a1b-b0","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:Model"},"schema:name":{"@type":"xsd:string","@value":"tiff:Model"},"schema:value":{"@type":"xsd:string","@value":"ILCE-6000"}},{"@id":"genid-37df067e275748228ffc393973736a1b-b1","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"exif:ExposureTime"},"schema:name":{"@type":"xsd:string","@value":"exif:ExposureTime"},"schema:value":{"@type":"xsd:string","@value":"0.00625"}},{"@id":"genid-37df067e275748228ffc393973736a1b-b10","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:SamplesPerPixel"},"schema:name":{"@type":"xsd:string","@value":"tiff:SamplesPerPixel"},"schema:value":{"@type":"xsd:string","@value":"3"}},{"@id":"genid-37df067e275748228ffc393973736a1b-b11","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"exif:IsoSpeedRatings"},"schema:name":{"@type":"xsd:string","@value":"exif:IsoSpeedRatings"},"schema:value":{"@type":"xsd:string","@value":"2000"}},{"@id":"genid-37df067e275748228ffc393973736a1b-b12","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:YResolution"},"schema:name":{"@type":"xsd:string","@value":"tiff:YResolution"},"schema:value":{"@type":"xsd:string","@value":"150.0"}},{"@id":"genid-37df067e275748228ffc393973736a1b-b13","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:Make"},"schema:name":{"@type":"xsd:string","@value":"tiff:Make"},"schema:value":{"@type":"xsd:string","@value":"SONY"}},{"@id":"genid-37df067e275748228ffc393973736a1b-b2","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"exif:Flash"},"schema:name":{"@type":"xsd:string","@value":"exif:Flash"},"schema:value":{"@type":"xsd:string","@value":"false"}},{"@id":"genid-37df067e275748228ffc393973736a1b-b3","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"exif:FocalLength"},"schema:name":{"@type":"xsd:string","@value":"exif:FocalLength"},"schema:value":{"@type":"xsd:string","@value":"26.0"}},{"@id":"genid-37df067e275748228ffc393973736a1b-b4","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"exif:FNumber"},"schema:name":{"@type":"xsd:string","@value":"exif:FNumber"},"schema:value":{"@type":"xsd:string","@value":"4.5"}},{"@id":"genid-37df067e275748228ffc393973736a1b-b5","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"exif:DateTimeOriginal"},"schema:name":{"@type":"xsd:string","@value":"exif:DateTimeOriginal"},"schema:value":{"@type":"xsd:string","@value":"2015-05-19T20:10:58"}},{"@id":"genid-37df067e275748228ffc393973736a1b-b6","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:XResolution"},"schema:name":{"@type":"xsd:string","@value":"tiff:XResolution"},"schema:value":{"@type":"xsd:string","@value":"150.0"}},{"@id":"genid-37df067e275748228ffc393973736a1b-b7","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:Software"},"schema:name":{"@type":"xsd:string","@value":"tiff:Software"},"schema:value":{"@type":"xsd:string","@value":"Adobe Photoshop CS6 (Windows)"}},{"@id":"genid-37df067e275748228ffc393973736a1b-b8","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:Orientation"},"schema:name":{"@type":"xsd:string","@value":"tiff:Orientation"},"schema:value":{"@type":"xsd:string","@value":"1"}},{"@id":"genid-37df067e275748228ffc393973736a1b-b9","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:ResolutionUnit"},"schema:name":{"@type":"xsd:string","@value":"tiff:ResolutionUnit"},"schema:value":{"@type":"xsd:string","@value":"Inch"}}],"schema:thumbnailUrl":{"@type":"xsd:string","@value":"https://cms.thuecat.org/o/adaptive-media/image/5159216/Thumbnail-300x300/image"},"schema:url":{"@type":"xsd:anyURI","@value":"https://cms.thuecat.org/o/adaptive-media/image/5159216/Preview-1280x0/image"},"schema:license":{"@language":"de","@value":"https://creativecommons.org/licenses/by/4.0/"},"thuecat:licenseAuthor":{"@language":"de","@value":""},"thuecat:licenseLocation":{"@language":"de","@value":""},"thuecat:licensePeriod":{"@language":"de","@value":""},"thuecat:licensePerson":{"@language":"de","@value":""}}]} \ No newline at end of file diff --git a/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/dms_652340/GET_f02dc2b752cd9fa52a7adb749e9ccfe2.txt b/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/dms_652340/GET_f02dc2b752cd9fa52a7adb749e9ccfe2.txt new file mode 100644 index 0000000..1c190cd --- /dev/null +++ b/Tests/Functional/Fixtures/Import/Guzzle/thuecat.org/resources/dms_652340/GET_f02dc2b752cd9fa52a7adb749e9ccfe2.txt @@ -0,0 +1,19 @@ +HTTP/1.1 200 OK +Date: Wed, 17 Feb 2021 08:03:50 GMT +Content-Type: application/ld+json; charset=utf-8 +Content-Length: 7756 +Connection: keep-alive +Set-Cookie: ahSession=3df5d27f7b64e4de290f4f81b2a6b540621a3c83;path=/;expires=Sat, 20 Mar 2021 08:03:50 GMT;httpOnly=true; +Access-Control-Allow-Methods: HEAD, GET, POST, DELETE, OPTIONS +Access-Control-Allow-Headers: Authorization, Content-Type +Strict-Transport-Security: max-age=15724800; includeSubDomains +Access-Control-Allow-Credentials: true +X-Frame-Options: deny +X-XSS-Protection: 1; mode=block +X-Content-Type-Options: nosniff +Referrer-Policy: same-origin +Feature-Policy: microphone 'none'; camera 'none'; payment 'none' +Content-Security-Policy: default-src 'self'; script-src 'self' 'sha256-xfTbtWk8kVI65iLJs8LB3lWf2g0g10DS71pDdoutFHc='; style-src 'self' 'unsafe-inline' https://stackpath.bootstrapcdn.com; img-src 'self' data: blob: * +Access-Control-Allow-Origin: https://cdb.thuecat.org + +{"@context":{"schema":"http://schema.org/","dbo":"http://dbpedia.org/ontology/","dsv":"http://ontologies.sti-innsbruck.at/dsv/","foaf":"http://xmlns.com/foaf/0.1/","owl":"http://www.w3.org/2002/07/owl#","rdf":"http://www.w3.org/1999/02/22-rdf-syntax-ns#","rdfs":"http://www.w3.org/2000/01/rdf-schema#","sh":"http://www.w3.org/ns/shacl#","xsd":"http://www.w3.org/2001/XMLSchema#","ttgds":"https://thuecat.org/ontology/ttgds/1.0/","cdb":"https://thuecat.org/ontology/cdb/1.0/","dachkg":"https://thuecat.org/ontology/dachkg/1.0/","thuecat":"https://thuecat.org/ontology/thuecat/1.0/"},"@graph":[{"@id":"https://thuecat.org/resources/dms_652340","@type":["schema:CreativeWork","schema:MediaObject","schema:Thing","schema:ImageObject","http://purl.org/dc/dcmitype/Image"],"rdfs:label":{"@language":"de","@value":"Erfurt-Kraemerbruecke-13.jpg"},"schema:width":{"@type":"xsd:string","@value":"5378"},"schema:description":{"@language":"de","@value":"Ansicht der Krämerbrücke, Erfurt"},"schema:sameAs":{"@type":"xsd:anyURI","@value":"https://wbk.thuecat.org"},"schema:identifier":{"@type":"schema:PropertyValue","@value":"652340"},"schema:keywords":[{"@type":"xsd:string","@value":"Tag"},{"@type":"xsd:string","@value":"Gebäude / Architektur"},{"@type":"xsd:string","@value":"Sommer"},{"@type":"xsd:string","@value":"Städte und Architektur"},{"@type":"xsd:string","@value":"Erfurt"},{"@type":"xsd:string","@value":"Frühling"},{"@type":"xsd:string","@value":"fachwerk"},{"@type":"xsd:string","@value":"sehenswürdigkeit"},{"@type":"xsd:string","@value":"sightseeing"},{"@type":"xsd:string","@value":"stadtansicht"},{"@type":"xsd:string","@value":"haus"},{"@type":"xsd:string","@value":"balkon"},{"@type":"xsd:string","@value":"geschäft"}],"schema:name":{"@language":"de","@value":"Erfurt-Kraemerbruecke-13.jpg"},"schema:copyrightYear":{"@language":"de","@value":"2019"},"schema:height":{"@type":"xsd:string","@value":"3585"},"schema:bitrate":{"@type":"xsd:string","@value":"8"},"schema:exifData":[{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b87540","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:Model"},"schema:name":{"@type":"xsd:string","@value":"tiff:Model"},"schema:value":{"@type":"xsd:string","@value":"NIKON D5"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b87541","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"exif:ExposureTime"},"schema:name":{"@type":"xsd:string","@value":"exif:ExposureTime"},"schema:value":{"@type":"xsd:string","@value":"0.005"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b87542","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:SamplesPerPixel"},"schema:name":{"@type":"xsd:string","@value":"tiff:SamplesPerPixel"},"schema:value":{"@type":"xsd:string","@value":"3"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b87543","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"exif:IsoSpeedRatings"},"schema:name":{"@type":"xsd:string","@value":"exif:IsoSpeedRatings"},"schema:value":{"@type":"xsd:string","@value":"900"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b87544","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:YResolution"},"schema:name":{"@type":"xsd:string","@value":"tiff:YResolution"},"schema:value":{"@type":"xsd:string","@value":"300.0"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b87545","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:Make"},"schema:name":{"@type":"xsd:string","@value":"tiff:Make"},"schema:value":{"@type":"xsd:string","@value":"NIKON CORPORATION"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b87546","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"exif:Flash"},"schema:name":{"@type":"xsd:string","@value":"exif:Flash"},"schema:value":{"@type":"xsd:string","@value":"false"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b87547","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"exif:FocalLength"},"schema:name":{"@type":"xsd:string","@value":"exif:FocalLength"},"schema:value":{"@type":"xsd:string","@value":"42.0"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b87548","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"exif:FNumber"},"schema:name":{"@type":"xsd:string","@value":"exif:FNumber"},"schema:value":{"@type":"xsd:string","@value":"10.0"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b87549","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"exif:DateTimeOriginal"},"schema:name":{"@type":"xsd:string","@value":"exif:DateTimeOriginal"},"schema:value":{"@type":"xsd:string","@value":"2019-08-16T15:14:43"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b87550","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:XResolution"},"schema:name":{"@type":"xsd:string","@value":"tiff:XResolution"},"schema:value":{"@type":"xsd:string","@value":"300.0"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b87551","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:Software"},"schema:name":{"@type":"xsd:string","@value":"tiff:Software"},"schema:value":{"@type":"xsd:string","@value":"Adobe Photoshop CS6 (Macintosh)"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b87552","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:Orientation"},"schema:name":{"@type":"xsd:string","@value":"tiff:Orientation"},"schema:value":{"@type":"xsd:string","@value":"1"}},{"@id":"genid-5958021d95614a2193e3f66fdc21fad1-b87553","@type":["schema:Intangible","schema:StructuredValue","schema:Thing","schema:PropertyValue"],"rdfs:label":{"@type":"xsd:string","@value":"tiff:ResolutionUnit"},"schema:name":{"@type":"xsd:string","@value":"tiff:ResolutionUnit"},"schema:value":{"@type":"xsd:string","@value":"Inch"}}],"schema:author":{"@type":"xsd:string","@value":"Florian Trykowski"},"schema:thumbnailUrl":{"@type":"xsd:string","@value":"https://cms.thuecat.org/o/adaptive-media/image/652340/Thumbnail-300x300/image"},"schema:url":{"@type":"xsd:anyURI","@value":"https://cms.thuecat.org/o/adaptive-media/image/652340/Preview-1280x0/image"},"schema:license":{"@language":"de","@value":"https://creativecommons.org/publicdomain/zero/1.0/deed.de"},"thuecat:licenseAuthor":{"@language":"de","@value":"https://home.ttgnet.de/ttg/projekte/10006/90136/Projektdokumente/Vergabe%20Rahmenvertrag%20Fotoproduktion"},"thuecat:licenseLocation":{"@language":"de","@value":"https://home.ttgnet.de/ttg/projekte/10006/90136/Projektdokumente/Fotoproduktion-Trykowski/2019%2007%20Shooting%20Erfurt%20Panoramabild%20ega%20und%20Innenstadt"},"thuecat:licensePeriod":{"@language":"de","@value":""},"thuecat:licensePerson":{"@language":"de","@value":"https://home.ttgnet.de/ttg/projekte/10006/90136/Projektdokumente/Fotoproduktion-Trykowski/2019%2007%20Shooting%20Erfurt%20Panoramabild%20ega%20und%20Innenstadt"}}]} \ No newline at end of file diff --git a/Tests/Functional/Fixtures/Import/ImportsFreshOrganization.xml b/Tests/Functional/Fixtures/Import/ImportsFreshOrganization.xml new file mode 100644 index 0000000..9ad0207 --- /dev/null +++ b/Tests/Functional/Fixtures/Import/ImportsFreshOrganization.xml @@ -0,0 +1,47 @@ + + + + 10 + 0 + 1613400587 + 1613400558 + 1 + 254 + Storage folder + + + + 1 + 0 + 1613400587 + 1613400558 + 1 + 0 + Single Fresh Organisation + static + + + + + + + + + + + + https://thuecat.org/resources/018132452787-ngbe + + + + 0 + + + + + + + + ]]> + + diff --git a/Tests/Functional/Fixtures/Import/ImportsTouristAttractionsWithRelations.xml b/Tests/Functional/Fixtures/Import/ImportsTouristAttractionsWithRelations.xml new file mode 100644 index 0000000..e82ac74 --- /dev/null +++ b/Tests/Functional/Fixtures/Import/ImportsTouristAttractionsWithRelations.xml @@ -0,0 +1,94 @@ + + + + 10 + 0 + 1613400587 + 1613400558 + 1 + 254 + Storage folder + + + + 1 + 0 + 1613400587 + 1613400558 + 1 + 0 + Three tourist attractions + static + + + + + + + + + + + + https://thuecat.org/resources/835224016581-dara + + + + 0 + + + + + + https://thuecat.org/resources/165868194223-zmqf + + + + 0 + + + + + + https://thuecat.org/resources/215230952334-yyno + + + + 0 + + + + + + + + ]]> + + + + 1 + 10 + 1613401129 + 1613401129 + 1 + 0 + https://thuecat.org/resources/043064193523-jcyt + 1 + 0 + Erfurt + + + + 1 + 10 + 1613400969 + 1613400969 + 1 + 0 + https://thuecat.org/resources/018132452787-ngbe + Erfurt Tourismus und Marketing GmbH + Die Erfurt Tourismus & Marketing GmbH (ETMG) wurde 1997 als offizielle Organisation zur Tourismusförderung in der Landeshauptstadt Erfurt gegründet und nahm am 01.0 1.1998 die Geschäftstätigkeit auf. + 0 + 0 + + diff --git a/Tests/Functional/Fixtures/Import/UpdatesExistingOrganization.xml b/Tests/Functional/Fixtures/Import/UpdatesExistingOrganization.xml new file mode 100644 index 0000000..42f594d --- /dev/null +++ b/Tests/Functional/Fixtures/Import/UpdatesExistingOrganization.xml @@ -0,0 +1,58 @@ + + + + 10 + 0 + 1613400587 + 1613400558 + 1 + 254 + Storage folder + + + + 1 + 0 + 1613400587 + 1613400558 + 1 + 0 + Single Fresh Organisation + static + + + + + + + + + + + + https://thuecat.org/resources/018132452787-ngbe + + + + 0 + + + + + + + + ]]> + + + + 1 + 10 + 1613400587 + 1613400558 + 1 + 0 + https://thuecat.org/resources/018132452787-ngbe + Old title + + diff --git a/Tests/Functional/ImportTest.php b/Tests/Functional/ImportTest.php new file mode 100644 index 0000000..e1e30af --- /dev/null +++ b/Tests/Functional/ImportTest.php @@ -0,0 +1,274 @@ + + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * 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. + */ + +use Csa\GuzzleHttp\Middleware\Cache\Adapter\MockStorageAdapter; +use Csa\GuzzleHttp\Middleware\Cache\MockMiddleware; +use Prophecy\PhpUnit\ProphecyTrait; +use Prophecy\Prophecy\ObjectProphecy; +use Psr\Http\Message\ServerRequestInterface; +use TYPO3\CMS\Backend\Routing\Route; +use TYPO3\CMS\Core\Core\Environment; +use TYPO3\CMS\Core\Localization\LanguageService; +use TYPO3\CMS\Extbase\Core\Bootstrap; +use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase as TestCase; + +/** + * @covers WerkraumMedia\ThueCat\Controller\Backend\AbstractController + * @covers WerkraumMedia\ThueCat\Controller\Backend\ImportController + * @covers WerkraumMedia\ThueCat\DependencyInjection\ConverterPass + * @covers WerkraumMedia\ThueCat\DependencyInjection\UrlProvidersPass + * @covers WerkraumMedia\ThueCat\Domain\Import\Importer\SaveData + * @covers WerkraumMedia\ThueCat\Domain\Repository\Backend\ImportLogRepository + * @covers WerkraumMedia\ThueCat\Domain\Repository\Backend\OrganisationRepository + * @covers WerkraumMedia\ThueCat\Domain\Repository\Backend\TownRepository + * @covers WerkraumMedia\ThueCat\Extension + * @covers WerkraumMedia\ThueCat\Typo3Wrapper\TranslationService + * @covers WerkraumMedia\ThueCat\View\Backend\Menu + * + * @uses WerkraumMedia\ThueCat\Domain\Import\Converter\Organisation + * @uses WerkraumMedia\ThueCat\Domain\Import\Converter\Registry + * @uses WerkraumMedia\ThueCat\Domain\Import\Converter\TouristAttraction + * @uses WerkraumMedia\ThueCat\Domain\Import\Converter\TouristInformation + * @uses WerkraumMedia\ThueCat\Domain\Import\Converter\Town + * @uses WerkraumMedia\ThueCat\Domain\Import\Importer + * @uses WerkraumMedia\ThueCat\Domain\Import\Importer\FetchData + * @uses WerkraumMedia\ThueCat\Domain\Import\JsonLD\Parser + * @uses WerkraumMedia\ThueCat\Domain\Import\JsonLD\Parser\Address + * @uses WerkraumMedia\ThueCat\Domain\Import\JsonLD\Parser\Media + * @uses WerkraumMedia\ThueCat\Domain\Import\JsonLD\Parser\OpeningHours + * @uses WerkraumMedia\ThueCat\Domain\Import\JsonLD\Parser\OpeningHours + * @uses WerkraumMedia\ThueCat\Domain\Import\Model\EntityCollection + * @uses WerkraumMedia\ThueCat\Domain\Import\Model\GenericEntity + * @uses WerkraumMedia\ThueCat\Domain\Import\RequestFactory + * @uses WerkraumMedia\ThueCat\Domain\Import\UrlProvider\Registry + * @uses WerkraumMedia\ThueCat\Domain\Import\UrlProvider\StaticUrlProvider + * @uses WerkraumMedia\ThueCat\Domain\Model\Backend\ImportConfiguration + * @uses WerkraumMedia\ThueCat\Domain\Model\Backend\ImportLog + * @uses WerkraumMedia\ThueCat\Domain\Model\Backend\ImportLogEntry + * + * @testdox The import + */ +class ImportTest extends TestCase +{ + use ProphecyTrait; + + protected $coreExtensionsToLoad = [ + 'core', + 'backend', + 'extbase', + 'frontend', + ]; + + protected $testExtensionsToLoad = [ + 'typo3conf/ext/thuecat/', + ]; + + protected function setUp(): void + { + parent::setUp(); + + $GLOBALS['TYPO3_CONF_VARS']['HTTP']['handler']['recorder'] = new MockMiddleware( + new MockStorageAdapter( + __DIR__ . '/Fixtures/Import/Guzzle/' + ), + // Set to 'record' to record requests and create fixtures. + '', + true + ); + + $this->setUpBackendUserFromFixture(1); + + $GLOBALS['LANG'] = $this->getContainer()->get(LanguageService::class); + + // We are NOT in cli (simulate backend request environment) + Environment::initialize( + Environment::getContext(), + false, + Environment::isComposerMode(), + Environment::getProjectPath(), + Environment::getPublicPath(), + Environment::getVarPath(), + Environment::getConfigPath(), + Environment::getCurrentScript(), + 'UNIX' + ); + } + + protected function tearDown(): void + { + unset($GLOBALS['LANG']); + unset($GLOBALS['TYPO3_CONF_VARS']['HTTP']['handler']['recorder']); + unset($GLOBALS['TYPO3_REQUEST']); + $_GET = []; + + parent::tearDown(); + } + + /** + * @test + */ + public function importsFreshOrganization(): void + { + $this->importDataSet(__DIR__ . '/Fixtures/Import/ImportsFreshOrganization.xml'); + + $serverRequest = $this->getServerRequest(); + + $extbaseBootstrap = $this->getContainer()->get(Bootstrap::class); + $extbaseBootstrap->handleBackendRequest($serverRequest->reveal()); + + $organisations = $this->getAllRecords('tx_thuecat_organisation'); + self::assertCount(1, $organisations); + self::assertSame('https://thuecat.org/resources/018132452787-ngbe', $organisations[0]['remote_id']); + self::assertSame('Erfurt Tourismus und Marketing GmbH', $organisations[0]['title']); + self::assertSame('1', $organisations[0]['uid']); + + $importLogs = $this->getAllRecords('tx_thuecat_import_log'); + self::assertCount(1, $importLogs); + self::assertSame('1', $importLogs[0]['configuration']); + self::assertSame('1', $importLogs[0]['uid']); + + $importLogEntries = $this->getAllRecords('tx_thuecat_import_log_entry'); + self::assertCount(1, $importLogEntries); + self::assertSame('1', $importLogEntries[0]['import_log']); + self::assertSame('1', $importLogEntries[0]['record_uid']); + self::assertSame('tx_thuecat_organisation', $importLogEntries[0]['table_name']); + self::assertSame('1', $importLogEntries[0]['insertion']); + self::assertSame('[]', $importLogEntries[0]['errors']); + } + + /** + * @test + */ + public function updatesExistingOrganization(): void + { + $this->importDataSet(__DIR__ . '/Fixtures/Import/UpdatesExistingOrganization.xml'); + + $serverRequest = $this->getServerRequest(); + + $extbaseBootstrap = $this->getContainer()->get(Bootstrap::class); + $extbaseBootstrap->handleBackendRequest($serverRequest->reveal()); + + $organisations = $this->getAllRecords('tx_thuecat_organisation'); + self::assertCount(1, $organisations); + self::assertSame('https://thuecat.org/resources/018132452787-ngbe', $organisations[0]['remote_id']); + self::assertSame('Erfurt Tourismus und Marketing GmbH', $organisations[0]['title']); + self::assertSame('1', $organisations[0]['uid']); + + $importLogs = $this->getAllRecords('tx_thuecat_import_log'); + self::assertCount(1, $importLogs); + self::assertSame('1', $importLogs[0]['configuration']); + self::assertSame('1', $importLogs[0]['uid']); + + $importLogEntries = $this->getAllRecords('tx_thuecat_import_log_entry'); + self::assertCount(1, $importLogEntries); + self::assertSame('1', $importLogEntries[0]['import_log']); + self::assertSame('1', $importLogEntries[0]['record_uid']); + self::assertSame('tx_thuecat_organisation', $importLogEntries[0]['table_name']); + self::assertSame('0', $importLogEntries[0]['insertion']); + self::assertSame('[]', $importLogEntries[0]['errors']); + } + + /** + * @test + */ + public function importsTouristAttractionsWithRelations(): void + { + $this->importDataSet(__DIR__ . '/Fixtures/Import/ImportsTouristAttractionsWithRelations.xml'); + + $serverRequest = $this->getServerRequest(); + + $extbaseBootstrap = $this->getContainer()->get(Bootstrap::class); + $extbaseBootstrap->handleBackendRequest($serverRequest->reveal()); + + $touristAttractions = $this->getAllRecords('tx_thuecat_tourist_attraction'); + self::assertCount(3, $touristAttractions); + + self::assertSame('https://thuecat.org/resources/835224016581-dara', $touristAttractions[0]['remote_id']); + self::assertSame('Dom St. Marien', $touristAttractions[0]['title']); + self::assertSame('[{"opens":"09:30:00","closes":"18:00:00","from":{"date":"2021-05-01 00:00:00.000000","timezone_type":3,"timezone":"UTC"},"through":{"date":"2021-10-31 00:00:00.000000","timezone_type":3,"timezone":"UTC"},"daysOfWeek":["Friday","Monday","Saturday","Thursday","Tuesday","Wednesday"]},{"opens":"13:00:00","closes":"18:00:00","from":{"date":"2021-05-01 00:00:00.000000","timezone_type":3,"timezone":"UTC"},"through":{"date":"2021-10-31 00:00:00.000000","timezone_type":3,"timezone":"UTC"},"daysOfWeek":["Sunday"]},{"opens":"09:30:00","closes":"17:00:00","from":{"date":"2021-11-01 00:00:00.000000","timezone_type":3,"timezone":"UTC"},"through":{"date":"2022-04-30 00:00:00.000000","timezone_type":3,"timezone":"UTC"},"daysOfWeek":["Friday","Monday","Saturday","Thursday","Tuesday","Wednesday"]},{"opens":"13:00:00","closes":"17:00:00","from":{"date":"2021-11-01 00:00:00.000000","timezone_type":3,"timezone":"UTC"},"through":{"date":"2022-04-30 00:00:00.000000","timezone_type":3,"timezone":"UTC"},"daysOfWeek":["Sunday"]}]', $touristAttractions[0]['opening_hours']); + self::assertSame('{"street":"Domstufen 1","zip":"99084","city":"Erfurt","email":"dominformation@domberg-erfurt.de","phone":"+49 361 6461265","fax":"","geo":{"latitude":50.975955358589545,"longitude":11.023667024961856}}', $touristAttractions[0]['address']); + self::assertSame('[{"mainImage":true,"type":"image","title":"Erfurt-Dom und Severikirche-beleuchtet.jpg","description":"","url":"https:\/\/cms.thuecat.org\/o\/adaptive-media\/image\/5159216\/Preview-1280x0\/image","copyrightYear":2016,"license":{"type":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/","author":""}},{"mainImage":false,"type":"image","title":"Erfurt-Dom-und-Severikirche.jpg","description":"Sicht auf Dom St. Marien, St. Severikirche sowie die davor liegenden Klostergeb\u00e4ude und einem Ausschnitt des Biergartens umgeben von einem d\u00e4mmerungsverf\u00e4rten Himmel","url":"https:\/\/cms.thuecat.org\/o\/adaptive-media\/image\/5159186\/Preview-1280x0\/image","copyrightYear":2020,"license":{"type":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/","author":""}},{"mainImage":false,"type":"image","title":"Erfurt-Dom und Severikirche-beleuchtet.jpg","description":"","url":"https:\/\/cms.thuecat.org\/o\/adaptive-media\/image\/5159216\/Preview-1280x0\/image","copyrightYear":2016,"license":{"type":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/","author":""}}]', $touristAttractions[0]['media']); + self::assertSame('1', $touristAttractions[0]['managed_by']); + self::assertSame('1', $touristAttractions[0]['town']); + self::assertSame('1', $touristAttractions[0]['uid']); + + self::assertSame('https://thuecat.org/resources/165868194223-zmqf', $touristAttractions[1]['remote_id']); + self::assertSame('Alte Synagoge', $touristAttractions[1]['title']); + self::assertSame('[{"opens":"10:00:00","closes":"18:00:00","from":{"date":"2021-03-01 00:00:00.000000","timezone_type":3,"timezone":"UTC"},"through":{"date":"2021-12-31 00:00:00.000000","timezone_type":3,"timezone":"UTC"},"daysOfWeek":["Friday","Saturday","Sunday","Thursday","Tuesday","Wednesday"]}]', $touristAttractions[1]['opening_hours']); + self::assertSame('{"street":"Waagegasse 8","zip":"99084","city":"Erfurt","email":"altesynagoge@erfurt.de","phone":"+49 361 6551520","fax":"+49 361 6551669","geo":{"latitude":50.978765,"longitude":11.029133}}', $touristAttractions[1]['address']); + self::assertSame('[{"mainImage":true,"type":"image","title":"Erfurt-Alte Synagoge","description":"Frontaler Blick auf die Hausfront\/Hausfassade im Innenhof mit Zugang \u00fcber die Waagegasse","url":"https:\/\/cms.thuecat.org\/o\/adaptive-media\/image\/5099196\/Preview-1280x0\/image","copyrightYear":2009,"license":{"type":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/","author":"F:\\\\Bilddatenbank\\\\Museen und Ausstellungen\\\\Alte Synagoge"}},{"mainImage":false,"type":"image","title":"Erfurt-Alte Synagoge","description":"Frontaler Blick auf die Hausfront\/Hausfassade im Innenhof mit Zugang \u00fcber die Waagegasse","url":"https:\/\/cms.thuecat.org\/o\/adaptive-media\/image\/5099196\/Preview-1280x0\/image","copyrightYear":2009,"license":{"type":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/","author":"F:\\\\Bilddatenbank\\\\Museen und Ausstellungen\\\\Alte Synagoge"}}]', $touristAttractions[1]['media']); + self::assertSame('1', $touristAttractions[1]['managed_by']); + self::assertSame('1', $touristAttractions[1]['town']); + self::assertSame('2', $touristAttractions[1]['uid']); + + self::assertSame('https://thuecat.org/resources/215230952334-yyno', $touristAttractions[2]['remote_id']); + self::assertSame('Krämerbrücke', $touristAttractions[2]['title']); + self::assertSame('[]', $touristAttractions[2]['opening_hours']); + self::assertSame('{"street":"Benediktsplatz 1","zip":"99084","city":"Erfurt","email":"service@erfurt-tourismus.de","phone":"+49 361 66 400","fax":"","geo":{"latitude":50.978772,"longitude":11.031622}}', $touristAttractions[2]['address']); + self::assertSame('[{"mainImage":true,"type":"image","title":"Erfurt-Kraemerbruecke-11.jpg","description":"Kr\u00e4merbr\u00fccke in Erfurt","url":"https:\/\/cms.thuecat.org\/o\/adaptive-media\/image\/134362\/Preview-1280x0\/image","copyrightYear":2019,"license":{"type":"https:\/\/creativecommons.org\/publicdomain\/zero\/1.0\/deed.de","author":"https:\/\/home.ttgnet.de\/ttg\/projekte\/10006\/90136\/Projektdokumente\/Vergabe%20Rahmenvertrag%20Fotoproduktion"}},{"mainImage":false,"type":"image","title":"Erfurt-Kraemerbruecke.jpg","description":"Kr\u00e4merbr\u00fccke in Erfurt","url":"https:\/\/cms.thuecat.org\/o\/adaptive-media\/image\/134288\/Preview-1280x0\/image","copyrightYear":2019,"license":{"type":"https:\/\/creativecommons.org\/publicdomain\/zero\/1.0\/deed.de","author":"https:\/\/home.ttgnet.de\/ttg\/projekte\/10006\/90136\/Projektdokumente\/Vergabe%20Rahmenvertrag%20Fotoproduktion"}},{"mainImage":false,"type":"image","title":"Erfurt-Kraemerbruecke-11.jpg","description":"Kr\u00e4merbr\u00fccke in Erfurt","url":"https:\/\/cms.thuecat.org\/o\/adaptive-media\/image\/134362\/Preview-1280x0\/image","copyrightYear":2019,"license":{"type":"https:\/\/creativecommons.org\/publicdomain\/zero\/1.0\/deed.de","author":"https:\/\/home.ttgnet.de\/ttg\/projekte\/10006\/90136\/Projektdokumente\/Vergabe%20Rahmenvertrag%20Fotoproduktion"}},{"mainImage":false,"type":"image","title":"Erfurt-Kraemerbruecke-13.jpg","description":"Ansicht der Kr\u00e4merbr\u00fccke, Erfurt","url":"https:\/\/cms.thuecat.org\/o\/adaptive-media\/image\/652340\/Preview-1280x0\/image","copyrightYear":2019,"license":{"type":"https:\/\/creativecommons.org\/publicdomain\/zero\/1.0\/deed.de","author":"https:\/\/home.ttgnet.de\/ttg\/projekte\/10006\/90136\/Projektdokumente\/Vergabe%20Rahmenvertrag%20Fotoproduktion"}}]', $touristAttractions[2]['media']); + self::assertSame('1', $touristAttractions[2]['managed_by']); + self::assertSame('1', $touristAttractions[2]['town']); + self::assertSame('3', $touristAttractions[2]['uid']); + } + + /** + * @return ObjectProphecy + */ + private function getServerRequest(): ObjectProphecy + { + $route = $this->prophesize(Route::class); + $route->getOption('moduleConfiguration')->willReturn([ + 'access' => 'user,group', + 'labels' => 'LLL:EXT:thuecat/Resources/Private/Language/locallang_mod.xlf', + 'name' => 'site_ThuecatThuecat', + 'extensionName' => 'Thuecat', + 'routeTarget' => 'TYPO3\CMS\Extbase\Core\Bootstrap::handleBackendRequest', + 'iconIdentifier' => 'module-site_ThuecatThuecat', + ]); + $route->getOption('module')->willReturn(true); + $route->getOption('moduleName')->willReturn('site_ThuecatThuecat'); + $route->getOption('access')->willReturn('user,group'); + $route->getOption('target')->willReturn('TYPO3\CMS\Extbase\Core\Bootstrap::handleBackendRequest'); + $route->getOption('_identifier')->willReturn('site_ThuecatThuecat'); + + $serverRequest = $this->prophesize(ServerRequestInterface::class); + $serverRequest->getAttribute('route')->willReturn($route->reveal()); + $serverRequest->getAttribute('routing')->willReturn(null); + $serverRequest->getAttribute('normalizedParams')->willReturn(null); + $serverRequest->getMethod()->willReturn('GET'); + $serverRequest->getParsedBody()->willReturn([]); + $serverRequest->getQueryParams()->willReturn([ + 'tx_thuecat_site_thuecatthuecat' => [ + 'controller' => 'Backend\Import', + 'action' => 'import', + 'importConfiguration' => '1', + ], + ]); + $GLOBALS['TYPO3_REQUEST'] = $serverRequest->reveal(); + + // As long as extbase uri builder uses GeneralUtility::_GP + $_GET['route'] = '/module/site/ThuecatThuecat'; + + return $serverRequest; + } +} diff --git a/composer.json b/composer.json index da0f5ad..d22fb10 100644 --- a/composer.json +++ b/composer.json @@ -39,6 +39,7 @@ "typo3/cms-frontend": "^10.4" }, "require-dev": { + "csa/guzzle-cache-middleware": "^1.0", "friendsoftypo3/phpstan-typo3": "^0.6.0", "jangregor/phpstan-prophecy": "^0.8.1", "maglnet/composer-require-checker": "^2.1", @@ -51,7 +52,8 @@ }, "scripts": { "post-autoload-dump": [ - "TYPO3\\TestingFramework\\Composer\\ExtensionTestEnvironment::prepare" + "mkdir -p .Build/web/typo3conf/ext/", + "[ -L .Build/web/typo3conf/ext/thuecat ] || ln -snvf ../../../../. .Build/web/typo3conf/ext/thuecat" ] }, "config": { diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 3402d8c..11810aa 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -9,7 +9,7 @@ colors="true" convertErrorsToExceptions="true" convertWarningsToExceptions="true" - forceCoversAnnotation="false" + forceCoversAnnotation="true" processIsolation="false" stopOnError="false" stopOnFailure="false" @@ -22,6 +22,9 @@ Tests/Unit/ + + Tests/Functional/ +