Skip to content

Commit fbbe8a0

Browse files
committed
Split out SpringBootTest
1 parent 55c0535 commit fbbe8a0

File tree

27 files changed

+701
-259
lines changed

27 files changed

+701
-259
lines changed

settings.gradle

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,9 @@ include ':test:smoke:testApps:TraceLog4j2UsingAgent'
7474
include ':test:smoke:testApps:HeartBeat'
7575
include ':test:smoke:testApps:SpringBootTest'
7676
include ':test:smoke:testApps:FixedRateSampling'
77+
include ':test:smoke:testApps:Jdbc'
78+
include ':test:smoke:testApps:HttpClients'
79+
include ':test:smoke:testApps:CustomInstrumentation'
7780
include ':test:smoke:testApps:WebAuto'
7881
include ':test:smoke:testApps:SpringBoot1_3Auto'
7982
include ':test:smoke:testApps:SpringBootAuto'

test/smoke/appServers/global-resources/CustomInstrumentation_AI-Agent.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<Instrumentation>
44
<BuiltIn enabled="true">
55
</BuiltIn>
6-
<Class name="com.springbootstartertest.controller.TargetObject">
6+
<Class name="com.microsoft.applicationinsights.smoketestapp.TargetObject">
77
<Method name="one"/>
88
<Method name="two" signature="(Ljava/lang/String;)Ljava/lang/String;"/>
99
<Method name="three"/>
@@ -14,7 +14,7 @@
1414
<Method name="eight" signature="(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
1515
<Method name="nine"/>
1616
</Class>
17-
<Class name="com.springbootstartertest.controller.TargetObject$NestedObject">
17+
<Class name="com.microsoft.applicationinsights.smoketestapp.TargetObject$NestedObject">
1818
<Method name="four" signature="(Z[I[[Ljava/lang/String;)V"/>
1919
</Class>
2020
</Instrumentation>

test/smoke/testApps/CachingCalculator/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ dependencies {
1111
smokeTestCompile 'com.google.guava:guava:23.0'
1212
}
1313

