Skip to content

Commit 92c99ea

Browse files
Tests for esapi tags
Doing basic testing for some coverage. Nothing too verbose; only testing the content specified in each of the tag subclasses.
1 parent a08e14e commit 92c99ea

10 files changed

+270
-0
lines changed
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
package org.owasp.esapi.tags;
2+
3+
import static org.junit.Assert.assertEquals;
4+
import static org.junit.Assert.assertFalse;
5+
import static org.junit.Assert.assertTrue;
6+
7+
import java.io.UnsupportedEncodingException;
8+
9+
import javax.servlet.jsp.JspTagException;
10+
11+
import org.junit.Test;
12+
import org.mockito.Mockito;
13+
import org.owasp.esapi.Encoder;
14+
15+
public class EncodeForBase64TagTest {
16+
17+
18+
Encoder encoder = Mockito.spy(Encoder.class);
19+
20+
21+
@Test
22+
public void assertEncoderInvocation() throws Exception {
23+
String input = "Magic String";
24+
EncodeForBase64Tag uit = new EncodeForBase64Tag();
25+
Mockito.when(encoder.encodeForBase64(input.getBytes("UTF-8"), false)).thenReturn("unused");
26+
27+
uit.encode(input, encoder);
28+
Mockito.verify(encoder, Mockito.times(1)).encodeForBase64(input.getBytes("UTF-8"), false);
29+
30+
}
31+
32+
@Test
33+
public void testSettersGetters() {
34+
EncodeForBase64Tag uit = new EncodeForBase64Tag();
35+
assertEquals("UTF-8", uit.getEncoding());
36+
assertFalse(uit.getWrap());
37+
38+
uit.setWrap(true);
39+
uit.setEncoding("ASCII");
40+
41+
assertEquals("ASCII", uit.getEncoding());
42+
assertTrue(uit.getWrap());
43+
}
44+
45+
@Test (expected = JspTagException.class)
46+
public void assertExceptionOnEncodingFalure() throws Exception {
47+
String input = "Magic String";
48+
EncodeForBase64Tag uit = new EncodeForBase64Tag();
49+
Mockito.when(encoder.encodeForBase64(input.getBytes("UTF-8"), false)).thenAnswer(i -> { throw new UnsupportedEncodingException();});
50+
uit.encode(input, encoder);
51+
}
52+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package org.owasp.esapi.tags;
2+
3+
import org.junit.Test;
4+
import org.mockito.Mockito;
5+
import org.owasp.esapi.Encoder;
6+
7+
public class EncodeForCSSTagTest2 {
8+
9+
10+
Encoder encoder = Mockito.spy(Encoder.class);
11+
12+
13+
@Test
14+
public void assertEncoderInvocation() {
15+
String input = "Magic String";
16+
EncodeForCSSTag uit = new EncodeForCSSTag();
17+
Mockito.when(encoder.encodeForCSS(input)).thenReturn("unused");
18+
19+
uit.encode(input, encoder);
20+
Mockito.verify(encoder, Mockito.times(1)).encodeForCSS(input);
21+
22+
}
23+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package org.owasp.esapi.tags;
2+
3+
import org.junit.Test;
4+
import org.mockito.Mockito;
5+
import org.owasp.esapi.Encoder;
6+
7+
public class EncodeForHTMLAttributeTagTest {
8+
9+
10+
Encoder encoder = Mockito.spy(Encoder.class);
11+
12+
13+
@Test
14+
public void assertEncoderInvocation() {
15+
String input = "Magic String";
16+
EncodeForHTMLAttributeTag uit = new EncodeForHTMLAttributeTag();
17+
Mockito.when(encoder.encodeForHTMLAttribute(input)).thenReturn("unused");
18+
19+
uit.encode(input, encoder);
20+
Mockito.verify(encoder, Mockito.times(1)).encodeForHTMLAttribute(input);
21+
22+
}
23+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package org.owasp.esapi.tags;
2+
3+
import org.junit.Test;
4+
import org.mockito.Mockito;
5+
import org.owasp.esapi.Encoder;
6+
7+
public class EncodeForHTMLTagTest {
8+
9+
10+
Encoder encoder = Mockito.spy(Encoder.class);
11+
12+
13+
@Test
14+
public void assertEncoderInvocation() {
15+
String input = "Magic String";
16+
EncodeForHTMLTag uit = new EncodeForHTMLTag();
17+
Mockito.when(encoder.encodeForHTML(input)).thenReturn("unused");
18+
19+
uit.encode(input, encoder);
20+
Mockito.verify(encoder, Mockito.times(1)).encodeForHTML(input);
21+
22+
}
23+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package org.owasp.esapi.tags;
2+
3+
import org.junit.Test;
4+
import org.mockito.Mockito;
5+
import org.owasp.esapi.Encoder;
6+
7+
public class EncodeForJavaScriptTagTest {
8+
9+
10+
Encoder encoder = Mockito.spy(Encoder.class);
11+
12+
13+
@Test
14+
public void assertEncoderInvocation() {
15+
String input = "Magic String";
16+
EncodeForJavaScriptTag uit = new EncodeForJavaScriptTag();
17+
Mockito.when(encoder.encodeForJavaScript(input)).thenReturn("unused");
18+
19+
uit.encode(input, encoder);
20+
Mockito.verify(encoder, Mockito.times(1)).encodeForJavaScript(input);
21+
22+
}
23+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package org.owasp.esapi.tags;
2+
3+
import javax.servlet.jsp.JspTagException;
4+
5+
import org.junit.Test;
6+
import org.mockito.Mockito;
7+
import org.owasp.esapi.Encoder;
8+
import org.owasp.esapi.errors.EncodingException;
9+
10+
public class EncodeForURLTagTest {
11+
12+
13+
Encoder encoder = Mockito.spy(Encoder.class);
14+
15+
16+
@Test
17+
public void assertEncoderInvocation() throws Exception {
18+
String input = "Magic String";
19+
EncodeForURLTag uit = new EncodeForURLTag();
20+
Mockito.when(encoder.encodeForURL(input)).thenReturn("unused");
21+
22+
uit.encode(input, encoder);
23+
Mockito.verify(encoder, Mockito.times(1)).encodeForURL(input);
24+
25+
}
26+
27+
@Test (expected = JspTagException.class)
28+
public void assertExceptionOnEncodingFalure() throws Exception {
29+
String input = "Magic String";
30+
EncodeForURLTag uit = new EncodeForURLTag();
31+
Mockito.when(encoder.encodeForURL(input)).thenThrow(new EncodingException("Test-Scope", "SAMPLE"));
32+
uit.encode(input, encoder);
33+
}
34+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package org.owasp.esapi.tags;
2+
3+
import org.junit.Test;
4+
import org.mockito.Mockito;
5+
import org.owasp.esapi.Encoder;
6+
7+
public class EncodeForVBScriptTagTest {
8+
9+
10+
Encoder encoder = Mockito.spy(Encoder.class);
11+
12+
13+
@Test
14+
public void assertEncoderInvocation() {
15+
String input = "Magic String";
16+
EncodeForVBScriptTag uit = new EncodeForVBScriptTag();
17+
Mockito.when(encoder.encodeForVBScript(input)).thenReturn("unused");
18+
19+
uit.encode(input, encoder);
20+
Mockito.verify(encoder, Mockito.times(1)).encodeForVBScript(input);
21+
22+
}
23+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package org.owasp.esapi.tags;
2+
3+
import org.junit.Test;
4+
import org.mockito.Mockito;
5+
import org.owasp.esapi.Encoder;
6+
7+
public class EncodeForXMLAttributeTagTest {
8+
9+
10+
Encoder encoder = Mockito.spy(Encoder.class);
11+
12+
13+
@Test
14+
public void assertEncoderInvocation() {
15+
String input = "Magic String";
16+
EncodeForXMLAttributeTag uit = new EncodeForXMLAttributeTag();
17+
Mockito.when(encoder.encodeForXMLAttribute(input)).thenReturn("unused");
18+
19+
uit.encode(input, encoder);
20+
Mockito.verify(encoder, Mockito.times(1)).encodeForXMLAttribute(input);
21+
22+
}
23+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package org.owasp.esapi.tags;
2+
3+
import org.junit.Test;
4+
import org.mockito.Mockito;
5+
import org.owasp.esapi.Encoder;
6+
7+
public class EncodeForXMLTagTest {
8+
9+
10+
Encoder encoder = Mockito.spy(Encoder.class);
11+
12+
13+
@Test
14+
public void assertEncoderInvocation() {
15+
String input = "Magic String";
16+
EncodeForXMLTag uit = new EncodeForXMLTag();
17+
Mockito.when(encoder.encodeForXML(input)).thenReturn("unused");
18+
19+
uit.encode(input, encoder);
20+
Mockito.verify(encoder, Mockito.times(1)).encodeForXML(input);
21+
22+
}
23+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package org.owasp.esapi.tags;
2+
3+
import org.junit.Test;
4+
import org.mockito.Mockito;
5+
import org.owasp.esapi.Encoder;
6+
7+
public class EncodeForXPathTagTest {
8+
9+
10+
Encoder encoder = Mockito.spy(Encoder.class);
11+
12+
13+
@Test
14+
public void assertEncoderInvocation() {
15+
String input = "Magic String";
16+
EncodeForXPathTag uit = new EncodeForXPathTag();
17+
Mockito.when(encoder.encodeForXPath(input)).thenReturn("unused");
18+
19+
uit.encode(input, encoder);
20+
Mockito.verify(encoder, Mockito.times(1)).encodeForXPath(input);
21+
22+
}
23+
}

0 commit comments

Comments
 (0)