Skip to content

Commit 7b0b32c

Browse files
author
Jannis Pinter
committed
Add unit tests requested in issue #593
1 parent 5fbbb81 commit 7b0b32c

File tree

2 files changed

+108
-0
lines changed

2 files changed

+108
-0
lines changed
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
/**
2+
* TLS-Attacker - A Modular Penetration Testing Framework for TLS
3+
* <p>
4+
* Copyright 2014-2017 Ruhr University Bochum / Hackmanit GmbH
5+
* <p>
6+
* Licensed under Apache License 2.0
7+
* http://www.apache.org/licenses/LICENSE-2.0
8+
*/
9+
package de.rub.nds.tlsattacker.core.https;
10+
11+
import de.rub.nds.tlsattacker.core.constants.ProtocolVersion;
12+
import de.rub.nds.tlsattacker.core.state.TlsContext;
13+
import org.junit.Before;
14+
import org.junit.Test;
15+
16+
import java.nio.charset.Charset;
17+
18+
import static org.junit.Assert.assertEquals;
19+
import static org.junit.Assert.assertTrue;
20+
21+
public class HttpsRequestHandlerTest {
22+
23+
private TlsContext context;
24+
private HttpsRequestMessage message;
25+
private HttpsRequestHandler handler;
26+
27+
28+
@Before
29+
public void setUp() {
30+
context = new TlsContext();
31+
32+
String rawMessage = "GET /index.html HTTP/1.1\r\nUser-Agent: Test\r\nHost: www.rub.de\r\n\r\n";
33+
HttpsRequestParser parser = new HttpsRequestParser(0, rawMessage.getBytes(Charset.forName("UTF-8")),
34+
ProtocolVersion.TLS12);
35+
message = parser.parse();
36+
37+
handler = new HttpsRequestHandler(context);
38+
}
39+
40+
@Test
41+
public void testGetParser() {
42+
assertTrue(handler.getParser(new byte[1], 0) instanceof HttpsRequestParser);
43+
}
44+
45+
@Test
46+
public void testGetPreparator() {
47+
assertTrue(handler.getPreparator(new HttpsRequestMessage()) instanceof HttpsRequestPreparator);
48+
}
49+
50+
@Test
51+
public void testGetSerializer() {
52+
assertTrue(handler.getSerializer(new HttpsRequestMessage()) instanceof HttpsRequestSerializer);
53+
}
54+
55+
@Test
56+
public void testAdjustTLSContext() {
57+
handler.adjustTLSContext(message);
58+
assertEquals(context.getHttpContext().getLastRequestPath(), message.getRequestPath().getValue());
59+
}
60+
}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
/**
2+
* TLS-Attacker - A Modular Penetration Testing Framework for TLS
3+
* <p>
4+
* Copyright 2014-2017 Ruhr University Bochum / Hackmanit GmbH
5+
* <p>
6+
* Licensed under Apache License 2.0
7+
* http://www.apache.org/licenses/LICENSE-2.0
8+
*/
9+
package de.rub.nds.tlsattacker.core.https;
10+
11+
import de.rub.nds.tlsattacker.core.constants.ProtocolVersion;
12+
import de.rub.nds.tlsattacker.core.state.TlsContext;
13+
import org.junit.Before;
14+
import org.junit.Test;
15+
16+
import java.nio.charset.Charset;
17+
18+
import static org.junit.Assert.*;
19+
20+
public class HttpsRequestPreparatorTest {
21+
22+
private TlsContext context;
23+
private HttpsRequestMessage message;
24+
private HttpsRequestPreparator preparator;
25+
26+
@Before
27+
public void setUp() {
28+
context = new TlsContext();
29+
30+
String rawMessage = "GET /index.html HTTP/1.1\r\nUser-Agent: Test\r\nHost: www.rub.de\r\n\r\n";
31+
HttpsRequestParser parser = new HttpsRequestParser(0, rawMessage.getBytes(Charset.forName("UTF-8")),
32+
ProtocolVersion.TLS12);
33+
message = parser.parse();
34+
35+
preparator = new HttpsRequestPreparator(context.getChooser(), message);
36+
}
37+
38+
@Test
39+
public void testPrepareProtocolMessageContents() {
40+
preparator.prepareProtocolMessageContents();
41+
42+
assertEquals("/", message.getRequestPath().getOriginalValue());
43+
assertEquals("HTTP/1.1", message.getRequestProtocol().getOriginalValue());
44+
assertEquals("GET", message.getRequestType().getOriginalValue());
45+
assertEquals(2, message.getHeader().size());
46+
47+
}
48+
}

0 commit comments

Comments
 (0)