View | Details | Raw Unified | Return to bug 41880
Collapse All | Expand All

(-)C:/Documents and Settings/alf/workspace/Jmeter/test/src/org/apache/jmeter/protocol/http/proxy/TestProxyControl.java (+90 lines)
Lines 20-25 Link Here
20
20
21
import junit.framework.TestCase;
21
import junit.framework.TestCase;
22
22
23
import org.apache.jmeter.samplers.SampleResult;
23
import org.apache.jmeter.protocol.http.sampler.HTTPNullSampler;
24
import org.apache.jmeter.protocol.http.sampler.HTTPNullSampler;
24
import org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase;
25
import org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase;
25
26
Lines 56-59 Link Here
56
			sampler.setDomain("jakarta.org");
57
			sampler.setDomain("jakarta.org");
57
			assertFalse("Should not match header.gif", control.filterUrl(sampler));
58
			assertFalse("Should not match header.gif", control.filterUrl(sampler));
58
		}
59
		}
60
61
		public void testContentTypeNoFilters() throws Exception {
62
			SampleResult result = new SampleResult();
63
			// No filters
64
			control.setContentTypeInclude(null);
65
			control.setContentTypeExclude(null);
66
67
			result.setContentType(null);
68
			assertTrue("Should allow if no content-type present", control.filterContentType(result));			
69
			result.setContentType("text/html; charset=utf-8");
70
			assertTrue("Should allow text/html", control.filterContentType(result));			
71
			result.setContentType("image/png");
72
			assertTrue("Should allow image/png", control.filterContentType(result));
73
74
			// Empty filters
75
			control.setContentTypeInclude("");
76
			control.setContentTypeExclude("");
77
			
78
			result.setContentType(null);
79
			assertTrue("Should allow if no content-type present", control.filterContentType(result));			
80
			result.setContentType("text/html; charset=utf-8");
81
			assertTrue("Should allow text/html", control.filterContentType(result));			
82
			result.setContentType("image/png");
83
			assertTrue("Should allow image/png", control.filterContentType(result));
84
			
85
			// Non empty filters
86
			control.setContentTypeInclude(" ");
87
			control.setContentTypeExclude(" ");
88
			
89
			result.setContentType(null);
90
			assertTrue("Should allow if no content-type present", control.filterContentType(result));			
91
			result.setContentType("text/html; charset=utf-8");
92
			assertFalse("Should not allow text/html", control.filterContentType(result));			
93
			result.setContentType("image/png");
94
			assertFalse("Should not allow image/png", control.filterContentType(result));
95
		}
96
		
97
		public void testContentTypeInclude() throws Exception {
98
			SampleResult result = new SampleResult();
99
			control.setContentTypeInclude("text/html|text/ascii");
100
101
			result.setContentType(null);
102
			assertTrue("Should allow if no content-type present", control.filterContentType(result));			
103
			result.setContentType("text/html; charset=utf-8");
104
			assertTrue("Should allow text/html", control.filterContentType(result));			
105
			result.setContentType("text/css");
106
			assertFalse("Should not allow text/css", control.filterContentType(result));
107
		}
108
		
109
		public void testContentTypeExclude() throws Exception {
110
			SampleResult result = new SampleResult();
111
			control.setContentTypeExclude("text/css");
112
113
			result.setContentType(null);
114
			assertTrue("Should allow if no content-type present", control.filterContentType(result));			
115
			result.setContentType("text/html; charset=utf-8");
116
			assertTrue("Should allow text/html", control.filterContentType(result));			
117
			result.setContentType("text/css");
118
			assertFalse("Should not allow text/css", control.filterContentType(result));
119
		}
120
		
121
		public void testContentTypeIncludeAndExclude() throws Exception {
122
			SampleResult result = new SampleResult();
123
			// Simple inclusion and exclusion filter
124
			control.setContentTypeInclude("text/html|text/ascii");
125
			control.setContentTypeExclude("text/css");
126
127
			result.setContentType(null);
128
			assertTrue("Should allow if no content-type present", control.filterContentType(result));			
129
			result.setContentType("text/html; charset=utf-8");
130
			assertTrue("Should allow text/html", control.filterContentType(result));			
131
			result.setContentType("text/css");
132
			assertFalse("Should not allow text/css", control.filterContentType(result));			
133
			result.setContentType("image/png");
134
			assertFalse("Should not allow image/png", control.filterContentType(result));
135
			
136
			// Allow all but images
137
			control.setContentTypeInclude(null);
138
			control.setContentTypeExclude("image/.*");
139
			
140
			result.setContentType(null);
141
			assertTrue("Should allow if no content-type present", control.filterContentType(result));			
142
			result.setContentType("text/html; charset=utf-8");
143
			assertTrue("Should allow text/html", control.filterContentType(result));			
144
			result.setContentType("text/css");
145
			assertTrue("Should allow text/css", control.filterContentType(result));			
146
			result.setContentType("image/png");
147
			assertFalse("Should not allow image/png", control.filterContentType(result));
148
		}
59
}
149
}

Return to bug 41880