Skip to content

Commit 54446bc

Browse files
authored
refactor: add missing client test data (DEV-979) (#2072)
* add missing ontology client test data * add missing candeletelist client test data * add delete list node comments route tests * update client test data * fix def name
1 parent b55eb12 commit 54446bc

3 files changed

Lines changed: 70 additions & 26 deletions

File tree

‎webapi/scripts/expected-client-test-data.txt‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ test-data/admin/lists/add-child-to-second-child-request.json
1818
test-data/admin/lists/add-child-to-second-child-response.json
1919
test-data/admin/lists/add-second-child-to-root-request.json
2020
test-data/admin/lists/add-second-child-to-root-response.json
21+
test-data/admin/lists/candeletelist-response.json
2122
test-data/admin/lists/create-child-node-request.json
2223
test-data/admin/lists/create-child-node-response.json
2324
test-data/admin/lists/create-child-node-with-custom-IRI-request.json
@@ -26,6 +27,7 @@ test-data/admin/lists/create-list-request.json
2627
test-data/admin/lists/create-list-response.json
2728
test-data/admin/lists/create-list-with-custom-IRI-request.json
2829
test-data/admin/lists/create-list-with-custom-IRI-response.json
30+
test-data/admin/lists/delete-list-node-comments-response.json
2931
test-data/admin/lists/delete-list-node-response.json
3032
test-data/admin/lists/delete-list-response.json
3133
test-data/admin/lists/get-anything-project-lists-response.json
@@ -194,7 +196,9 @@ test-data/v2/ontologies/create-ontology-with-comment-request.json
194196
test-data/v2/ontologies/create-ontology-with-comment-response.json
195197
test-data/v2/ontologies/create-value-property-request.json
196198
test-data/v2/ontologies/create-value-property-response.json
199+
test-data/v2/ontologies/delete-class-comment-response.json
197200
test-data/v2/ontologies/delete-ontology-response.json
201+
test-data/v2/ontologies/delete-property-comment-response.json
198202
test-data/v2/ontologies/get-class-anything-thing-with-allLanguages-response.json
199203
test-data/v2/ontologies/get-class-image-bild-response.json
200204
test-data/v2/ontologies/get-class-incunabula-book-response.json

‎webapi/src/test/scala/org/knora/webapi/e2e/admin/lists/DeleteListItemsRouteADME2ESpec.scala‎

Lines changed: 55 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,19 @@ class DeleteListItemsRouteADME2ESpec
5151
// Collects client test data
5252
private val clientTestDataCollector = new ClientTestDataCollector(settings)
5353

54+
// Collects client test data
55+
private def collectClientTestData(fileName: String, fileContent: String): Unit =
56+
clientTestDataCollector.addFile(
57+
TestDataFileContent(
58+
filePath = TestDataFilePath(
59+
directoryPath = clientTestDataPath,
60+
filename = fileName,
61+
fileExtension = "json"
62+
),
63+
text = fileContent
64+
)
65+
)
66+
5467
override lazy val rdfDataObjects = List(
5568
RdfDataObject(path = "test_data/demo_data/images-demo-data.ttl", name = "http://www.knora.org/data/00FF/images"),
5669
RdfDataObject(path = "test_data/all_data/anything-data.ttl", name = "http://www.knora.org/data/0001/anything")
@@ -125,16 +138,7 @@ class DeleteListItemsRouteADME2ESpec
125138
val firstChild = children.head
126139
firstChild.children.size should be(5)
127140

128-
clientTestDataCollector.addFile(
129-
TestDataFileContent(
130-
filePath = TestDataFilePath(
131-
directoryPath = clientTestDataPath,
132-
filename = "delete-list-node-response",
133-
fileExtension = "json"
134-
),
135-
text = responseToString(response)
136-
)
137-
)
141+
collectClientTestData("delete-list-node-response", responseToString(response))
138142
}
139143

140144
"delete the single child of a node" in {
@@ -161,22 +165,13 @@ class DeleteListItemsRouteADME2ESpec
161165
val deletedStatus = AkkaHttpUtils.httpResponseToJson(response).fields("deleted")
162166
deletedStatus.convertTo[Boolean] should be(true)
163167

164-
clientTestDataCollector.addFile(
165-
TestDataFileContent(
166-
filePath = TestDataFilePath(
167-
directoryPath = clientTestDataPath,
168-
filename = "delete-list-response",
169-
fileExtension = "json"
170-
),
171-
text = responseToString(response)
172-
)
173-
)
168+
collectClientTestData("delete-list-response", responseToString(response))
174169
}
175170
}
176171

