Commit 70222d07 authored by Gerrit Hübbers's avatar Gerrit Hübbers 🃏
Browse files

Fix test

parent 84c6082b
...@@ -5,7 +5,6 @@ import java.io.InputStream; ...@@ -5,7 +5,6 @@ import java.io.InputStream;
import java.io.StringReader; import java.io.StringReader;
import java.io.StringWriter; import java.io.StringWriter;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.util.Set;
import java.util.UUID; import java.util.UUID;
import java.util.stream.Stream; import java.util.stream.Stream;
...@@ -21,7 +20,6 @@ import javax.xml.transform.stream.StreamSource; ...@@ -21,7 +20,6 @@ import javax.xml.transform.stream.StreamSource;
import org.gesis.dda.publishing.domain.Bundle; import org.gesis.dda.publishing.domain.Bundle;
import org.gesis.dda.publishing.domain.BundlesStreamSource; import org.gesis.dda.publishing.domain.BundlesStreamSource;
import org.gesis.dda.publishing.domain.Metadatum;
import org.gesis.dda.xslt.XsltUtil; import org.gesis.dda.xslt.XsltUtil;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -86,10 +84,5 @@ public class XmlXsltBundlesStreamSource implements BundlesStreamSource { ...@@ -86,10 +84,5 @@ public class XmlXsltBundlesStreamSource implements BundlesStreamSource {
return reference; return reference;
} }
@Override
public Set<Metadatum> getAllMetadata(String scopedIdentifier) {
// TODO Auto-generated method stub
return null;
}
} }
package org.gesis.dda.publishing.domain.impl; package org.gesis.dda.publishing.domain.impl;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
import java.io.IOException; import java.io.IOException;
import java.io.StringReader; import java.io.StringReader;
...@@ -180,9 +179,84 @@ public class XmlXsltBundlesStreamSourceTest { ...@@ -180,9 +179,84 @@ public class XmlXsltBundlesStreamSourceTest {
} }
@Test @Test
public void testGetAllMetadata() { public void testGetAllMetadata() throws IOException {
// TODO to be implemented String onixXmlString = IOUtils.toString(
fail(); getClass().
getClassLoader().
getResourceAsStream("xml/onix/onix-20180525.xml"), StandardCharsets.UTF_8);
LOG.info("onixXmlString={}", onixXmlString);
String xsltString = IOUtils.toString(
getClass().
getClassLoader().
getResourceAsStream("xslt/onix-budrich-2-xmlbundles.xslt"), StandardCharsets.UTF_8);
LOG.info("xsltString={}", xsltString);
XmlXsltBundlesStreamSource underTest = new XmlXsltBundlesStreamSource(onixXmlString, xsltString, 4711);
Set<Metadatum> metadata = underTest.getAllMetadata("f3ae7b1fec56419eaa3a34bed68232cb");
Metadatum regierenBundleMetadatumInternalDdaReference = metadata.stream().filter(m -> m.getKey().equals("internal.dda.reference")).findFirst().get();
assertEquals("xmlxslt-database-4711@@f3ae7b1fec56419eaa3a34bed68232cb", regierenBundleMetadatumInternalDdaReference.getValue() );
Stream<Metadatum> regierenBundleMetadataDcContributorAuthor = metadata.stream().filter(m -> m.getKey().equals("dc.contributor.author"));
assertEquals(1, regierenBundleMetadataDcContributorAuthor.count() );
assertEquals("Mai, Manfred", metadata.stream().filter(m -> m.getKey().equals("dc.contributor.author")).findFirst().get().getValue() );
Stream<Metadatum> regierenBundleMetadataDcContributorEditor = metadata.stream().filter(m -> m.getKey().equals("dc.contributor.editor"));
assertEquals(0, regierenBundleMetadataDcContributorEditor.count() );
Stream<Metadatum> regierenBundleMetadataDcDateIssued = metadata.stream().filter(m -> m.getKey().equals("dc.date.issued"));
assertEquals(1, regierenBundleMetadataDcDateIssued.count() );
assertEquals("2016", metadata.stream().filter(m -> m.getKey().equals("dc.date.issued")).findFirst().get().getValue() );
Stream<Metadatum> regierenBundleMetadataDcIdentifierIsbn = metadata.stream().filter(m -> m.getKey().equals("dc.identifier.isbn"));
assertEquals(1, regierenBundleMetadataDcIdentifierIsbn.count() );
assertEquals("978-3-8474-0969-4", metadata.stream().filter(m -> m.getKey().equals("dc.identifier.isbn")).findFirst().get().getValue() );
Stream<Metadatum> regierenBundleMetadataDcLanguage = metadata.stream().filter(m -> m.getKey().equals("dc.language"));
assertEquals(1, regierenBundleMetadataDcLanguage.count() );
assertEquals("de", metadata.stream().filter(m -> m.getKey().equals("dc.language")).findFirst().get().getValue() );
assertEquals(1, metadata.stream().filter(m -> m.getKey().equals("dc.publisher")).count() );
assertEquals("Verlag Barbara Budrich", metadata.stream().filter(m -> m.getKey().equals("dc.publisher")).findFirst().get().getValue() );
assertEquals(1, metadata.stream().filter(m -> m.getKey().equals("dc.title")).count() );
assertEquals("Regieren in der modernen Gesellschaft: Governance aus der Sicht der Ministerialbürokratie", metadata.stream().filter(m -> m.getKey().equals("dc.title")).findFirst().get().getValue() );
assertEquals(1, metadata.stream().filter(m -> m.getKey().equals("dc.publisher.country")).count() );
assertEquals("DEU", metadata.stream().filter(m -> m.getKey().equals("dc.publisher.country")).findFirst().get().getValue() );
assertEquals(1, metadata.stream().filter(m -> m.getKey().equals("dc.publisher.city")).count() );
assertEquals("Opladen", metadata.stream().filter(m -> m.getKey().equals("dc.publisher.city")).findFirst().get().getValue() );
assertEquals(1, metadata.stream().filter(m -> m.getKey().equals("dc.identifier.doi")).count() );
assertEquals("https://doi.org/10.3224/84740518", metadata.stream().filter(m -> m.getKey().equals("dc.identifier.doi")).findFirst().get().getValue() );
assertEquals(1, metadata.stream().filter(m -> m.getKey().equals("dc.source.pageinfo")).count() );
assertEquals("233", metadata.stream().filter(m -> m.getKey().equals("dc.source.pageinfo")).findFirst().get().getValue() );
Set<Metadatum> dcSubjectOtherMetadata = metadata.stream().filter(m -> m.getKey().equals("dc.subject.other")).collect( Collectors.toSet() );
assertEquals(8, dcSubjectOtherMetadata.size() );
assertEquals(1, dcSubjectOtherMetadata.stream().filter( m -> "Nonbooks, PBS / Politikwissenschaft".equals( m.getValue() ) ).count() );
assertEquals(1, dcSubjectOtherMetadata.stream().filter( m -> "Politikwissenschaft".equals( m.getValue() ) ).count() );
assertEquals(1, dcSubjectOtherMetadata.stream().filter( m -> "Ministerialbürokratie".equals( m.getValue() ) ).count() );
assertEquals(1, dcSubjectOtherMetadata.stream().filter( m -> "Governance".equals( m.getValue() ) ).count() );
assertEquals(1, dcSubjectOtherMetadata.stream().filter( m -> "Verwaltung".equals( m.getValue() ) ).count() );
assertEquals(1, dcSubjectOtherMetadata.stream().filter( m -> "Policyforschung".equals( m.getValue() ) ).count() );
assertEquals(1, dcSubjectOtherMetadata.stream().filter( m -> "Öffentliche Verwaltung".equals( m.getValue() ) ).count() );
assertEquals(1, dcSubjectOtherMetadata.stream().filter( m -> "Kommunal-, Regional- Landes und Lokalregierung".equals( m.getValue() ) ).count() );
assertEquals(1, metadata.stream().filter(m -> m.getKey().equals("dc.description.abstract")).count() );
assertEquals("Wie lässt sich das Handeln der Regierung in modernen Gesellschaften theoretisch fassen? Schon die Autoren der amerikanischen Verfassung haben die Notwendigkeit erkannt, die Exekutivgewalt einzuhegen und sie mit der Legislative zu verschränken. Dieses Prinzip gilt bis heute, doch in modernen Gesellschaften kommt hinzu, dass die Zivilgesellschaft und ihre Medien mit Regierung und Verwaltung auf vielfältige Weise miteinander verbunden sind. Die Frage ist, wie der moderne Staat als wichtigster Akteur der Politik mit der Regierung als seinem stärksten Instrument legitime Ziele erreichen kann. Der Autor zeigt die Interdependenzen zwischen Regierung, Zivilgesellschaft, Verbänden und Parlament auf und demonstriert anhand verschiedener Beispiele, dass die Exekutive kein abgehobenes Eigenleben führt. Ein zentrales Kapitel ist die Beschreibung des Innenlebens der Ministerialbürokratie. Gerade der Einblick in die täglichen Routinen im Umgang mit der Komplexität einzelner Inputs ist aufschlussreich für die Frage nach den Möglichkeiten und Grenzen politischer Gestaltung.", metadata.stream().filter(m -> m.getKey().equals("dc.description.abstract")).findFirst().get().getValue() );
assertEquals(0, metadata.stream().filter(m -> m.getKey().equals("dc.source.series")).count() );
assertEquals(0, metadata.stream().filter(m -> m.getKey().equals("dc.source.edition")).count() );
assertEquals(1, metadata.stream().filter(m -> m.getKey().equals("dc.type.stock")).count() );
assertEquals("article", metadata.stream().filter(m -> m.getKey().equals("dc.type.stock")).findFirst().get().getValue() );
} }
} }
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment