Skip to content

Commit b026442

Browse files
suboticirinaschubertmpro7
authored
build: add code coverage (#2163)
* Update plugins.sbt * build: add coverage, imports fixing * chore: apply fixes * chore: apply fixes * chore: apply fixes * chore: apply fixes * remove private * chore: tune down scalafix * fix UserHandlerSpec warnings * fix naming * fix some get methods warnings in admin groups * complier config changes * review + formatting fixes * add few more warn fixes * revert non-satisfying changes * update compiler config + some fixes * silenced twirl templates warnings * get rid of warnings * undo two nowarns Co-authored-by: irinaschubert <irina.schubert@dasch.swiss> Co-authored-by: Marcin Procyk <marcin.procyk@dasch.swiss>
1 parent 468df8f commit b026442

383 files changed

Lines changed: 1996 additions & 2383 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.

‎.scalafix.conf‎

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
rules = [
2+
OrganizeImports,
3+
RemoveUnused
4+
]
5+
6+
OrganizeImports {
7+
blankLines = Auto
8+
coalesceToWildcardImportThreshold = null
9+
expandRelative = false
10+
groupExplicitlyImportedImplicitsSeparately = false
11+
groupedImports = Explode
12+
groups = [
13+
"*"
14+
"re:(javax?|scala)\\."
15+
"re:(dsp|org.knora)\\."
16+
]
17+
importSelectorsOrder = Ascii
18+
importsOrder = Ascii
19+
preset = DEFAULT
20+
removeUnused = true
21+
}
22+
23+
RemoveUnused {
24+
imports = false
25+
privates = false
26+
locals = false
27+
patternvars = false
28+
params = false
29+
}

‎Makefile‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -333,6 +333,11 @@ info: ## print out all variables
333333
check: # Run code formating check
334334
@sbt "check"
335335

336+
.PHONY: fmt
337+
fmt: # Run code formating fix
338+
@sbt "fmt"
339+
340+
336341
.PHONY: help
337342
help: ## this help
338343
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST) | sort

‎build.sbt‎

Lines changed: 35 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,13 @@ import scala.sys.process.Process
1515
//////////////////////////////////////
1616

1717
// when true enables run cancellation w/o exiting sbt
18-
cancelable in Global := true
18+
// use Ctrl-c to stop current task but not quit SBT
19+
Global / cancelable := true
20+
21+
Global / scalaVersion := Dependencies.ScalaVersion
22+
Global / semanticdbEnabled := true
23+
Global / semanticdbVersion := scalafixSemanticdb.revision
24+
Global / scalafixDependencies += "com.github.liancheng" %% "organize-imports" % "0.6.0"
1925

2026
lazy val aggregatedProjects: Seq[ProjectReference] = Seq(webapi, sipi)
2127

@@ -51,18 +57,25 @@ lazy val root: Project = Project(id = "root", file("."))
5157
ThisBuild / scmInfo := Some(
5258
ScmInfo(url("https://github.com/dasch-swiss/dsp-api"), "scm:git:git@github.com:dasch-swiss/dsp-api.git")
5359
),
54-
Global / scalaVersion := Dependencies.scalaVersion,
60+
Global / scalaVersion := Dependencies.ScalaVersion,
5561
// use 'git describe' for deriving the version
5662
git.useGitDescribe := true,
5763
// override generated version string because docker hub rejects '+' in tags
5864
ThisBuild / version ~= (_.replace('+', '-')),
59-
// use Ctrl-c to stop current task but not quit SBT
60-
Global / cancelable := true,
61-
publish / skip := true
65+
publish / skip := true
6266
)
6367

64-
addCommandAlias("fmt", "all root/scalafmtSbt root/scalafmtAll")
65-
addCommandAlias("check", "all root/scalafmtSbtCheck root/scalafmtCheckAll")
68+
addCommandAlias("fmt", "; all root/scalafmtSbt root/scalafmtAll; root/scalafixAll")
69+
addCommandAlias("check", "; all root/scalafmtSbtCheck root/scalafmtCheckAll; root/scalafixAll --check")
70+
71+
lazy val customScalacOptions = Seq(
72+
"-feature",
73+
"-unchecked",
74+
"-deprecation",
75+
"-Yresolve-term-conflict:package",
76+
"-Ymacro-annotations",
77+
"-Wunused"
78+
)
6679

