Skip to content

Commit 2e9b948

Browse files
authored
Merge pull request #699 from eikek/small-improvements
Small improvements
2 parents 8ff8365 + 274e433 commit 2e9b948

57 files changed

Lines changed: 702 additions & 245 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

build.sbt

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,6 @@ val sharedSettings = Seq(
4545
(scalacOptions.value.filter(o => !o.contains("-Xlint") && !o.contains("-W")))
4646
) ++ scalafixSettings
4747

48-
val testSettings = Seq(
49-
testFrameworks += new TestFramework("minitest.runner.Framework"),
50-
libraryDependencies ++= Dependencies.miniTest ++ Dependencies.logging.map(_ % Test),
51-
Test / fork := true
52-
)
53-
5448
val testSettingsMUnit = Seq(
5549
libraryDependencies ++= Dependencies.munit.map(_ % Test),
5650
testFrameworks += new TestFramework("munit.Framework")
@@ -219,6 +213,12 @@ val openapiScalaSettings = Seq(
219213
case "personuse" =>
220214
field =>
221215
field.copy(typeDef = TypeDef("PersonUse", Imports("docspell.common.PersonUse")))
216+
case "orguse" =>
217+
field =>
218+
field.copy(typeDef = TypeDef("OrgUse", Imports("docspell.common.OrgUse")))
219+
case "equipmentuse" =>
220+
field =>
221+
field.copy(typeDef = TypeDef("EquipmentUse", Imports("docspell.common.EquipmentUse")))
222222
}))
223223
)
224224

