@@ -55,7 +55,8 @@ void setUp() {
55
55
56
56
@ Test
57
57
void testCredentials () {
58
- final BasicAuthFilter filter = new BasicAuthFilter (getAuthFile ());
58
+ final BasicAuthFilter filter = new BasicAuthFilter ();
59
+ filter .setFile (getAuthFile ());
59
60
final String webid = "https://people.apache.org/~acoburn/#i" ;
60
61
final String token = encodeCredentials ("acoburn" , "secret" );
61
62
when (mockContext .getHeaderString (AUTHORIZATION )).thenReturn ("BASIC " + token );
@@ -71,7 +72,10 @@ void testCredentials() {
71
72
@ Test
72
73
void testAdminCredentials () {
73
74
final String webid = "https://people.apache.org/~acoburn/#i" ;
74
- final BasicAuthFilter filter = new BasicAuthFilter (new File (getAuthFile ()), "trellis" , singleton (webid ));
75
+ final BasicAuthFilter filter = new BasicAuthFilter ();
76
+ filter .setFile (getAuthFile ());
77
+ filter .setChallenge ("Basic realm=\" trellis\" " );
78
+ filter .setAdmins (singleton (webid ));
75
79
final String token = encodeCredentials ("acoburn" , "secret" );
76
80
when (mockContext .getHeaderString (AUTHORIZATION )).thenReturn ("BASIC " + token );
77
81
filter .filter (mockContext );
@@ -85,15 +89,17 @@ void testAdminCredentials() {
85
89
86
90
@ Test
87
91
void testNoHeader () {
88
- final BasicAuthFilter filter = new BasicAuthFilter (getAuthFile ());
92
+ final BasicAuthFilter filter = new BasicAuthFilter ();
93
+ filter .setFile (getAuthFile ());
89
94
when (mockContext .getHeaderString (AUTHORIZATION )).thenReturn (null );
90
95
filter .filter (mockContext );
91
96
verify (mockContext , never ()).setSecurityContext (securityArgument .capture ());
92
97
}
93
98
94
99
@ Test
95
100
void testOtherCredentials () {
96
- final BasicAuthFilter filter = new BasicAuthFilter (getAuthFile ());
101
+ final BasicAuthFilter filter = new BasicAuthFilter ();
102
+ filter .setFile (getAuthFile ());
97
103
when (mockContext .getHeaderString (AUTHORIZATION ))
98
104
.thenReturn ("Basic " + encodeCredentials ("user" , "password" ));
99
105
filter .filter (mockContext );
@@ -108,7 +114,8 @@ void testOtherCredentials() {
108
114
@ Test
109
115
void testSecureCredentials () {
110
116
when (mockSecurityContext .isSecure ()).thenReturn (true );
111
- final BasicAuthFilter filter = new BasicAuthFilter (getAuthFile ());
117
+ final BasicAuthFilter filter = new BasicAuthFilter ();
118
+ filter .setFile (getAuthFile ());
112
119
final String webid = "https://people.apache.org/~acoburn/#i" ;
113
120
final String token = encodeCredentials ("acoburn" , "secret" );
114
121
when (mockContext .getHeaderString (AUTHORIZATION )).thenReturn ("BASIC " + token );
@@ -122,7 +129,8 @@ void testSecureCredentials() {
122
129
123
130
@ Test
124
131
void testNoSecurityContext () {
125
- final BasicAuthFilter filter = new BasicAuthFilter (getAuthFile ());
132
+ final BasicAuthFilter filter = new BasicAuthFilter ();
133
+ filter .setFile (getAuthFile ());
126
134
when (mockContext .getSecurityContext ()).thenReturn (null );
127
135
when (mockContext .getHeaderString (AUTHORIZATION ))
128
136
.thenReturn ("Basic " + encodeCredentials ("user" , "password" ));
@@ -138,7 +146,7 @@ void testNoSecurityContext() {
138
146
@ Test
139
147
void testCredentialsViaConfiguration () {
140
148
try {
141
- System .setProperty (BasicAuthFilter .CONFIG_AUTH_BASIC_CREDENTIALS , getAuthFile ());
149
+ System .setProperty (BasicAuthFilter .CONFIG_AUTH_BASIC_CREDENTIALS , getAuthFile (). getPath () );
142
150
final BasicAuthFilter filter = new BasicAuthFilter ();
143
151
when (mockContext .getHeaderString (AUTHORIZATION ))
144
152
.thenReturn ("Basic " + encodeCredentials ("user2" , "password2" ));
@@ -156,7 +164,8 @@ void testCredentialsViaConfiguration() {
156
164
157
165
@ Test
158
166
void testNoCredentials () {
159
- final BasicAuthFilter filter = new BasicAuthFilter (getAuthFile ());
167
+ final BasicAuthFilter filter = new BasicAuthFilter ();
168
+ filter .setFile (getAuthFile ());
160
169
final String token = encodeCredentials ("acoburn" , "secret" );
161
170
when (mockContext .getHeaderString (AUTHORIZATION )).thenReturn ("Bearer " + token );
162
171
filter .filter (mockContext );
@@ -165,39 +174,44 @@ void testNoCredentials() {
165
174
166
175
@ Test
167
176
void testBadCredentials () {
168
- final BasicAuthFilter filter = new BasicAuthFilter (getAuthFile ());
177
+ final BasicAuthFilter filter = new BasicAuthFilter ();
178
+ filter .setFile (getAuthFile ());
169
179
final String token = encodeCredentials ("acoburn" , "wrong" );
170
180
when (mockContext .getHeaderString (AUTHORIZATION )).thenReturn ("Basic " + token );
171
181
assertThrows (NotAuthorizedException .class , () -> filter .filter (mockContext ));
172
182
}
173
183
174
184
@ Test
175
185
void testBadCredentialsFile () {
176
- final BasicAuthFilter filter = new BasicAuthFilter (getAuthFile () + ".non-existent" );
186
+ final BasicAuthFilter filter = new BasicAuthFilter ();
187
+ filter .setFile (new File (getAuthFile ().getPath () + ".non-existent" ));
177
188
final String token = encodeCredentials ("acoburn" , "secret" );
178
189
when (mockContext .getHeaderString (AUTHORIZATION )).thenReturn ("Basic " + token );
179
190
assertThrows (NotAuthorizedException .class , () -> filter .filter (mockContext ));
180
191
}
181
192
182
193
@ Test
183
194
void testNoToken () {
184
- final BasicAuthFilter filter = new BasicAuthFilter (getAuthFile ());
195
+ final BasicAuthFilter filter = new BasicAuthFilter ();
196
+ filter .setFile (getAuthFile ());
185
197
when (mockContext .getHeaderString (AUTHORIZATION )).thenReturn ("BASIC" );
186
198
filter .filter (mockContext );
187
199
verify (mockContext , never ()).setSecurityContext (any ());
188
200
}
189
201
190
202
@ Test
191
203
void testBadToken () {
192
- final BasicAuthFilter filter = new BasicAuthFilter (getAuthFile ());
204
+ final BasicAuthFilter filter = new BasicAuthFilter ();
205
+ filter .setFile (getAuthFile ());
193
206
final String token = "blahblah" ;
194
207
when (mockContext .getHeaderString (AUTHORIZATION )).thenReturn ("Basic " + token );
195
208
assertThrows (NotAuthorizedException .class , () -> filter .filter (mockContext ));
196
209
}
197
210
198
211
@ Test
199
212
void testTokenWithBadChars () {
200
- final BasicAuthFilter filter = new BasicAuthFilter (getAuthFile ());
213
+ final BasicAuthFilter filter = new BasicAuthFilter ();
214
+ filter .setFile (getAuthFile ());
201
215
final String token = "&=!*#$" ;
202
216
when (mockContext .getHeaderString (AUTHORIZATION )).thenReturn ("Basic " + token );
203
217
assertThrows (NotAuthorizedException .class , () -> filter .filter (mockContext ));
@@ -206,7 +220,8 @@ void testTokenWithBadChars() {
206
220
@ Test
207
221
void testUnreadableFile () {
208
222
final File file = new File (getAuthFile (), "nonexistent" );
209
- final BasicAuthFilter filter = new BasicAuthFilter (file );
223
+ final BasicAuthFilter filter = new BasicAuthFilter ();
224
+ filter .setFile (file );
210
225
final String token = encodeCredentials ("acoburn" , "secret" );
211
226
when (mockContext .getHeaderString (AUTHORIZATION )).thenReturn ("Basic " + token );
212
227
assertThrows (NotAuthorizedException .class , () -> filter .filter (mockContext ));
@@ -224,8 +239,8 @@ private String encodeCredentials(final String username, final String password) {
224
239
return new String (Base64 .getEncoder ().encode (combined .getBytes (UTF_8 )), UTF_8 );
225
240
}
226
241
227
- private String getAuthFile () {
242
+ private File getAuthFile () {
228
243
final String prefix = "file:" ;
229
- return getClass ().getResource ("/users.auth" ).toString ().substring (prefix .length ());
244
+ return new File ( getClass ().getResource ("/users.auth" ).toString ().substring (prefix .length () ));
230
245
}
231
246
}
0 commit comments