Skip to content

Commit 8390078

Browse files
committed
comments
Signed-off-by: sezen.leblay <[email protected]>
1 parent 57fd21c commit 8390078

File tree

2 files changed

+15
-12
lines changed

2 files changed

+15
-12
lines changed

dd-smoke-tests/appsec/springboot/src/main/java/datadog/smoketest/appsec/springboot/controller/WebController.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import java.nio.file.Paths;
1010
import java.sql.Connection;
1111
import java.sql.DriverManager;
12+
import java.util.Map;
1213
import javax.servlet.http.HttpServletRequest;
1314
import javax.servlet.http.HttpSession;
1415
import org.apache.commons.httpclient.HttpClient;
@@ -240,7 +241,8 @@ public ResponseEntity<String> exceedResponseHeaders() {
240241
}
241242

242243
@PostMapping("/api_security/response")
243-
public ResponseEntity<String> apiSecurityResponse(@RequestBody String body) {
244+
public ResponseEntity<Map<String, Object>> apiSecurityResponse(
245+
@RequestBody Map<String, Object> body) {
244246
// This endpoint is used to test API security response handling
245247
// It simply returns the body received in the request
246248
return ResponseEntity.ok(body);

dd-smoke-tests/appsec/springboot/src/test/groovy/datadog/smoketest/appsec/AppSecHttpMessageConverterSmokeTest.groovy

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
package datadog.smoketest.appsec
22

33
import groovy.json.JsonOutput
4+
import groovy.json.JsonSlurper
45
import okhttp3.MediaType
56
import okhttp3.Request
67
import okhttp3.RequestBody
78

9+
import java.util.zip.GZIPInputStream
10+
811
class AppSecHttpMessageConverterSmokeTest extends AbstractAppSecServerSmokeTest {
912

1013
@Override
@@ -39,17 +42,8 @@ class AppSecHttpMessageConverterSmokeTest extends AbstractAppSecServerSmokeTest
3942
given:
4043
def url = "http://localhost:${httpPort}/api_security/response"
4144
def body = [
42-
source: 'AppSecSpringSmokeTest',
43-
tests : [
44-
[
45-
name : 'API Security samples only one request per endpoint',
46-
status: 'SUCCESS'
47-
],
48-
[
49-
name : 'test response schema extraction',
50-
status: 'FAILED'
51-
]
52-
]
45+
"main" : [["key": "id001", "value": 1345.67], ["value": 1567.89, "key": "id002"]],
46+
"nullable": null,
5347
]
5448
def request = new Request.Builder()
5549
.url(url)
@@ -65,5 +59,12 @@ class AppSecHttpMessageConverterSmokeTest extends AbstractAppSecServerSmokeTest
6559
def span = rootSpans.first()
6660
span.meta.containsKey('_dd.appsec.s.res.headers')
6761
span.meta.containsKey('_dd.appsec.s.res.body')
62+
final schema = new JsonSlurper().parse(unzip(span.meta.get('_dd.appsec.s.res.body')))
63+
assert schema == [["main": [[[["key": [8], "value": [16]]]], ["len": 2]], "nullable": [1]]]
64+
}
65+
66+
private static byte[] unzip(final String text) {
67+
final inflaterStream = new GZIPInputStream(new ByteArrayInputStream(text.decodeBase64()))
68+
return inflaterStream.getBytes()
6869
}
6970
}

0 commit comments

Comments
 (0)