177172
"Candeletelist route (/admin/lists/candelete)" when {
178173
"used to query if list can be deleted" should {
179-
"return TRUE for unused list" in {
174+
"return positive response for unused list" in {
180175
val unusedList = "http://rdfh.ch/lists/0001/notUsedList"
181176
val unusedListEncoded = java.net.URLEncoder.encode(unusedList, "utf-8")
182177
val request = Get(baseApiUrl + s"/admin/lists/candelete/" + unusedListEncoded) ~> addCredentials(
@@ -190,9 +185,11 @@ class DeleteListItemsRouteADME2ESpec
190185
canDelete.convertTo[Boolean] should be(true)
191186
val listIri = AkkaHttpUtils.httpResponseToJson(response).fields("listIri")
192187
listIri.convertTo[String] should be(unusedList)
188+
189+
collectClientTestData("candeletelist-response", responseToString(response))
193190
}
194191

195-
"return FALSE for used list" in {
192+
"return negative response for used list" in {
196193
val usedList = "http://rdfh.ch/lists/0001/treeList01"
197194
val usedListEncoded = java.net.URLEncoder.encode(usedList, "utf-8")
198195
val request = Get(baseApiUrl + s"/admin/lists/candelete/" + usedListEncoded) ~> addCredentials(
@@ -220,4 +217,40 @@ class DeleteListItemsRouteADME2ESpec
220217
}
221218
}
222219
}
220+
221+
"DeleteListNodeComments route (/admin/lists/comments)" when {
222+
"deleting comments" should {
223+
"delete child node comments" in {
224+
val childNodeIri = "http://rdfh.ch/lists/0001/testList01"
225+
val childNodeIriEncoded = java.net.URLEncoder.encode(childNodeIri, "utf-8")
226+
val request = Delete(s"$baseApiUrl/admin/lists/comments/$childNodeIriEncoded") ~> addCredentials(
227+
BasicHttpCredentials(rootCreds.email, rootCreds.password)
228+
)
229+
230+
val response: HttpResponse = singleAwaitingRequest(request)
231+
val responseStr = responseToString(response)
232+
233+
response.status should be(StatusCodes.OK)
234+
val commentsDeleted = AkkaHttpUtils.httpResponseToJson(response).fields("commentsDeleted")
235+
commentsDeleted.convertTo[Boolean] should be(true)
236+
val nodeIri = AkkaHttpUtils.httpResponseToJson(response).fields("nodeIri")
237+
nodeIri.convertTo[String] should be(childNodeIri)
238+
239+
collectClientTestData("delete-list-node-comments-response", responseStr)
240+
}
241+
242+
"return exception for root node comments" in {
243+
val childNodeIri = "http://rdfh.ch/lists/0001/testList"
244+
val childNodeIriEncoded = java.net.URLEncoder.encode(childNodeIri, "utf-8")
245+
val request = Delete(s"$baseApiUrl/admin/lists/comments/$childNodeIriEncoded") ~> addCredentials(
246+
BasicHttpCredentials(rootCreds.email, rootCreds.password)
247+
)
248+
249+
val response: HttpResponse = singleAwaitingRequest(request)
250+
val responseStr = responseToString(response)
251+
252+
response.status should be(StatusCodes.BadRequest)
253+
}
254+
}
255+
}
223256
}

‎webapi/src/test/scala/org/knora/webapi/e2e/v2/OntologyV2R2RSpec.scala‎

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -983,8 +983,9 @@ class OntologyV2R2RSpec extends R2RSpec {
983983
Delete(
984984
s"/v2/ontologies/properties/comment/$propertySegment?lastModificationDate=$lastModificationDate"
985985
) ~> addCredentials(BasicHttpCredentials(anythingUsername, password)) ~> ontologiesPath ~> check {
986-
assert(status == StatusCodes.OK, response.toString)
987-
val responseJsonDoc: JsonLDDocument = responseToJsonLDDocument(response)
986+
val responseStr = responseAs[String]
987+
assert(status == StatusCodes.OK, responseStr)
988+
val responseJsonDoc = JsonLDUtil.parseJsonLD(responseStr)
988989
val newFreetestLastModDate = responseJsonDoc.requireDatatypeValueInObject(
989990
key = OntologyConstants.KnoraApiV2Complex.LastModificationDate,
990991
expectedDatatype = OntologyConstants.Xsd.DateTimeStamp.toSmartIri,
@@ -1047,9 +1048,12 @@ class OntologyV2R2RSpec extends R2RSpec {
10471048

10481049
val responseFromJsonLD: InputOntologyV2 =
10491050
InputOntologyV2.fromJsonLD(responseJsonDoc, parsingMode = TestResponseParsingModeV2).unescape
1051+
10501052
responseFromJsonLD.properties.head._2.predicates.toSet should ===(
10511053
expectedResponseToCompare.properties.head._2.predicates.toSet
10521054
)
1055+
1056+
CollectClientTestData("delete-property-comment-response", responseStr)
10531057
}
10541058
}
10551059

@@ -1061,8 +1065,9 @@ class OntologyV2R2RSpec extends R2RSpec {
10611065
Delete(
10621066
s"/v2/ontologies/classes/comment/$classSegment?lastModificationDate=$lastModificationDate"
10631067
) ~> addCredentials(BasicHttpCredentials(anythingUsername, password)) ~> ontologiesPath ~> check {
1064-
assert(status == StatusCodes.OK, response.toString)
1065-
val responseJsonDoc: JsonLDDocument = responseToJsonLDDocument(response)
1068+
val responseStr = responseAs[String]
1069+
assert(status == StatusCodes.OK, responseStr)
1070+
val responseJsonDoc: JsonLDDocument = JsonLDUtil.parseJsonLD(responseStr)
10661071
val newFreetestLastModDate = responseJsonDoc.requireDatatypeValueInObject(
10671072
key = OntologyConstants.KnoraApiV2Complex.LastModificationDate,
10681073
expectedDatatype = OntologyConstants.Xsd.DateTimeStamp.toSmartIri,
@@ -1125,6 +1130,8 @@ class OntologyV2R2RSpec extends R2RSpec {
11251130
responseFromJsonLD.classes.head._2.predicates.toSet should ===(
11261131
expectedResponseToCompare.classes.head._2.predicates.toSet
11271132
)
1133+
1134+
CollectClientTestData("delete-class-comment-response", responseStr)
11281135
}
11291136
}
11301137

0 commit comments

Comments
 (0)