@@ -231,7 +231,7 @@ val common = project
231231
.in(file("modules/common"))
232232
.disablePlugins(RevolverPlugin)
233233
.settings(sharedSettings)
234-
.settings(testSettings)
234+
.settings(testSettingsMUnit)
235235
.settings(
236236
name := "docspell-common",
237237
libraryDependencies ++=
@@ -249,7 +249,7 @@ val files = project
249249
.in(file("modules/files"))
250250
.disablePlugins(RevolverPlugin)
251251
.settings(sharedSettings)
252-
.settings(testSettings)
252+
.settings(testSettingsMUnit)
253253
.settings(
254254
name := "docspell-files",
255255
libraryDependencies ++=
@@ -308,7 +308,7 @@ val store = project
308308
.in(file("modules/store"))
309309
.disablePlugins(RevolverPlugin)
310310
.settings(sharedSettings)
311-
.settings(testSettings)
311+
.settings(testSettingsMUnit)
312312
.settings(
313313
name := "docspell-store",
314314
libraryDependencies ++=
@@ -330,7 +330,7 @@ val extract = project
330330
.in(file("modules/extract"))
331331
.disablePlugins(RevolverPlugin)
332332
.settings(sharedSettings)
333-
.settings(testSettings)
333+
.settings(testSettingsMUnit)
334334
.settings(
335335
name := "docspell-extract",
336336
libraryDependencies ++=
@@ -347,7 +347,7 @@ val convert = project
347347
.in(file("modules/convert"))
348348
.disablePlugins(RevolverPlugin)
349349
.settings(sharedSettings)
350-
.settings(testSettings)
350+
.settings(testSettingsMUnit)
351351
.settings(
352352
name := "docspell-convert",
353353
libraryDependencies ++=
@@ -361,7 +361,7 @@ val analysis = project
361361
.disablePlugins(RevolverPlugin)
362362
.enablePlugins(NerModelsPlugin)
363363
.settings(sharedSettings)
364-
.settings(testSettings)
364+
.settings(testSettingsMUnit)
365365
.settings(NerModelsPlugin.nerClassifierSettings)
366366
.settings(
367367
name := "docspell-analysis",
@@ -375,7 +375,7 @@ val ftsclient = project
375375
.in(file("modules/fts-client"))
376376
.disablePlugins(RevolverPlugin)
377377
.settings(sharedSettings)
378-
.settings(testSettings)
378+
.settings(testSettingsMUnit)
379379
.settings(
380380
name := "docspell-fts-client",
381381
libraryDependencies ++= Seq.empty
@@ -386,7 +386,7 @@ val ftssolr = project
386386
.in(file("modules/fts-solr"))
387387
.disablePlugins(RevolverPlugin)
388388
.settings(sharedSettings)
389-
.settings(testSettings)
389+
.settings(testSettingsMUnit)
390390
.settings(
391391
name := "docspell-fts-solr",
392392
libraryDependencies ++=
@@ -402,7 +402,7 @@ val restapi = project
402402
.disablePlugins(RevolverPlugin)
403403
.enablePlugins(OpenApiSchema)
404404
.settings(sharedSettings)
405-
.settings(testSettings)
405+
.settings(testSettingsMUnit)
406406
.settings(openapiScalaSettings)
407407
.settings(
408408
name := "docspell-restapi",
@@ -420,7 +420,7 @@ val joexapi = project
420420
.disablePlugins(RevolverPlugin)
421421
.enablePlugins(OpenApiSchema)
422422
.settings(sharedSettings)
423-
.settings(testSettings)
423+
.settings(testSettingsMUnit)
424424
.settings(openapiScalaSettings)
425425
.settings(
426426
name := "docspell-joexapi",
@@ -438,7 +438,7 @@ val backend = project
438438
.in(file("modules/backend"))
439439
.disablePlugins(RevolverPlugin)
440440
.settings(sharedSettings)
441-
.settings(testSettings)
441+
.settings(testSettingsMUnit)
442442
.settings(
443443
name := "docspell-backend",
444444
libraryDependencies ++=
@@ -473,7 +473,7 @@ val joex = project
473473
.in(file("modules/joex"))
474474
.enablePlugins(BuildInfoPlugin, JavaServerAppPackaging, DebianPlugin, SystemdPlugin)
475475
.settings(sharedSettings)
476-
.settings(testSettings)
476+
.settings(testSettingsMUnit)
477477
.settings(debianSettings("docspell-joex"))
478478
.settings(buildInfoSettings)
479479
.settings(
@@ -512,7 +512,7 @@ val restserver = project
512512
.in(file("modules/restserver"))
513513
.enablePlugins(BuildInfoPlugin, JavaServerAppPackaging, DebianPlugin, SystemdPlugin)
514514
.settings(sharedSettings)
515-
.settings(testSettings)
515+
.settings(testSettingsMUnit)
516516
.settings(debianSettings("docspell-server"))
517517
.settings(buildInfoSettings)
518518
.settings(
@@ -740,7 +740,8 @@ def packageTools(logger: Logger, dir: File, version: String): Seq[File] = {
740740
wx / "icons" / "logo-96.png" -> "icons/logo-96.png",
741741
wx / "manifest.json" -> "manifest.json"
742742
),
743-
webext
743+
webext,
744+
None
744745
)
745746

746747
val excludes = Seq(wx, target)
@@ -757,7 +758,8 @@ def packageTools(logger: Logger, dir: File, version: String): Seq[File] = {
757758
wx / "native/app_manifest.json" -> s"docspell-tools-${version}/firefox/native/app_manifest.json",
758759
wx / "native/native.py" -> s"docspell-tools-${version}/firefox/native/native.py"
759760
) ++ files,
760-
archive
761+
archive,
762+
None
761763
)
762764

763765
Seq(archive)

modules/analysis/src/test/scala/docspell/analysis/classifier/StanfordTextClassifierSuite.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package docspell.analysis.classifier
22

3-
import minitest._
3+
import munit._
44
import cats.effect._
55
import scala.concurrent.ExecutionContext
66
import java.nio.file.Paths
@@ -10,7 +10,7 @@ import fs2.Stream
1010
import cats.data.Kleisli
1111
import TextClassifier.Data
1212

13-
object StanfordTextClassifierSuite extends SimpleTestSuite {
13+
class StanfordTextClassifierSuite extends FunSuite {
1414
val logger = Logger.log4s[IO](org.log4s.getLogger)
1515

1616
implicit val CS = IO.contextShift(ExecutionContext.global)

modules/analysis/src/test/scala/docspell/analysis/contact/ContactAnnotateSpec.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package docspell.analysis.contact
22

33
import docspell.common.{NerLabel, NerTag}
4-
import minitest.SimpleTestSuite
4+
import munit._
55

6-
object ContactAnnotateSpec extends SimpleTestSuite {
6+
class ContactAnnotateSpec extends FunSuite {
77

88
test("find email") {
99

modules/analysis/src/test/scala/docspell/analysis/date/DateFindSpec.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package docspell.analysis.date
22

33
import docspell.files.TestFiles
4-
import minitest.SimpleTestSuite
4+
import munit._
55
import docspell.common._
66
import java.time._
77

8-
object DateFindSpec extends SimpleTestSuite {
8+
class DateFindSpec extends FunSuite {
99

1010
test("find simple dates") {
1111
val expect = Vector(

modules/analysis/src/test/scala/docspell/analysis/nlp/BaseCRFAnnotatorSuite.scala

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,17 @@ package docspell.analysis.nlp
22

33
import docspell.analysis.Env
44
import docspell.common.Language.NLPLanguage
5-
import minitest.SimpleTestSuite
5+
import munit._
66
import docspell.files.TestFiles
77
import docspell.common._
88

9-
object BaseCRFAnnotatorSuite extends SimpleTestSuite {
9+
class BaseCRFAnnotatorSuite extends FunSuite {
1010

1111
def annotate(language: NLPLanguage): String => Vector[NerLabel] =
1212
BasicCRFAnnotator.nerAnnotate(BasicCRFAnnotator.Cache.getAnnotator(language))
1313

1414
test("find english ner labels") {
15-
if (Env.isCI) {
16-
ignore("Test ignored on travis.")
17-
}
15+
assume(!Env.isCI, "Test ignored on travis.")
1816

1917
val labels = annotate(Language.English)(TestFiles.letterENText)
2018
val expect = Vector(
@@ -52,9 +50,7 @@ object BaseCRFAnnotatorSuite extends SimpleTestSuite {
5250
}
5351

5452
test("find german ner labels") {
55-
if (Env.isCI) {
56-
ignore("Test ignored on travis.")
57-
}
53+
assume(!Env.isCI, "Test ignored on travis.")
5854

5955
val labels = annotate(Language.German)(TestFiles.letterDEText)
6056
val expect = Vector(

modules/analysis/src/test/scala/docspell/analysis/nlp/StanfordNerAnnotatorSuite.scala

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,20 @@ import java.nio.file.Paths
44

55
import cats.effect.IO
66
import docspell.analysis.Env
7-
import minitest.SimpleTestSuite
7+
import munit._
88
import docspell.files.TestFiles
99
import docspell.common._
1010
import docspell.common.syntax.FileSyntax._
1111
import edu.stanford.nlp.pipeline.StanfordCoreNLP
1212

13-
object StanfordNerAnnotatorSuite extends SimpleTestSuite {
13+
class StanfordNerAnnotatorSuite extends FunSuite {
1414
lazy val germanClassifier =
1515
new StanfordCoreNLP(Properties.nerGerman(None, false))
1616
lazy val englishClassifier =
1717
new StanfordCoreNLP(Properties.nerEnglish(None))
1818

1919
test("find english ner labels") {
20-
if (Env.isCI) {
21-
ignore("Test ignored on travis.")
22-
}
20+
assume(!Env.isCI, "Test ignored on travis.")
2321

2422
val labels =
2523
StanfordNerAnnotator.nerAnnotate(englishClassifier, TestFiles.letterENText)
@@ -58,9 +56,7 @@ object StanfordNerAnnotatorSuite extends SimpleTestSuite {
5856
}
5957

6058
test("find german ner labels") {
61-
if (Env.isCI) {
62-
ignore("Test ignored on travis.")
63-
}
59+
assume(!Env.isCI, "Test ignored on travis.")
6460

6561
val labels =
6662
StanfordNerAnnotator.nerAnnotate(germanClassifier, TestFiles.letterDEText)
@@ -83,9 +79,7 @@ object StanfordNerAnnotatorSuite extends SimpleTestSuite {
8379
}
8480

8581
test("regexner-only annotator") {
86-
if (Env.isCI) {
87-
ignore("Test ignored on travis.")
88-
}
82+
assume(!Env.isCI, "Test ignored on travis.")
8983

9084
val regexNerContent =
9185
s"""(?i)volantino ag${"\t"}ORGANIZATION${"\t"}LOCATION,PERSON,MISC${"\t"}3

modules/analysis/src/test/scala/docspell/analysis/split/TestSplitterSpec.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package docspell.analysis.split
22

3-
import minitest.SimpleTestSuite
3+
import munit._
44

5-
object TestSplitterSpec extends SimpleTestSuite {
5+
class TestSplitterSpec extends FunSuite {
66

77
test("simple splitting") {
88
val text = """hiermit kündige ich meine Mitgliedschaft in der Kranken- und
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package docspell.common
2+
3+
import cats.data.NonEmptyList
4+
5+
import io.circe.Decoder
6+
import io.circe.Encoder
7+
8+
sealed trait EquipmentUse { self: Product =>
9+
10+
final def name: String =
11+
self.productPrefix.toLowerCase()
12+
}
13+
14+
object EquipmentUse {
15+
16+
case object Concerning extends EquipmentUse
17+
case object Disabled extends EquipmentUse
18+
19+
def concerning: EquipmentUse = Concerning
20+
def disabled: EquipmentUse = Disabled
21+
22+
val all: NonEmptyList[EquipmentUse] =
23+
NonEmptyList.of(concerning, disabled)
24+
25+
val notDisabled: NonEmptyList[EquipmentUse] =
26+
NonEmptyList.of(concerning)
27+
28+
def fromString(str: String): Either[String, EquipmentUse] =
29+
str.toLowerCase() match {
30+
case "concerning" =>
31+
Right(Concerning)
32+
case "disabled" =>
33+
Right(Disabled)
34+
case _ =>
35+
Left(s"Unknown equipment-use: $str")
36+
}
37+
38+
def unsafeFromString(str: String): EquipmentUse =
39+
fromString(str).fold(sys.error, identity)
40+
41+
implicit val jsonDecoder: Decoder[EquipmentUse] =
42+
Decoder.decodeString.emap(fromString)
43+
44+
implicit val jsonEncoder: Encoder[EquipmentUse] =
45+
Encoder.encodeString.contramap(_.name)
46+
}

modules/common/src/main/scala/docspell/common/Ident.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ object Ident {
2626
implicit val identEq: Eq[Ident] =
2727
Eq.by(_.id)
2828

29-
val chars: Set[Char] = (('A' to 'Z') ++ ('a' to 'z') ++ ('0' to '9') ++ "-_.").toSet
29+
val chars: Set[Char] = (('A' to 'Z') ++ ('a' to 'z') ++ ('0' to '9') ++ "-_.@").toSet
3030

3131
def randomUUID[F[_]: Sync]: F[Ident] =
3232
Sync[F].delay(unsafe(UUID.randomUUID.toString))

0 commit comments

Comments
 (0)