Skip to content
This repository was archived by the owner on Jun 11, 2024. It is now read-only.

Commit 5e79587

Browse files
committed
Default Har values from Har spec
1 parent d2db3c6 commit 5e79587

File tree

13 files changed

+216
-40
lines changed

13 files changed

+216
-40
lines changed

browserup-proxy-core/src/main/java/com/browserup/harreader/model/HarContent.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public class HarContent {
1616
private Long size = 0L;
1717
private Long compression;
1818
private String mimeType = "";
19-
private String text;
19+
private String text = "";
2020
private String encoding;
2121
private String comment;
2222

browserup-proxy-core/src/main/java/com/browserup/harreader/model/HarCookie.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
@JsonIgnoreProperties(ignoreUnknown = true)
1616
public class HarCookie {
1717

18-
private String name;
19-
private String value;
18+
private String name = "";
19+
private String value = "";
2020
private String path;
2121
private String domain;
2222
private Date expires;

browserup-proxy-core/src/main/java/com/browserup/harreader/model/HarCreatorBrowser.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
@JsonIgnoreProperties(ignoreUnknown = true)
1414
public class HarCreatorBrowser {
1515

16-
private String name;
17-
private String version;
16+
private String name = "";
17+
private String version = "";
1818
private String comment;
1919

2020
/**

browserup-proxy-core/src/main/java/com/browserup/harreader/model/HarEntry.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020
public class HarEntry {
2121

2222
private String pageref;
23-
private Date startedDateTime;
24-
private Integer time;
23+
private Date startedDateTime = new Date();
24+
private Integer time = 0;
2525
private HarRequest request;
2626
private HarResponse response;
2727
private HarCache cache;

browserup-proxy-core/src/main/java/com/browserup/harreader/model/HarPage.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@
1919
@JsonIgnoreProperties(ignoreUnknown = true)
2020
public class HarPage {
2121

22-
private Date startedDateTime;
23-
private String id;
24-
private String title;
22+
private Date startedDateTime = new Date();
23+
private String id = "";
24+
private String title = "";
2525
private HarPageTiming pageTimings;
2626
private String comment;
2727
private Map<String, Object> additional = new HashMap<>();

browserup-proxy-core/src/main/java/com/browserup/harreader/model/HarPostData.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public class HarPostData {
1717

1818
private String mimeType = "";
1919
private List<HarPostDataParam> params = new ArrayList<>();
20-
private String text;
20+
private String text = "";
2121
private String comment;
2222

2323
/**

browserup-proxy-core/src/main/java/com/browserup/harreader/model/HarPostDataParam.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
@JsonIgnoreProperties(ignoreUnknown = true)
1414
public class HarPostDataParam {
1515

16-
private String name;
16+
private String name = "";
1717
private String value;
1818
private String fileName;
1919
private String contentType;

browserup-proxy-core/src/main/java/com/browserup/harreader/model/HarRequest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ public class HarRequest {
2121

2222
protected static final Long DEFAULT_SIZE = -1L;
2323

24-
private HttpMethod method;
25-
private String url;
26-
private String httpVersion;
24+
private HttpMethod method = HttpMethod.GET;
25+
private String url = "";
26+
private String httpVersion = "HTTP/1.1";
2727
private List<HarCookie> cookies;
2828
private List<HarHeader> headers;
2929
private List<HarQueryParam> queryString;

browserup-proxy-core/src/main/java/com/browserup/harreader/model/HarResponse.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ public class HarResponse {
1818
protected static final Long DEFAULT_SIZE = -1L;
1919

2020
private HttpStatus status;
21-
private String statusText;
22-
private String httpVersion;
21+
private String statusText = "";
22+
private String httpVersion = "HTTP/1.1";
2323
private List<HarCookie> cookies;
2424
private List<HarHeader> headers;
2525
private HarContent content;

browserup-proxy-core/src/test/groovy/com/browserup/bup/proxy/HarValidationTest.groovy

Lines changed: 136 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ import com.google.common.collect.Iterables
1616
import org.apache.http.client.config.RequestConfig
1717
import org.apache.http.client.methods.CloseableHttpResponse
1818
import org.apache.http.client.methods.HttpGet
19+
import org.hamcrest.Matcher
20+
import org.hamcrest.core.Every
1921
import org.junit.After
2022
import org.junit.Test
2123
import org.mockito.invocation.InvocationOnMock
@@ -41,7 +43,7 @@ class HarValidationTest extends MockServerTest {
4143
}
4244

4345
@Test
44-
void testDefaultValuesOfHarResponse() {
46+
void testDefaultValuesOfMockedHarResponse() {
4547
def stubUrl = "/testUrl.*"
4648
stubFor(get(urlMatching(stubUrl)).willReturn(ok()))
4749

@@ -58,16 +60,143 @@ class HarValidationTest extends MockServerTest {
5860

5961
Thread.sleep(500)
6062
def har = proxy.getHar()
61-
def entry = proxy.har.log.entries.get(0)
62-
def harResponse = entry.response
6363

64-
assertEquals("Expected redirectURL to have default empty string value", "", harResponse.redirectURL)
65-
assertEquals("Expected content size to have value 0 by default", 0, harResponse.content.size)
66-
assertEquals("Expected empty mime type", "", har.log.entries[0].response.content.mimeType)
67-
assertEquals("Expected empty request post data mime type", "", har.log.entries[0].request.postData.mimeType)
64+
assertNotNull("Expected not null log creator name", har.log.creator.name)
65+
assertNotNull("Expected not null log creator version", har.log.creator.version)
6866

67+
har.log.pages.each {
68+
assertNotNull("Expected not null har log pages id", it.id)
69+
assertNotNull("Expected not null har log pages title", it.title)
70+
assertNotNull("Expected not null har log pages startedDateTime", it.startedDateTime)
71+
assertNotNull("Expected not null har log pages pageTimings", it.pageTimings)
72+
}
73+
74+
har.log.entries.each {
75+
assertNotNull("Expected not null har entries startedDateTime", it.startedDateTime)
76+
assertNotNull("Expected not null har entries time", it.time)
77+
assertNotNull("Expected not null har entries request", it.request)
78+
assertNotNull("Expected not null har entries response", it.response)
79+
assertNotNull("Expected not null har entries cache", it.cache)
80+
assertNotNull("Expected not null har entries timings", it.timings)
81+
82+
assertNotNull("Expected not null har entries requests method", it.request.method)
83+
assertNotNull("Expected not null har entries requests url", it.request.url)
84+
assertNotNull("Expected not null har entries requests httpVersion", it.request.httpVersion)
85+
assertNotNull("Expected not null har entries requests cookies", it.request.cookies)
86+
assertNotNull("Expected not null har entries requests headers", it.request.headers)
87+
assertNotNull("Expected not null har entries requests queryString", it.request.queryString)
88+
assertNotNull("Expected not null har entries requests headersSize", it.request.headersSize)
89+
assertNotNull("Expected not null har entries requests bodySize", it.request.bodySize)
90+
91+
assertNotNull("Expected not null har entries responses status", it.response.status)
92+
assertNotNull("Expected not null har entries responses statusText", it.response.statusText)
93+
assertNotNull("Expected not null har entries responses httpVersion", it.response.httpVersion)
94+
assertNotNull("Expected not null har entries responses cookies", it.response.cookies)
95+
assertNotNull("Expected not null har entries responses content", it.response.content)
96+
assertNotNull("Expected not null har entries responses redirectURL", it.response.redirectURL)
97+
assertNotNull("Expected not null har entries responses headersSize", it.response.headersSize)
98+
assertNotNull("Expected not null har entries responses bodySize", it.response.bodySize)
99+
100+
it.response.cookies.each { cookie ->
101+
assertNotNull("Expected not null har entries responses cookies name", cookie.name)
102+
assertNotNull("Expected not null har entries responses cookies value", cookie.value)
103+
}
104+
105+
assertNotNull("Expected not null har entries requests postData mimeType", it.request.postData.mimeType)
106+
assertNotNull("Expected not null har entries requests postData params", it.request.postData.params)
107+
assertNotNull("Expected not null har entries requests postData text", it.request.postData.text)
108+
109+
it.request.postData.params.each { param ->
110+
assertNotNull("Expected not null har entries requests postData params name", param.name)
111+
}
112+
113+
assertNotNull("Expected not null har entries responses content size", it.response.content.size)
114+
assertNotNull("Expected not null har entries responses content mimeType", it.response.content.mimeType)
115+
assertNotNull("Expected not null har entries responses content text", it.response.content.text)
116+
117+
assertNotNull("Expected not null har entries timings send", it.timings.send)
118+
assertNotNull("Expected not null har entries timings wait", it.timings.wait)
119+
assertNotNull("Expected not null har entries timings receive", it.timings.receive)
120+
}
69121
verify(1, getRequestedFor(urlMatching(stubUrl)))
70122
}
71123

124+
@Test
125+
void testDefaultValuesOfDefaultHar() {
126+
def har = new Har()
127+
def harLog = new HarLog()
128+
def harPage = new HarPage()
129+
def harEntry = new HarEntry()
130+
def harResponse = new HarResponse()
131+
def harRequest = new HarRequest()
132+
def harPostData = new HarPostData()
133+
harPostData.params = Collections.singletonList(new HarPostDataParam())
134+
135+
harResponse.cookies = Collections.singletonList(new HarCookie())
136+
harRequest.postData = harPostData
137+
harEntry.request = harRequest
138+
harEntry.response = harResponse
139+
harLog.creator = new HarCreatorBrowser()
140+
harLog.pages = Collections.singletonList(harPage)
141+
harLog.entries = Collections.singletonList(harEntry)
142+
har.log = harLog
143+
144+
assertNotNull("Expected not null log creator name", har.log.creator.name)
145+
assertNotNull("Expected not null log creator version", har.log.creator.version)
146+
147+
har.log.pages.each {
148+
assertNotNull("Expected not null har log pages id", it.id)
149+
assertNotNull("Expected not null har log pages title", it.title)
150+
assertNotNull("Expected not null har log pages startedDateTime", it.startedDateTime)
151+
assertNotNull("Expected not null har log pages pageTimings", it.pageTimings)
152+
}
72153

154+
har.log.entries.each {
155+
assertNotNull("Expected not null har entries startedDateTime", it.startedDateTime)
156+
assertNotNull("Expected not null har entries time", it.time)
157+
assertNotNull("Expected not null har entries request", it.request)
158+
assertNotNull("Expected not null har entries response", it.response)
159+
assertNotNull("Expected not null har entries cache", it.cache)
160+
assertNotNull("Expected not null har entries timings", it.timings)
161+
162+
assertNotNull("Expected not null har entries requests method", it.request.method)
163+
assertNotNull("Expected not null har entries requests url", it.request.url)
164+
assertNotNull("Expected not null har entries requests httpVersion", it.request.httpVersion)
165+
assertNotNull("Expected not null har entries requests cookies", it.request.cookies)
166+
assertNotNull("Expected not null har entries requests headers", it.request.headers)
167+
assertNotNull("Expected not null har entries requests queryString", it.request.queryString)
168+
assertNotNull("Expected not null har entries requests headersSize", it.request.headersSize)
169+
assertNotNull("Expected not null har entries requests bodySize", it.request.bodySize)
170+
171+
assertNotNull("Expected not null har entries responses status", it.response.status)
172+
assertNotNull("Expected not null har entries responses statusText", it.response.statusText)
173+
assertNotNull("Expected not null har entries responses httpVersion", it.response.httpVersion)
174+
assertNotNull("Expected not null har entries responses cookies", it.response.cookies)
175+
assertNotNull("Expected not null har entries responses content", it.response.content)
176+
assertNotNull("Expected not null har entries responses redirectURL", it.response.redirectURL)
177+
assertNotNull("Expected not null har entries responses headersSize", it.response.headersSize)
178+
assertNotNull("Expected not null har entries responses bodySize", it.response.bodySize)
179+
180+
it.response.cookies.each { cookie ->
181+
assertNotNull("Expected not null har entries responses cookies name", cookie.name)
182+
assertNotNull("Expected not null har entries responses cookies value", cookie.value)
183+
}
184+
185+
assertNotNull("Expected not null har entries requests postData mimeType", it.request.postData.mimeType)
186+
assertNotNull("Expected not null har entries requests postData params", it.request.postData.params)
187+
assertNotNull("Expected not null har entries requests postData text", it.request.postData.text)
188+
189+
it.request.postData.params.each { param ->
190+
assertNotNull("Expected not null har entries requests postData params name", param.name)
191+
}
192+
193+
assertNotNull("Expected not null har entries responses content size", it.response.content.size)
194+
assertNotNull("Expected not null har entries responses content mimeType", it.response.content.mimeType)
195+
assertNotNull("Expected not null har entries responses content text", it.response.content.text)
196+
197+
assertNotNull("Expected not null har entries timings send", it.timings.send)
198+
assertNotNull("Expected not null har entries timings wait", it.timings.wait)
199+
assertNotNull("Expected not null har entries timings receive", it.timings.receive)
200+
}
201+
}
73202
}

0 commit comments

Comments
 (0)