14-
sourceCompatibility = 1.8
15-
targetCompatibility = 1.8
14+
sourceCompatibility = 1.7
15+
targetCompatibility = 1.7
1616
compileSmokeTestJava.sourceCompatibility = 1.8
1717
compileSmokeTestJava.targetCompatibility = 1.8
1818

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
apply plugin: 'war'
2+
3+
dependencies {
4+
compile aiCoreJar
5+
compile aiWebJar
6+
7+
providedCompile 'javax.servlet:javax.servlet-api:3.0.1'
8+
}
9+
10+
sourceCompatibility = 1.7
11+
targetCompatibility = 1.7
12+
compileSmokeTestJava.sourceCompatibility = 1.8
13+
compileSmokeTestJava.targetCompatibility = 1.8
14+
15+
ext.testAppArtifactDir = war.destinationDirectory
16+
ext.testAppArtifactFilename = war.archiveFileName.get()
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
package com.microsoft.applicationinsights.smoketestapp;
2+
3+
import java.io.IOException;
4+
import javax.servlet.ServletException;
5+
import javax.servlet.annotation.WebServlet;
6+
import javax.servlet.http.HttpServlet;
7+
import javax.servlet.http.HttpServletRequest;
8+
import javax.servlet.http.HttpServletResponse;
9+
10+
@WebServlet("/*")
11+
public class CustomInstrumentationController extends HttpServlet {
12+
13+
@Override
14+
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException {
15+
try {
16+
String response = doGetInternal(req);
17+
resp.getWriter().println(response);
18+
} catch (ServletException e) {
19+
throw e;
20+
} catch (Exception e) {
21+
throw new ServletException(e);
22+
}
23+
}
24+
25+
private String doGetInternal(HttpServletRequest req) throws Exception {
26+
String pathInfo = req.getPathInfo();
27+
if (pathInfo.equals("/")) {
28+
return "ok";
29+
} else if (pathInfo.equals("/customInstrumentationOne")) {
30+
return customInstrumentationOne();
31+
} else if (pathInfo.equals("/customInstrumentationTwo")) {
32+
return customInstrumentationTwo();
33+
} else if (pathInfo.equals("/customInstrumentationThree")) {
34+
return customInstrumentationThree();
35+
} else if (pathInfo.equals("/customInstrumentationFour")) {
36+
return customInstrumentationFour();
37+
} else if (pathInfo.equals("/customInstrumentationFive")) {
38+
return customInstrumentationFive();
39+
} else if (pathInfo.equals("/customInstrumentationSeven")) {
40+
return customInstrumentationSeven();
41+
} else if (pathInfo.equals("/customInstrumentationEight")) {
42+
return customInstrumentationEight();
43+
} else if (pathInfo.equals("/customInstrumentationNine")) {
44+
return customInstrumentationNine();
45+
} else {
46+
throw new ServletException("Unexpected url: " + pathInfo);
47+
}
48+
}
49+
50+
public String customInstrumentationOne() {
51+
return new TargetObject().one();
52+
}
53+
54+
public String customInstrumentationTwo() {
55+
return new TargetObject().two("Two");
56+
}
57+
58+
public String customInstrumentationThree() {
59+
try {
60+
return new TargetObject().three();
61+
} catch (Exception e) {
62+
return "Three";
63+
}
64+
}
65+
66+
public String customInstrumentationFour() {
67+
new TargetObject.NestedObject().four(false, null, null);
68+
return "Four";
69+
}
70+
71+
public String customInstrumentationFive() {
72+
return new TargetObject().five();
73+
}
74+
75+
public String customInstrumentationSeven() {
76+
return new TargetObject().seven("Seven");
77+
}
78+
79+
public String customInstrumentationEight() {
80+
return new TargetObject().eight("Eight");
81+
}
82+
83+
public String customInstrumentationNine() throws IOException {
84+
return new TargetObject().nine();
85+
}
86+
}
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
package com.microsoft.applicationinsights.smoketestapp;
2+
3+
import java.io.IOException;
4+
5+
import org.apache.http.client.methods.CloseableHttpResponse;
6+
import org.apache.http.client.methods.HttpGet;
7+
import org.apache.http.impl.client.CloseableHttpClient;
8+
import org.apache.http.impl.client.HttpClientBuilder;
9+
10+
class TargetObject {
11+
12+
String one() {
13+
return "One";
14+
}
15+
16+
String two() {
17+
return "Two";
18+
}
19+
20+
String two(String input) {
21+
return input;
22+
}
23+
24+
String three() throws Exception {
25+
throw new Exception("Three");
26+
}
27+
28+
String five() {
29+
return six("Five");
30+
}
31+
32+
String six(String arg) {
33+
one();
34+
two("two");
35+
return arg;
36+
}
37+
38+
String seven(String arg) {
39+
return seven("7", "77");
40+
}
41+
42+
String seven(String arg1, String arg2) {
43+
return "Seven";
44+
}
45+
46+
String eight(String arg) {
47+
return eight("8", "88");
48+
}
49+
50+
String eight(String arg1, String arg2) {
51+
return "Eight";
52+
}
53+
54+
String nine() throws IOException {
55+
String url = "https://www.bing.com";
56+
HttpGet get = new HttpGet(url);
57+
try (CloseableHttpClient httpClient = HttpClientBuilder.create().disableAutomaticRetries().build();
58+
CloseableHttpResponse response = httpClient.execute(get)) {
59+
60+
return response.getStatusLine().getReasonPhrase();
61+
}
62+
}
63+
64+
static class NestedObject {
65+
66+
void four(boolean x, int[] y, String[][] z) {
67+
}
68+
}
69+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<ApplicationInsights xmlns="http://schemas.microsoft.com/ApplicationInsights/2013/Settings" schemaVersion="2014-05-30">
3+
4+
<!-- The key from the portal: -->
5+
6+
<InstrumentationKey>00000000-0000-0000-0000-0FEEDDADBEEF</InstrumentationKey>
7+
8+
<SDKLogger type="CONSOLE">
9+
<enabled>true</enabled>
10+
<UniquePrefix>JavaSDKLog</UniquePrefix>
11+
</SDKLogger>
12+
13+
<QuickPulse enabled="false" />
14+
15+
<!-- HTTP request component (not required for bare API) -->
16+
17+
<TelemetryModules>
18+
<Add type="com.microsoft.applicationinsights.web.extensibility.modules.WebRequestTrackingTelemetryModule" />
19+
<Add type="com.microsoft.applicationinsights.web.extensibility.modules.WebSessionTrackingTelemetryModule" />
20+
<Add type="com.microsoft.applicationinsights.web.extensibility.modules.WebUserTrackingTelemetryModule" />
21+
</TelemetryModules>
22+
23+
<!-- Events correlation (not required for bare API) -->
24+
<!-- These initializers add context data to each event -->
25+
26+
<TelemetryInitializers>
27+
<Add type="com.microsoft.applicationinsights.web.extensibility.initializers.WebOperationIdTelemetryInitializer" />
28+
<Add type="com.microsoft.applicationinsights.web.extensibility.initializers.WebOperationNameTelemetryInitializer" />
29+
<Add type="com.microsoft.applicationinsights.web.extensibility.initializers.WebSessionTelemetryInitializer" />
30+
<Add type="com.microsoft.applicationinsights.web.extensibility.initializers.WebUserTelemetryInitializer" />
31+
<Add type="com.microsoft.applicationinsights.web.extensibility.initializers.WebUserAgentTelemetryInitializer" />
32+
<Add type="com.microsoft.applicationinsights.extensibility.initializer.docker.DockerContextInitializer" />
33+
</TelemetryInitializers>
34+
35+
<Channel>
36+
<EndpointAddress>http://fakeingestion:60606/v2/track</EndpointAddress>
37+
<DeveloperMode>true</DeveloperMode>
38+
<FlushIntervalInSeconds>1</FlushIntervalInSeconds>
39+
</Channel>
40+
41+
</ApplicationInsights>
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"
3+
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
4+
id="SimpleCalculator_1" version="3.0">
5+
<filter>
6+
<filter-name>ApplicationInsightsWebFilter</filter-name>
7+
<filter-class>com.microsoft.applicationinsights.web.internal.WebRequestTrackingFilter</filter-class>
8+
</filter>
9+
<filter-mapping>
10+
<filter-name>ApplicationInsightsWebFilter</filter-name>
11+
<url-pattern>/*</url-pattern>
12+
</filter-mapping>
13+
</web-app>
Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.springbootstartertest.smoketest;
1+
package com.microsoft.applicationinsights.smoketestapp;
22

33
import java.util.List;
44

@@ -35,7 +35,7 @@ public void customInstrumentationOne() {
3535

3636
RemoteDependencyData rdd = (RemoteDependencyData) ((Data) rddEnvelope.getData()).getBaseData();
3737

38-
assertEquals(rdd.getName(), "com/springbootstartertest/controller/TargetObject.one");
38+
assertEquals(rdd.getName(), "com/microsoft/applicationinsights/smoketestapp/TargetObject.one");
3939
assertEquals(rdd.getType(), "OTHER");
4040
assertEquals(rdd.getSuccess(), true);
4141

@@ -56,7 +56,7 @@ public void customInstrumentationTwo() {
5656

5757
RemoteDependencyData rdd = (RemoteDependencyData) ((Data) rddEnvelope.getData()).getBaseData();
5858

59-
assertEquals(rdd.getName(), "com/springbootstartertest/controller/TargetObject.two");
59+
assertEquals(rdd.getName(), "com/microsoft/applicationinsights/smoketestapp/TargetObject.two");
6060
assertEquals(rdd.getType(), "OTHER");
6161
assertEquals(rdd.getSuccess(), true);
6262

@@ -82,7 +82,7 @@ public void customInstrumentationThree() {
8282
ExceptionData ed = (ExceptionData) ((Data) edEnvelope.getData()).getBaseData();
8383

8484
assertEquals(1, mockedIngestion.getCountForType("ExceptionData"));
85-
assertEquals(rdd.getName(), "com/springbootstartertest/controller/TargetObject.three");
85+
assertEquals(rdd.getName(), "com/microsoft/applicationinsights/smoketestapp/TargetObject.three");
8686
assertEquals(rdd.getType(), "OTHER");
8787
assertEquals(rdd.getSuccess(), false);
8888

@@ -108,7 +108,7 @@ public void customInstrumentationFour() {
108108

109109
RemoteDependencyData rdd = (RemoteDependencyData) ((Data) rddEnvelope.getData()).getBaseData();
110110

111-
assertEquals(rdd.getName(), "com/springbootstartertest/controller/TargetObject$NestedObject.four");
111+
assertEquals(rdd.getName(), "com/microsoft/applicationinsights/smoketestapp/TargetObject$NestedObject.four");
112112
assertEquals(rdd.getType(), "OTHER");
113113
assertEquals(rdd.getSuccess(), true);
114114

@@ -153,25 +153,25 @@ public void customInstrumentationFive() {
153153
}
154154

155155
assertNotNull(fiveRdd);
156-
assertEquals(fiveRdd.getName(), "com/springbootstartertest/controller/TargetObject.five");
156+
assertEquals(fiveRdd.getName(), "com/microsoft/applicationinsights/smoketestapp/TargetObject.five");
157157
assertEquals(fiveRdd.getType(), "OTHER");
158158
assertEquals(fiveRdd.getSuccess(), true);
159159
assertSameOperationId(rdEnvelope, fiveEnvelope);
160160

161161
assertNotNull(sixRdd);
162-
assertEquals(sixRdd.getName(), "com/springbootstartertest/controller/TargetObject.six");
162+
assertEquals(sixRdd.getName(), "com/microsoft/applicationinsights/smoketestapp/TargetObject.six");
163163
assertEquals(sixRdd.getType(), "OTHER");
164164
assertEquals(sixRdd.getSuccess(), true);
165165
assertSameOperationId(rdEnvelope, sixEnvelope);
166166

167167
assertNotNull(oneRdd);
168-
assertEquals(oneRdd.getName(), "com/springbootstartertest/controller/TargetObject.one");
168+
assertEquals(oneRdd.getName(), "com/microsoft/applicationinsights/smoketestapp/TargetObject.one");
169169
assertEquals(oneRdd.getType(), "OTHER");
170170
assertEquals(oneRdd.getSuccess(), true);
171171
assertSameOperationId(rdEnvelope, oneEnvelope);
172172

173173
assertNotNull(twoRdd);
174-
assertEquals(twoRdd.getName(), "com/springbootstartertest/controller/TargetObject.two");
174+
assertEquals(twoRdd.getName(), "com/microsoft/applicationinsights/smoketestapp/TargetObject.two");
175175
assertEquals(twoRdd.getType(), "OTHER");
176176
assertEquals(twoRdd.getSuccess(), true);
177177
assertSameOperationId(rdEnvelope, twoEnvelope);
@@ -191,7 +191,7 @@ public void customInstrumentationSeven() {
191191

192192
RemoteDependencyData rdd = (RemoteDependencyData) ((Data) rddEnvelope.getData()).getBaseData();
193193

194-
assertEquals(rdd.getName(), "com/springbootstartertest/controller/TargetObject.seven");
194+
assertEquals(rdd.getName(), "com/microsoft/applicationinsights/smoketestapp/TargetObject.seven");
195195
assertEquals(rdd.getType(), "OTHER");
196196
assertEquals(rdd.getSuccess(), true);
197197
assertSameOperationId(rdEnvelope, rddEnvelope);
@@ -214,12 +214,12 @@ public void customInstrumentationEight() {
214214
RemoteDependencyData rdd1 = (RemoteDependencyData) ((Data) rddEnvelope1.getData()).getBaseData();
215215
RemoteDependencyData rdd2 = (RemoteDependencyData) ((Data) rddEnvelope2.getData()).getBaseData();
216216

217-
assertEquals(rdd1.getName(), "com/springbootstartertest/controller/TargetObject.eight");
217+
assertEquals(rdd1.getName(), "com/microsoft/applicationinsights/smoketestapp/TargetObject.eight");
218218
assertEquals(rdd1.getType(), "OTHER");
219219
assertEquals(rdd1.getSuccess(), true);
220220
assertSameOperationId(rdEnvelope, rddEnvelope1);
221221

222-
assertEquals(rdd2.getName(), "com/springbootstartertest/controller/TargetObject.eight");
222+
assertEquals(rdd2.getName(), "com/microsoft/applicationinsights/smoketestapp/TargetObject.eight");
223223
assertEquals(rdd2.getType(), "OTHER");
224224
assertEquals(rdd2.getSuccess(), true);
225225
assertSameOperationId(rdEnvelope, rddEnvelope2);
@@ -253,7 +253,7 @@ public void customInstrumentationNine() {
253253
}
254254

255255
assertNotNull(nineRdd);
256-
assertEquals(nineRdd.getName(), "com/springbootstartertest/controller/TargetObject.nine");
256+
assertEquals(nineRdd.getName(), "com/microsoft/applicationinsights/smoketestapp/TargetObject.nine");
257257
assertEquals(nineRdd.getType(), "OTHER");
258258
assertEquals(nineRdd.getSuccess(), true);
259259
assertSameOperationId(rdEnvelope, nineEnvelope);
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
jbosseap6
2+
jbosseap7
3+
tomcat7
4+
tomcat85
5+
jetty9

0 commit comments

Comments
 (0)