8000 Merge pull request #142 from giastfader/master · githubcs/baasbox@6d5a792 · GitHub
[go: up one dir, main page]

Skip to content

Commit 6d5a792

Browse files
committed
Merge pull request baasbox#142 from giastfader/master
Tests for baasbox#131
2 parents 8ca0e15 + 543ba72 commit 6d5a792

File tree

2 files changed

+88
-2
lines changed

2 files changed

+88
-2
lines changed

test/DocumentCMDFunctionalTest.java

Lines changed: 86 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,10 @@
1818
// @author: Marco Tibuzzi
1919

2020
import static play.test.Helpers.DELETE;
21-
import static play.test.Helpers.HTMLUNIT;
2221
import static play.test.Helpers.GET;
22+
import static play.test.Helpers.HTMLUNIT;
2323
import static play.test.Helpers.POST;
24+
import static play.test.Helpers.PUT;
2425
import static play.test.Helpers.fakeApplication;
2526
import static play.test.Helpers.routeAndCall;
2627
import static play.test.Helpers.running;
@@ -38,8 +39,8 @@
3839
import org.junit.Test;
3940

4041
import play.libs.F.Callback;
41-
import play.mvc.Result;
4242
import play.mvc.Http.Status;
43+
import play.mvc.Result;
4344
import play.test.FakeRequest;
4445
import play.test.TestBrowser;
4546
import core.AbstractDocumentTest;
@@ -274,6 +275,89 @@ public void invoke(TestBrowser browser)
274275
);
275276
}
276277

278+
279+
@Test
280+
public void testAccessDocumentsWithoutAuth() {
281+
running
282+
(
283+
fakeApplication(),
284+
new Runnable()
285+
{
286+
public void run()
287+
{
288+
289+
//Anonymous user looking for a non existent collection
290+
FakeRequest request = new FakeRequest(GET, getRouteAddress("PIPPOPLUTO"));
291+
request = request.withHeader(TestConfig.KEY_APPCODE, TestConfig.VALUE_APPCODE);
292+
request = request.withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED);
293+
Result result = routeAndCall(request);
294+
assertRoute(result, "testAccessDocumentsWithoutAuth.not_exists", Status.NOT_FOUND, null, false);
295+
296+
//Admin creates a collection
297+
String sFakeCollection = new AdminCollectionFunctionalTest().routeCreateCollection();
298+
//Anonymous user looking for its documents
299+
request = new FakeRequest(GET, getRouteAddress(sFakeCollection));
300+
request = request.withHeader(TestConfig.KEY_APPCODE, TestConfig.VALUE_APPCODE);
301+
request = request.withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED);
302+
result = routeAndCall(request);
303+
assertRoute(result, "testAccessDocumentsWithoutAuth.get_all", Status.OK, "\"result\":\"ok\",\"data\":[]", true);
304+
305+
//Admin creates a document
306+
result = routeCreateDocument(getRouteAddress(sFakeCollection));
307+
assertRoute(result, "testAccessDocumentsWithoutAuth,create", Status.OK, null, true);
308+
String sUUID = getUuid();
309+
310+
//Anonymous user looking for it and grab jus an error 404
311+
request = new FakeRequest(GET, getRouteAddress(sFakeCollection) + "/" + sUUID);
312+
request = request.withHeader(TestConfig.KEY_APPCODE, TestConfig.VALUE_APPCODE);
313+
request = request.withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED);
314+
result = routeAndCall(request);
315+
assertRoute(result, "testAccessDocumentsWithoutAuth.not_exists", Status.NOT_FOUND, null, false);
316+
317+
//Admin changes the grant to the document
318+
319+
request = new FakeRequest(PUT, getRouteAddress(sFakeCollection) + "/" + sUUID + "/read/role/anonymous");
320+
request = request.withHeader(TestConfig.KEY_APPCODE, TestConfig.VALUE_APPCODE);
321+
request = request.withHeader(TestConfig.KEY_AUTH, TestConfig.AUTH_ADMIN_ENC);
322+
request = request.withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED);
323+
result = routeAndCall(request);
324+
assertRoute(result, "testAccessDocumentsWithoutAuth.grant", Status.OK, null, false);
325+
326+
//Anonymous user looking for it and obtains it
327+
request = new FakeRequest(GET, getRouteAddress(sFakeCollection) + "/" + sUUID);
328+
request = request.withHeader(TestConfig.KEY_APPCODE, TestConfig.VALUE_APPCODE);
329+
request = request.withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED);
330+
result = routeAndCall(request);
331+
assertRoute(result, "testAccessDocumentsWithoutAuth.get_after_grant", Status.OK, null, false);
332+
333+
//Anonymous user looking for the collection and obtain a list with one record
334+
request = new FakeRequest(GET, getRouteAddress(sFakeCollection));
335+
request = request.withHeader(TestConfig.KEY_APPCODE, TestConfig.VALUE_APPCODE);
336+
request = request.withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED);
337+
result = routeAndCall(request);
338+
assertRoute(result, "testAccessDocumentsWithoutAuth.get_all", Status.OK, "\"result\":\"ok\",\"data\":[{\"", true);
339+
340+
341+
//Admin revokes the grant to the document
342+
request = new FakeRequest(DELETE, getRouteAddress(sFakeCollection) + "/" + sUUID + "/read/role/anonymous");
343+
request = request.withHeader(TestConfig.KEY_APPCODE, TestConfig.VALUE_APPCODE);
344+
request = request.withHeader(TestConfig.KEY_AUTH, TestConfig.AUTH_ADMIN_ENC);
345+
request = request.withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED);
346+
result = routeAndCall(request);
347+
assertRoute(result, "testAccessDocumentsWithoutAuth.revoke", Status.OK, null, false);
348+
349+
//Anonymous user looking for it and obtains nothing
350+
request = new FakeRequest(GET, getRouteAddress(sFakeCollection) + "/" + sUUID);
351+
request = request.withHeader(TestConfig.KEY_APPCODE, TestConfig.VALUE_APPCODE);
352+
request = request.withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED);
353+
result = routeAndCall(request);
354+
assertRoute(result, 6D47 "testAccessDocumentsWithoutAuth.not_found_2", Status.NOT_FOUND, null, false);
355+
356+
}
357+
}
358+
);
359+
}
360+
277361
@Test
278362
public void testServerCMDDocument()
279363
{

test/core/AbstractDocumentTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,8 @@ public void run()
165165
);
166166
}
167167

168+
169+
168170
@Test
169171
@Override
170172
public void testServerNotValid() {

0 commit comments

Comments
 (0)
0