6780
//////////////////////////////////////
6881
// DSP's custom SIPI
@@ -151,7 +164,10 @@ lazy val webapi: Project = Project(id = "webapi", base = file("webapi"))
151164
"-unchecked",
152165
"-deprecation",
153166
"-Yresolve-term-conflict:package",
154-
"-Ymacro-annotations"
167+
"-Ymacro-annotations",
168+
// silence twirl templates unused imports warnings
169+
"-Wconf:src=target/.*:s",
170+
"-Wunused:imports"
155171
),
156172
logLevel := Level.Info,
157173
run / javaOptions := webapiJavaRunOptions,
@@ -208,7 +224,7 @@ lazy val webapi: Project = Project(id = "webapi", base = file("webapi"))
208224
buildInfoKeys ++= Seq[BuildInfoKey](
209225
name,
210226
version,
211-
"akkaHttp" -> Dependencies.akkaHttpVersion,
227+
"akkaHttp" -> Dependencies.AkkaHttpVersion,
212228
"sipi" -> Dependencies.sipiImage,
213229
"fuseki" -> Dependencies.fusekiImage
214230
),
@@ -249,13 +265,7 @@ lazy val webapiJavaTestOptions = Seq(
249265
lazy val roleInterface = project
250266
.in(file("dsp-role/interface"))
251267
.settings(
252-
scalacOptions ++= Seq(
253-
"-feature",
254-
"-unchecked",
255-
"-deprecation",
256-
"-Yresolve-term-conflict:package",
257-
"-Ymacro-annotations"
258-
),
268+
scalacOptions ++= customScalacOptions,
259269
name := "roleInterface",
260270
libraryDependencies ++= Dependencies.roleInterfaceLibraryDependencies,
261271
testFrameworks := Seq(new TestFramework("zio.test.sbt.ZTestFramework"))
@@ -265,13 +275,7 @@ lazy val roleInterface = project
265275
lazy val roleHandler = project
266276
.in(file("dsp-role/handler"))
267277
.settings(
268-
scalacOptions ++= Seq(
269-
"-feature",
270-
"-unchecked",
271-
"-deprecation",
272-
"-Yresolve-term-conflict:package",
273-
"-Ymacro-annotations"
274-
),
278+
scalacOptions ++= customScalacOptions,
275279
name := "roleHandler",
276280
libraryDependencies ++= Dependencies.roleHandlerLibraryDependencies,
277281
testFrameworks := Seq(new TestFramework("zio.test.sbt.ZTestFramework"))
@@ -285,13 +289,7 @@ lazy val roleHandler = project
285289
lazy val roleRepo = project
286290
.in(file("dsp-role/repo"))
287291
.settings(
288-
scalacOptions ++= Seq(
289-
"-feature",
290-
"-unchecked",
291-
"-deprecation",
292-
"-Yresolve-term-conflict:package",
293-
"-Ymacro-annotations"
294-
),
292+
scalacOptions ++= customScalacOptions,
295293
name := "roleRepo",
296294
libraryDependencies ++= Dependencies.roleRepoLibraryDependencies,
297295
testFrameworks := Seq(new TestFramework("zio.test.sbt.ZTestFramework"))
@@ -301,13 +299,7 @@ lazy val roleRepo = project
301299
lazy val roleCore = project
302300
.in(file("dsp-role/core"))
303301
.settings(
304-
scalacOptions ++= Seq(
305-
"-feature",
306-
"-unchecked",
307-
"-deprecation",
308-
"-Yresolve-term-conflict:package",
309-
"-Ymacro-annotations"
310-
),
302+
scalacOptions ++= customScalacOptions,
311303
name := "roleCore",
312304
libraryDependencies ++= Dependencies.roleCoreLibraryDependencies,
313305
testFrameworks := Seq(new TestFramework("zio.test.sbt.ZTestFramework"))
@@ -319,13 +311,7 @@ lazy val roleCore = project
319311
lazy val userInterface = project
320312
.in(file("dsp-user/interface"))
321313
.settings(
322-
scalacOptions ++= Seq(
323-
"-feature",
324-
"-unchecked",
325-
"-deprecation",
326-
"-Yresolve-term-conflict:package",
327-
"-Ymacro-annotations"
328-
),
314+
scalacOptions ++= customScalacOptions,
329315
name := "userInterface",
330316
libraryDependencies ++= Dependencies.userInterfaceLibraryDependencies,
331317
testFrameworks := Seq(new TestFramework("zio.test.sbt.ZTestFramework"))
@@ -335,13 +321,7 @@ lazy val userInterface = project
335321
lazy val userHandler = project
336322
.in(file("dsp-user/handler"))
337323
.settings(
338-
scalacOptions ++= Seq(
339-
"-feature",
340-
"-unchecked",
341-
"-deprecation",
342-
"-Yresolve-term-conflict:package",
343-
"-Ymacro-annotations"
344-
),
324+
scalacOptions ++= customScalacOptions,
345325
name := "userHandler",
346326
libraryDependencies ++= Dependencies.userHandlerLibraryDependencies,
347327
testFrameworks := Seq(new TestFramework("zio.test.sbt.ZTestFramework"))
@@ -355,13 +335,7 @@ lazy val userHandler = project
355335
lazy val userRepo = project
356336
.in(file("dsp-user/repo"))
357337
.settings(
358-
scalacOptions ++= Seq(
359-
"-feature",
360-
"-unchecked",
361-
"-deprecation",
362-
"-Yresolve-term-conflict:package",
363-
"-Ymacro-annotations"
364-
),
338+
scalacOptions ++= customScalacOptions,
365339
name := "userRepo",
366340
libraryDependencies ++= Dependencies.userRepoLibraryDependencies,
367341
testFrameworks := Seq(new TestFramework("zio.test.sbt.ZTestFramework"))
@@ -371,13 +345,7 @@ lazy val userRepo = project
371345
lazy val userCore = project
372346
.in(file("dsp-user/core"))
373347
.settings(
374-
scalacOptions ++= Seq(
375-
"-feature",
376-
"-unchecked",
377-
"-deprecation",
378-
"-Yresolve-term-conflict:package",
379-
"-Ymacro-annotations"
380-
),
348+
scalacOptions ++= customScalacOptions,
381349
name := "userCore",
382350
libraryDependencies ++= Dependencies.userCoreLibraryDependencies,
383351
testFrameworks := Seq(new TestFramework("zio.test.sbt.ZTestFramework"))
@@ -389,13 +357,7 @@ lazy val userCore = project
389357
lazy val schemaCore = project
390358
.in(file("dsp-schema/core"))
391359
.settings(
392-
scalacOptions ++= Seq(
393-
"-feature",
394-
"-unchecked",
395-
"-deprecation",
396-
"-Yresolve-term-conflict:package",
397-
"-Ymacro-annotations"
398-
),
360+
scalacOptions ++= customScalacOptions,
399361
name := "schemaCore",
400362
libraryDependencies ++= Dependencies.schemaCoreLibraryDependencies,
401363
testFrameworks := Seq(new TestFramework("zio.test.sbt.ZTestFramework"))
@@ -407,6 +369,7 @@ lazy val schemaCore = project
407369
lazy val shared = project
408370
.in(file("dsp-shared"))
409371
.settings(
372+
scalacOptions ++= customScalacOptions,
410373
name := "shared",
411374
libraryDependencies ++= Dependencies.sharedLibraryDependencies,
412375
testFrameworks := Seq(new TestFramework("zio.test.sbt.ZTestFramework"))

‎dsp-role/core/src/main/scala/dsp/role/api/RoleRepo.scala‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,12 @@
55

66
package dsp.role.api
77

8-
import dsp.role.domain.Role
9-
import dsp.valueobjects.Id.RoleId
108
import zio._
119
import zio.macros.accessible
1210

11+
import dsp.role.domain.Role
12+
import dsp.valueobjects.Id.RoleId
13+
1314
/**
1415
* The trait (interface) for the role repository.
1516
* The role repository is responsible for storing and retrieving roles.

‎dsp-role/core/src/main/scala/dsp/role/domain/RoleDomain.scala‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,13 @@
55

66
package dsp.role.domain
77

8+
import zio.prelude.Validation
9+
810
import dsp.errors.BadRequestException
911
import dsp.valueobjects.Id.RoleId
1012
import dsp.valueobjects.Id.UserId
1113
import dsp.valueobjects.Permission
1214
import dsp.valueobjects.Role._
13-
import zio.prelude.Validation
1415

1516
case class RoleUser(
1617
id: UserId

‎dsp-role/core/src/test/scala/dsp/role/domain/RoleDomainSpec.scala‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,12 @@
55

66
package dsp.role.domain
77

8+
import zio.test._
9+
810
import dsp.role.sharedtestdata.RoleTestData
911
import dsp.valueobjects.Id
1012
import dsp.valueobjects.Permission
1113
import dsp.valueobjects.Role._
12-
import zio.test._
1314

1415
/**
1516
* This spec is used to test [[RoleDomain]].

‎dsp-role/handler/src/main/scala/dsp/role/handler/RoleHandler.scala‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55

66
package dsp.role.handler
77

8+
import zio.ZIO
9+
import zio._
10+
811
import dsp.errors.NotFoundException
912
import dsp.errors.RequestRejectedException
1013
import dsp.role.api.RoleRepo
@@ -13,8 +16,6 @@ import dsp.role.domain.RoleUser
1316
import dsp.valueobjects.Id.RoleId
1417
import dsp.valueobjects.Permission
1518
import dsp.valueobjects.Role._
16-
import zio.ZIO
17-
import zio._
1819

1920
/**
2021
* The role handler.

‎dsp-role/handler/src/test/scala/dsp/role/handler/RoleHandlerSpec.scala‎

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,13 @@
55

66
package dsp.role.handler
77

8-
import dsp.errors.NotFoundException
9-
import dsp.errors.RequestRejectedException
10-
import dsp.role.api.RoleRepo
11-
import dsp.role.domain.Role
12-
import dsp.role.domain.RoleUser
8+
import zio.ZIO
9+
import zio.test._
10+
1311
import dsp.role.repo.impl.RoleRepoMock
1412
import dsp.role.sharedtestdata.RoleTestData
15-
import dsp.valueobjects.Id.RoleId
1613
import dsp.valueobjects.Permission
1714
import dsp.valueobjects.Role._
18-
import zio.ZIO
19-
import zio._
20-
import zio.test._
2115

2216
/**
2317
* This spec is used to test [[RoleHandler]]
@@ -185,8 +179,8 @@ object RoleHandlerSpec extends ZIOSpecDefault {
185179
permission1
186180
)
187181

188-
deletedRoleId <- handler.deleteRole(roleId)
189-
roles <- handler.getRoles()
182+
_ <- handler.deleteRole(roleId)
183+
roles <- handler.getRoles()
190184
} yield assertTrue(roles.size == 0)
191185
}
192186
}.provide(RoleRepoMock.layer, RoleHandler.layer)

‎dsp-role/repo/src/main/scala/dsp/role/repo/impl/RoleRepoLive.scala‎

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,15 @@
55

66
package dsp.role.repo.impl
77

8-
import dsp.role.api.RoleRepo
9-
import dsp.role.domain.Role
10-
import dsp.valueobjects.Id.RoleId
118
import zio._
129
import zio.stm.TMap
1310

1411
import java.util.UUID
1512

13+
import dsp.role.api.RoleRepo
14+
import dsp.role.domain.Role
15+
import dsp.valueobjects.Id.RoleId
16+
1617
/**
1718
* Role repo live implementation.
1819
*
@@ -54,8 +55,8 @@ final case class RoleRepoLive(
5455
*/
5556
override def deleteRole(id: RoleId): IO[Option[Nothing], RoleId] =
5657
(for {
57-
role <- roles.get(id.uuid).some
58-
_ <- roles.delete(id.uuid)
58+
_ <- roles.get(id.uuid).some
59+
_ <- roles.delete(id.uuid)
5960
} yield id).commit.tap(_ => ZIO.logInfo(s"Deleted role: ${id.uuid}"))
6061
}
6162

‎dsp-role/repo/src/test/scala/dsp/role/repo/impl/RoleRepoImplSpec.scala‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55

66
package dsp.role.repo.impl
77

8+
import zio.test.Assertion._
9+
import zio.test._
10+
811
import dsp.role.api.RoleRepo
912
import dsp.role.repo.impl.RoleRepoLive
1013
import dsp.role.repo.impl.RoleRepoMock
1114
import dsp.role.sharedtestdata.RoleTestData
12-
import zio._
13-
import zio.test.Assertion._
14-
import zio.test._
1515

1616
/**
1717
* This spec is used to test all [[RoleRepo]] implementations.

0 commit comments

Comments
 (0)