Skip to content
Merged
Prev Previous commit
Next Next commit
feat(rum): Add smoke tests
  • Loading branch information
PerfectSlayer committed Jul 4, 2025
commit 8814d867cbe195e37bf6630e52edc6de7c291f6a
Original file line number Diff line number Diff line change
Expand Up @@ -5,34 +5,19 @@ import okhttp3.Response
import spock.lang.Shared

class AbstractRumServerSmokeTest extends AbstractServerSmokeTest {



@Shared
protected String[] defaultRumProperties = [
"-Ddd.appsec.enabled=${System.getProperty('smoke_test.appsec.enabled') ?: 'true'}",
"-Ddd.profiling.enabled=false",
// TODO: Remove once this is the default value
"-Ddd.api-security.enabled=true",
"-Ddd.appsec.waf.timeout=300000",
"-DPOWERWAF_EXIT_ON_LEAK=true",
// disable AppSec rate limit
"-Ddd.appsec.trace.rate.limit=-1"
] + (System.getProperty('smoke_test.appsec.enabled') == 'inactive' ?
// enable remote config so that appsec is partially enabled (rc is now enabled by default)
[
'-Ddd.remote_config.url=https://127.0.0.1:54670/invalid_endpoint',
'-Ddd.remote_config.poll_interval.seconds=3600'
]:
['-Ddd.remote_config.enabled=false']
)


static void assertRumInjected(Response response) {
assert response.header('x-datadog-rum-injected') == '1' : 'RUM injected header missing'
def content = response.body().toString()
assert content.contains('https://www.datadoghq-browser-agent.com') : 'RUM script not injected'
}
@Shared
protected String[] defaultRumProperties = [
"-Ddd.rum.enabled=true",
"-Ddd.rum.application.id=appid",
"-Ddd.rum.client.token=token"
]


static void assertRumInjected(Response response) {
assert response.header('x-datadog-rum-injected') == '1': 'RUM injected header missing'
def content = response.body().toString()
assert content.contains('https://www.datadoghq-browser-agent.com'): 'RUM script not injected'
}


}
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
package com.example;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
resp.setContentType("text/html;charset=UTF-8");
resp.getWriter().write(
"<!DOCTYPE html>" +
Expand Down
11 changes: 5 additions & 6 deletions dd-smoke-tests/rum/tomcat-9/src/main/java/com/example/Main.java
Original file line number Diff line number Diff line change
@@ -1,25 +1,24 @@
package com.example;

import java.io.File;
import org.apache.catalina.Context;
import org.apache.catalina.LifecycleException;
import org.apache.catalina.startup.Tomcat;

import java.io.File;

public class Main {
public static void main(String[] args) throws Exception {
public static void main(String[] args) throws LifecycleException {
int port = 8080;
if (args.length == 1) {
port = Integer.parseInt(args[0]);
}

Tomcat tomcat = new Tomcat();
tomcat.setPort(port);

// Setup base directory
tomcat.getConnector(); // This is required to make Tomcat start
tomcat.setBaseDir(".");

// Add webapp context
String contextPath = "/";
String contextPath = "";
String docBase = new File(".").getAbsolutePath();
Context context = tomcat.addContext(contextPath, docBase);

Expand Down