Skip to content

Commit a629763

Browse files
committed
Start on fixing the other tests
1 parent 55de755 commit a629763

36 files changed

Lines changed: 467 additions & 929 deletions

server/src/test/kotlin/org/ivdnt/galahad/annotations/TermTest.kt

Lines changed: 18 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -4,59 +4,53 @@ import org.junit.jupiter.api.Assertions.assertEquals
44
import org.junit.jupiter.api.Test
55

66
class TermTest {
7-
// Only the relevant parameters are initialized.
8-
private val singleTarget = Term(
9-
"", "", mutableListOf(WordForm("schooltje", 0, "0"))
10-
)
11-
private val multiTarget = Term(
12-
"", "", mutableListOf(
13-
WordForm("hoogbouw", 0, "0"), WordForm("en", 0, "0"), WordForm("laagbouw", 0, "0")
14-
)
15-
)
16-
177
// upos
18-
private val singleUPos = Term(
8+
private val singleUPos = Term("",0,
199
mapOf(
10+
Annotation.TOKEN to "token",
2011
Annotation.UPOS to "NOU-C(num=sg)"
21-
), mutableListOf()
12+
),
2213
)
2314

2415
// ner
25-
private val singleNer = Term(
16+
private val singleNer = Term("",0,
2617
mapOf(
18+
Annotation.TOKEN to "token",
2719
Annotation.NER to "B-LOC"
28-
), mutableListOf()
20+
)
2921
)
3022

3123
// pos
32-
private val singlePos = Term(
24+
private val singlePos = Term("",0,
3325
mapOf(
26+
Annotation.TOKEN to "token",
3427
Annotation.POS to "NOU-C(num=sg)"
35-
), mutableListOf()
28+
)
3629
)
3730

38-
private val multiPos = Term(
31+
private val multiPos = Term("",0,
3932
mapOf(
33+
Annotation.TOKEN to "token",
4034
Annotation.POS to "PD(type=art)+NOU-C(num=sg)"
41-
), mutableListOf()
35+
)
4236
)
4337

44-
private val headOnlyPos = Term(
38+
private val headOnlyPos = Term("",0,
4539
mapOf(
40+
Annotation.TOKEN to "token",
4641
Annotation.POS to "NOU-C"
47-
), mutableListOf()
42+
)
4843
)
4944

50-
5145
@Test
5246
fun `PoS head and features`() {
5347
// single pos
5448
assertEquals("NOU-C", singlePos.annotationHead(Annotation.POS))
55-
assertEquals("num=sg", Term.features(singlePos.annotations.pos))
49+
assertEquals("num=sg", Term.features(singlePos.pos))
5650

5751
// upos
5852
assertEquals("NOU-C", singleUPos.annotationHead(Annotation.UPOS))
59-
assertEquals("num=sg", Term.features(singleUPos.annotations.upos))
53+
assertEquals("num=sg", Term.features(singleUPos.upos))
6054

6155
// ner
6256
assertEquals("LOC", singleNer.annotationHead(Annotation.NER))
@@ -67,16 +61,6 @@ class TermTest {
6761

6862
// head only pos
6963
assertEquals("NOU-C", headOnlyPos.annotationHead(Annotation.POS))
70-
assertEquals(null, Term.features(headOnlyPos.annotations.pos))
71-
}
72-
73-
@Test
74-
fun `Literals for multi target term`() {
75-
assertEquals("hoogbouw en laagbouw", multiTarget.literals)
76-
}
77-
78-
@Test
79-
fun `Literals for single target term`() {
80-
assertEquals("schooltje", singleTarget.literals)
64+
assertEquals(null, Term.features(headOnlyPos.pos))
8165
}
8266
}

server/src/test/kotlin/org/ivdnt/galahad/data/CorporaControllerTest.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package org.ivdnt.galahad.data
22

3-
import org.ivdnt.galahad.JSON
4-
import org.ivdnt.galahad.TestConfig
5-
import org.ivdnt.galahad.UserHeader
3+
import org.ivdnt.galahad.util.JSON
4+
import org.ivdnt.galahad.util.TestConfig
5+
import org.ivdnt.galahad.util.UserHeader
66
import org.ivdnt.galahad.app.Config
77
import org.ivdnt.galahad.app.Galahad
88
import org.ivdnt.galahad.corpora.CorpusMetadata

server/src/test/kotlin/org/ivdnt/galahad/data/DocumentsControllerTest.kt

Lines changed: 33 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,13 @@ import org.ivdnt.galahad.*
44
import org.ivdnt.galahad.app.Config
55
import org.ivdnt.galahad.app.Galahad
66
import org.ivdnt.galahad.corpora.Corpus
7-
import org.ivdnt.galahad.corpora.documents.DocumentMetadata
8-
import org.ivdnt.galahad.formats.Resource
9-
import org.ivdnt.galahad.util.createZipFile
7+
import org.ivdnt.galahad.documents.DocumentMetadata
8+
import org.ivdnt.galahad.util.JSON
9+
import org.ivdnt.galahad.util.SpringUtil
10+
import org.ivdnt.galahad.util.TestConfig
11+
import org.ivdnt.galahad.util.TestUtil
12+
import org.ivdnt.galahad.util.UserHeader
13+
import org.ivdnt.galahad.util.uploadFile
1014
import org.ivdnt.galahad.web.controller.DocumentsController
1115
import org.junit.jupiter.api.Test
1216

@@ -18,7 +22,11 @@ import org.springframework.test.context.ContextConfiguration
1822
import org.springframework.test.web.servlet.MockMvc
1923
import org.springframework.test.web.servlet.MvcResult
2024
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders
25+
import java.io.BufferedOutputStream
2126
import java.io.File
27+
import java.io.FileOutputStream
28+
import java.util.zip.ZipEntry
29+
import java.util.zip.ZipOutputStream
2230

2331
@WebMvcTest(properties = ["spring.main.allow-bean-definition-overriding=true"])
2432
@ContextConfiguration(classes = [Galahad::class, TestConfig::class])
@@ -30,10 +38,10 @@ class DocumentsControllerTest(
3038

3139
@Test
3240
fun `Upload files of all formats`() {
33-
val corpus = createCorpus(config)
41+
val corpus = SpringUtil.createCorpus(config)
3442

3543
// list files in directory
36-
val dir: File = Resource.get("all-formats/input")
44+
val dir: File = TestUtil.get("all-formats/input")
3745
for (file in dir.listFiles()) {
3846
// skip layer pie-tdn.tsv
3947
if (file.name != "pie-tdn.tsv") {
@@ -48,7 +56,7 @@ class DocumentsControllerTest(
4856
val result: MvcResult = mvc.perform(
4957
MockMvcRequestBuilders.get("/corpora/$uuid/documents/${doc.name}/raw").headers(UserHeader.get())
5058
).andReturn()
51-
assertEquals(Resource.get("all-formats/input/${doc.name}").readText(), result.response.contentAsString)
59+
assertEquals(TestUtil.get("all-formats/input/${doc.name}").readText(), result.response.contentAsString)
5260
// Delete a doc
5361
mvc.perform(
5462
MockMvcRequestBuilders.delete("/corpora/$uuid/documents/${doc.name}").headers(UserHeader.get())
@@ -59,17 +67,31 @@ class DocumentsControllerTest(
5967

6068
@Test
6169
fun `Upload zip with all formats`() {
62-
val corpus = createCorpus(config)
63-
val zip = createZipFile(Resource.get("all-formats/input").listFiles().filter { it.name != "pie-tdn.tsv" }.asSequence())
70+
val corpus = SpringUtil.createCorpus(config)
71+
val files = TestUtil.get("formats/shared-converter").listFiles()
72+
val zip = zipped(files.asIterable())
6473
mvc.uploadFile(zip, corpus, MediaType.APPLICATION_OCTET_STREAM_VALUE)
6574
assertEquals(6, getDocs(corpus).size)
6675
}
6776

77+
fun zipped(files: Iterable<File>): File {
78+
val zipFile = File.createTempFile("tmp", ".zip")
79+
val zipStream = ZipOutputStream(FileOutputStream(zipFile))
80+
for (f in files) {
81+
zipStream.putNextEntry(ZipEntry(f.name))
82+
f.inputStream().copyTo(zipStream)
83+
zipStream.closeEntry()
84+
}
85+
zipStream.flush()
86+
zipStream.close()
87+
return zipFile
88+
}
89+
6890
@Test
6991
fun `Upload invalid file`() {
70-
val corpus = createCorpus(config)
71-
val zip = createZipFile(Resource.get("all-formats/invalid").listFiles().asSequence())
72-
assertThrows(Exception::class.java){ mvc.uploadFile(zip, corpus, MediaType.APPLICATION_OCTET_STREAM_VALUE) }
92+
val corpus = SpringUtil.createCorpus(config)
93+
val file = TestUtil.get("documents/invalid-root.xml")
94+
assertThrows(Exception::class.java){ mvc.uploadFile(file, corpus, MediaType.APPLICATION_XML_VALUE) }
7395
}
7496

7597
private fun getDocs(corpus: Corpus): List<DocumentMetadata> {

server/src/test/kotlin/org/ivdnt/galahad/data/ExportControllerTest.kt

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
package org.ivdnt.galahad.data
22

3-
import org.ivdnt.galahad.TestConfig
4-
import org.ivdnt.galahad.UserHeader
3+
import org.ivdnt.galahad.util.TestConfig
4+
import org.ivdnt.galahad.util.UserHeader
5+
import org.ivdnt.galahad.util.uploadFile
56
import org.ivdnt.galahad.app.Config
67
import org.ivdnt.galahad.app.Galahad
7-
import org.ivdnt.galahad.createCorpus
88
import org.ivdnt.galahad.corpora.Corpus
99
import org.ivdnt.galahad.annotations.Layer
10-
import org.ivdnt.galahad.formats.LayerBuilder
11-
import org.ivdnt.galahad.formats.Resource
12-
import org.ivdnt.galahad.formats.TestResult
13-
import org.ivdnt.galahad.uploadFile
10+
import org.ivdnt.galahad.util.LayerBuilder
11+
import org.ivdnt.galahad.util.SpringUtil
12+
import org.ivdnt.galahad.util.TestResult
13+
import org.ivdnt.galahad.util.TestUtil
1414
import org.ivdnt.galahad.web.controller.ExportController
1515
import org.junit.jupiter.api.Test
1616

@@ -44,7 +44,7 @@ class ExportControllerTest(
4444
val files = unzip(bytes)
4545
val teiToFolia: File = files.first { it.name.endsWith("tei.folia.xml") }
4646
val result = TestResult(
47-
Resource.get("all-formats/output/from-TeiP5-to-Folia.folia.xml").readText(),
47+
TestUtil.get("all-formats/output/from-TeiP5-to-Folia.folia.xml").readText(),
4848
teiToFolia.readText()
4949
)
5050
result.ignoreLineEndings().ignoreWhiteSpaceDocumentWide().result()
@@ -72,16 +72,16 @@ class ExportControllerTest(
7272

7373
// Create and populate a corpus with a TEI and Folia document.
7474
fun createAndPopulateCorpus(): Corpus {
75-
val corpus = createCorpus(config)
76-
mvc.uploadFile(Resource.get("all-formats/input/input.tei.xml"), corpus)
75+
val corpus = SpringUtil.createCorpus(config)
76+
mvc.uploadFile(TestUtil.get("all-formats/input/input.tei.xml"), corpus)
7777
// hardcode layer
7878
val layer: Layer = LayerBuilder().loadLayerFromTSV(
7979
"all-formats/input/pie-tdn.tsv",
80-
Resource.get("all-formats/input/input.txt").readText()
80+
TestUtil.get("all-formats/input/input.txt").readText()
8181
).build()
8282
val job = corpus.jobs.createOrThrow(TestConfig.TAGGER_NAME)
83-
job.setLayerForKey("input.tei.xml",layer)
84-
//mvc.uploadFile(Resource.get("all-formats/input/input.folia.xml"), corpus)
83+
job.setLayer("input.tei.xml",layer)
84+
//mvc.uploadFile(TestUtil.get("all-formats/input/input.folia.xml"), corpus)
8585
return corpus
8686
}
8787
}

server/src/test/kotlin/org/ivdnt/galahad/data/documents/DocumentMetadataTest.kt

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
package org.ivdnt.galahad.data.documents
22

33
import org.ivdnt.galahad.corpora.Corpus
4-
import org.ivdnt.galahad.corpora.documents.DocumentFormat
5-
import org.ivdnt.galahad.formats.Resource
6-
import org.ivdnt.galahad.formats.createCorpus
4+
import org.ivdnt.galahad.documents.DocumentFormat
5+
import org.ivdnt.galahad.util.TestUtil
76
import org.junit.jupiter.api.Test
87

98
import org.junit.jupiter.api.Assertions.*
@@ -14,15 +13,15 @@ class DocumentMetadataTest {
1413

1514
@BeforeEach
1615
fun initCorpus() {
17-
corpus = createCorpus()
16+
corpus = TestUtil.createCorpus()
1817
}
1918

2019
@Test
2120
fun `Properties for an unannotated file`() {
2221
val path = "all-formats/input/input.txt"
23-
val file = Resource.get(path)
22+
val file = TestUtil.get(path)
2423
val plaintext = file.readText()
25-
val doc = Resource.getDoc(path)
24+
val doc = TestUtil.getDoc(path)
2625
val meta = doc.metadata
2726
assertEquals("input.txt", meta.name)
2827
assertEquals(DocumentFormat.Txt, meta.format)
@@ -37,8 +36,8 @@ class DocumentMetadataTest {
3736
@Test
3837
fun `Properties for an annotated file`() {
3938
val path = "all-formats/input/input.tei.xml"
40-
val file = Resource.get(path)
41-
val doc = Resource.getDoc(path)
39+
val file = TestUtil.get(path)
40+
val doc = TestUtil.getDoc(path)
4241
val plaintext = doc.plaintext
4342
val meta = doc.metadata
4443
assertEquals("input.tei.xml", meta.name)

0 commit comments

Comments
 (0)