Skip to content

Commit 06e8b0c

Browse files
authored
chore(sipi): add comments (#1864)
1 parent a08706e commit 06e8b0c

13 files changed

Lines changed: 150 additions & 125 deletions

File tree

‎WORKSPACE‎

Lines changed: 102 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@ workspace(name = "io_dasch_dsp_api")
33
# load http_archive method
44
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive", "http_file")
55

6-
# bazel-skylib 1.0.2 released 2019.10.09 (https://github.com/bazelbuild/bazel-skylib/releases/tag/1.0.2)
6+
#####################################
7+
# Skylib #
8+
#####################################
9+
# 1.0.2 released 2019.10.09 (https://github.com/bazelbuild/bazel-skylib/releases/tag/1.0.2)
710
skylib_version = "1.0.2"
811

912
http_archive(
@@ -13,7 +16,82 @@ http_archive(
1316
url = "https://github.com/bazelbuild/bazel-skylib/releases/download/{}/bazel-skylib-{}.tar.gz".format(skylib_version, skylib_version),
1417
)
1518

16-
# download rules_scala repository
19+
#####################################
20+
# Docker #
21+
#####################################
22+
23+
rules_docker_version = "0.17.0"
24+
25+
rules_docker_version_sha256 = "59d5b42ac315e7eadffa944e86e90c2990110a1c8075f1cd145f487e999d22b3"
26+
27+
http_archive(
28+
name = "io_bazel_rules_docker",
29+
sha256 = rules_docker_version_sha256,
30+
strip_prefix = "rules_docker-%s" % rules_docker_version,
31+
url = "https://github.com/bazelbuild/rules_docker/releases/download/v%s/rules_docker-v%s.tar.gz" % (rules_docker_version, rules_docker_version),
32+
)
33+
34+
load(
35+
"@io_bazel_rules_docker//repositories:repositories.bzl",
36+
container_repositories = "repositories",
37+
)
38+
39+
container_repositories()
40+
41+
load("@io_bazel_rules_docker//repositories:deps.bzl", container_deps = "deps")
42+
43+
container_deps()
44+
45+
# load container_pull method
46+
load(
47+
"@io_bazel_rules_docker//container:container.bzl",
48+
"container_pull",
49+
)
50+
51+
# get distroless java
52+
container_pull(
53+
name = "java_base",
54+
# 'tag' is also supported, but digest is encouraged for reproducibility.
55+
digest = "sha256:deadbeef",
56+
registry = "gcr.io",
57+
repository = "distroless/java",
58+
)
59+
60+
# get openjdk
61+
container_pull(
62+
name = "openjdk11",
63+
digest = "sha256:0e51b455654bd162c485a6a6b5b120cc82db453d9265cc90f0c4fb5d14e2f62e",
64+
registry = "docker.io",
65+
repository = "adoptopenjdk",
66+
tag = "11-jre-hotspot-bionic",
67+
)
68+
69+
# get sipi
70+
load("//third_party:versions.bzl", "SIPI_IMAGE_DIGEST", "SIPI_REPOSITORY", "SIPI_VERSION")
71+
72+
container_pull(
73+
name = "sipi",
74+
digest = SIPI_IMAGE_DIGEST,
75+
registry = "docker.io",
76+
repository = SIPI_REPOSITORY,
77+
tag = SIPI_VERSION,
78+
)
79+
80+
# get fuseki
81+
load("//third_party:versions.bzl", "FUSEKI_IMAGE_DIGEST", "FUSEKI_REPOSITORY", "FUSEKI_VERSION")
82+
83+
container_pull(
84+
name = "jenafuseki",
85+
digest = FUSEKI_IMAGE_DIGEST,
86+
registry = "docker.io",
87+
repository = FUSEKI_REPOSITORY,
88+
tag = FUSEKI_VERSION,
89+
)
90+
91+
#####################################
92+
# Scala #
93+
#####################################
94+
1795
rules_scala_version = "0ac75d3a044b8e316d1b11b90a7d044685bd72e8" # 22.04.2021
1896

1997
rules_scala_version_sha256 = "7624c95c19b60df943dbde90c54d09ecad9aca9432b1211da8352f131776ac36"
@@ -52,9 +130,10 @@ scalatest_repositories()
52130

53131
scalatest_toolchain()
54132

55-
#
56-
# Download the protobuf repository (needed by go and rules_scala_annex)
57-
#
133+
#####################################
134+
# Protobuf (Scala Annex) #
135+
#####################################
136+
58137
protobuf_tag = "3.12.3"
59138

60139
protobuf_sha256 = "e5265d552e12c1f39c72842fa91d84941726026fa056d914ea6a25cd58d7bbf8"
@@ -71,8 +150,10 @@ load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
71150

72151
protobuf_deps()
73152

153+
#####################################
154+
# JAR Dependencies #
155+
#####################################
74156
#
75-
# download rules_jvm_external used for maven dependency resolution
76157
# defined in the third_party sub-folder
77158
#
78159
rules_jvm_external_version = "4.0" # 6.01.2021
@@ -97,9 +178,9 @@ load("@maven//:defs.bzl", "pinned_maven_install")
97178

98179
pinned_maven_install()
99180

100-
#
101-
# Load rules_scala_annex, required by rules_twirl
102-
#
181+
#####################################
182+
# Scala Annex (Twirl dependency) #
183+
#####################################
103184
rules_scala_annex_version = "2503b72a166610c14170b117c51033b42a32e48b" # 29.06.2020
104185

105186
rules_scala_annex_sha256 = "52d677dc8205db25a49824aade45984e3ef1b79c3bf761efede35d921033c3a4"
@@ -147,9 +228,9 @@ bind(
147228
actual = "@rules_scala_annex//src/main/scala:zinc_2_12_10",
148229
)
149230

150-
#
151-
# download the rules_twirl repository (needed to compile twirl templates)
152-
#
231+
#####################################
232+
# Twirl templates #
233+
#####################################
153234
rules_twirl_version = "35389750d178f17f7ddd85b9335f7b8b8d662f78" # 29.04.2020
154235

155236
rules_twirl_version_sha256 = "d072049d0917b87e1eb677a4255509a7133ca71fc21c8de4b4536ca030eb3d3a"
@@ -170,9 +251,9 @@ load("@twirl//:defs.bzl", twirl_pinned_maven_install = "pinned_maven_install")
170251

171252
twirl_pinned_maven_install()
172253

173-
#
174-
# Download the rules_go repository
175-
#
254+
#####################################
255+
# Buildifier #
256+
#####################################
176257
# buildifier is written in Go and hence needs rules_go to be built.
177258
# See https://github.com/bazelbuild/rules_go for the up to date setup instructions.
178259
http_archive(
@@ -208,90 +289,11 @@ http_archive(
208289
url = "https://github.com/bazelbuild/buildtools/archive/master.zip",
209290
)
210291

211-
# legacy variant used by rules_docker. Remove after rules_docker was updated to
212-
# newest rules_python
213-
load("@rules_python//python:pip.bzl", "pip_import", "pip_repositories")
214-
215-
pip_repositories()
216-
217-
#
218-
# Download the rules_docker repository at release v0.14.4
219-
#
220-
rules_docker_version = "0.14.4"
221-
222-
rules_docker_version_sha256 = "4521794f0fba2e20f3bf15846ab5e01d5332e587e9ce81629c7f96c793bb7036"
223-
224-
http_archive(
225-
name = "io_bazel_rules_docker",
226-
sha256 = rules_docker_version_sha256,
227-
strip_prefix = "rules_docker-%s" % rules_docker_version,
228-
url = "https://github.com/bazelbuild/rules_docker/releases/download/v%s/rules_docker-v%s.tar.gz" % (rules_docker_version, rules_docker_version),
229-
)
230-
231-
load(
232-
"@io_bazel_rules_docker//repositories:repositories.bzl",
233-
container_repositories = "repositories",
234-
)
235-
236-
container_repositories()
237-
238-
load("@io_bazel_rules_docker//repositories:deps.bzl", container_deps = "deps")
239-
240-
container_deps()
241292

242-
load("@io_bazel_rules_docker//repositories:pip_repositories.bzl", "pip_deps")
243293

244-
pip_deps()
245-
246-
# load container_pull method
247-
load(
248-
"@io_bazel_rules_docker//container:container.bzl",
249-
"container_pull",
250-
)
251-
252-
# get distroless java
253-
container_pull(
254-
name = "java_base",
255-
# 'tag' is also supported, but digest is encouraged for reproducibility.
256-
digest = "sha256:deadbeef",
257-
registry = "gcr.io",
258-
repository = "distroless/java",
259-
)
260-
261-
# get openjdk
262-
container_pull(
263-
name = "openjdk11",
264-
digest = "sha256:0e51b455654bd162c485a6a6b5b120cc82db453d9265cc90f0c4fb5d14e2f62e",
265-
registry = "docker.io",
266-
repository = "adoptopenjdk",
267-
tag = "11-jre-hotspot-bionic",
268-
)
269-
270-
# get sipi
271-
load("//third_party:versions.bzl", "SIPI_IMAGE_DIGEST", "SIPI_REPOSITORY", "SIPI_VERSION")
272-
273-
container_pull(
274-
name = "sipi",
275-
digest = SIPI_IMAGE_DIGEST,
276-
registry = "docker.io",
277-
repository = SIPI_REPOSITORY,
278-
tag = SIPI_VERSION,
279-
)
280-
281-
# get fuseki
282-
load("//third_party:versions.bzl", "FUSEKI_IMAGE_DIGEST", "FUSEKI_REPOSITORY", "FUSEKI_VERSION")
283-
284-
container_pull(
285-
name = "jenafuseki",
286-
digest = FUSEKI_IMAGE_DIGEST,
287-
registry = "docker.io",
288-
repository = FUSEKI_REPOSITORY,
289-
tag = FUSEKI_VERSION,
290-
)
291-
292-
#
293-
# download rules_pkg - basic packaging rules
294-
#
294+
#####################################
295+
# rules_pkg - basic packaging rules #
296+
#####################################
295297
rules_package_version = "0.2.4"
296298

297299
rules_package_version_sha256 = "4ba8f4ab0ff85f2484287ab06c0d871dcb31cc54d439457d28fd4ae14b18450a"
@@ -302,14 +304,13 @@ http_archive(
302304
url = "https://github.com/bazelbuild/rules_pkg/releases/download/%s/rules_pkg-%s.tar.gz" % (rules_package_version, rules_package_version),
303305
)
304306

305-
# load further dependencies of this rule
306307
load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
307308

308309
rules_pkg_dependencies()
309310

310-
#
311-
# download rules_stamp - stamping helper
312-
#
311+
#####################################
312+
# rules_stamp - stamping helper #
313+
#####################################
313314
http_archive(
314315
name = "ecosia_rules_stamp",
315316
sha256 = "36d7ea381bfb2520f9353299b162434b25c77365d3c9e9459195c536da5e837d",

‎sipi/scripts/BUILD.bazel‎

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,29 @@ load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_tar")
44

55
filegroup(
66
name = "scripts",
7-
srcs = glob(["*.lua"]),
7+
srcs = [
8+
"admin_upload.lua",
9+
"cache.lua",
10+
"clean_temp_dir.lua",
11+
"debug.lua",
12+
"delete_temp_file.lua",
13+
"exit.lua",
14+
"file_info.lua",
15+
"get_knora_session.lua",
16+
"jwt.lua",
17+
"send_response.lua",
18+
"sipi.init-knora.lua",
19+
"sipi.init-knora-no-auth.lua",
20+
"sipi.init-knora-test.lua",
21+
"store.lua",
22+
"test1.lua",
23+
"test2.lua",
24+
"test_file_info.lua",
25+
"test_functions.lua",
26+
"test_knora_session_cookie.lua",
27+
"upload.lua",
28+
"util.lua",
29+
],
830
)
931

1032
pkg_tar(

‎sipi/scripts/send_response.lua‎

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -49,20 +49,15 @@ function send_error(status, msg)
4949
msg_str = "Unknown error. Please report this as a possible bug in a Sipi route."
5050
end
5151

52-
local result
53-
54-
-- If this is an internal server error, log the message, and return a generic message to the client.
52+
-- If this is an internal server error, log the message.
5553
if http_status // 100 == 5 then
5654
server.log(msg_str, server.loglevel.LOG_ERR)
57-
58-
result = {
59-
message = "Internal server error"
60-
}
61-
else
62-
result = {
63-
message = msg_str
64-
}
6555
end
56+
57+
local result
58+
result = {
59+
message = msg_str
60+
}
6661

6762
success, error_msg = server.sendHeader("Content-Type", "application/json")
6863
if not success then

‎sipi/scripts/upload.lua‎

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ end
3838

3939

4040
-- Buffer the response (helps with error handling).
41-
local success, error_msg = server.setBuffer()
41+
local success, error_msg
42+
success, error_msg = server.setBuffer()
4243
if not success then
4344
send_error(500, "server.setBuffer() failed: " .. error_msg)
4445
return
@@ -54,12 +55,14 @@ end
5455
local tmpFolder = config.imgroot .. '/tmp/'
5556
local exists
5657
success, exists = server.fs.exists(tmpFolder)
57-
if not success then
58+
if not success then -- tests server.fs.exists
59+
-- fs.exist was not run successful. This does not mean, that the tmp folder is not there.
5860
send_error(500, "server.fs.exists() failed: " .. exists)
5961
return
6062
end
61-
if not exists then
62-
local error_msg
63+
if not exists then -- checks the response of server.fs.exists
64+
-- tmp folder does not exist
65+
server.log("temp folder missing: " .. tmpFolder, server.loglevel.LOG_ERR)
6366
success, error_msg = server.fs.mkdir(tmpFolder, 511)
6467
if not success then
6568
send_error(500, "server.fs.mkdir() failed: " .. error_msg)

‎webapi/src/test/resources/logback-test.xml‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@
5151
<logger name="kamon.metric" level="ERROR"/>
5252
<logger name="org.apache.http" level="INFO"/>
5353
<logger name="org.apache.http.wire" level="INFO"/>
54+
<logger name="org.testcontainers" level="INFO"/>
55+
<logger name="com.github.dockerjava" level="WARN"/>
5456

5557
<!-- App -->
5658
<logger name="org.knora.webapi.app.ApplicationActor" level="INFO"/>

‎webapi/src/test/scala/org/knora/webapi/ITKnoraLiveSpec.scala‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -244,9 +244,8 @@ class ITKnoraLiveSpec(_system: ActorSystem)
244244
val sipiRequest = Post(s"$baseInternalSipiUrl/upload?token=$loginToken", sipiFormData)
245245

246246
val sipiUploadResponseJson: JsObject = getResponseJson(sipiRequest)
247-
// println(sipiUploadResponseJson.prettyPrint)
247+
248248
val sipiUploadResponse: SipiUploadResponse = sipiUploadResponseJson.convertTo[SipiUploadResponse]
249-
// println(s"sipiUploadResponse: $sipiUploadResponse")
250249

251250
// Request the temporary file from Sipi.
252251
for (responseEntry <- sipiUploadResponse.uploadedFiles) {

‎webapi/src/test/scala/org/knora/webapi/TestContainers.scala‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import com.typesafe.config.{Config, ConfigFactory}
2525
import org.testcontainers.containers.{BindMode, GenericContainer}
2626
import org.testcontainers.utility.DockerImageName
2727

28-
import scala.collection.JavaConverters._
28+
import scala.jdk.CollectionConverters._
2929

3030
/**
3131
* Provides all containers necessary for running tests.
@@ -69,7 +69,6 @@ object TestContainers {
6969
RedisContainer.withExposedPorts(6379)
7070
RedisContainer.start()
7171

72-
import scala.collection.JavaConverters._
7372
private val portMap = Map(
7473
"app.triplestore.fuseki.port" -> FusekiContainer.getFirstMappedPort,
7574
"app.sipi.internal-host" -> sipiIp,

0 commit comments

Comments
 (0)