source: trunk/test/integration/RestControllerTests.groovy @ 983

Last change on this file since 983 was 983, checked in by robert@…, 10 years ago

New type of authentication and authorization added to the rest controller. See ticket 118

File size: 2.6 KB
Line 
1import grails.test.*
2import dbnp.authentication.*
3
4/**
5 * RestControllerTests Test
6 *
7 * Description of my test
8 *
9 * @author  your email (+name?)
10 * @since       2010mmdd
11 * @package     ???
12 *
13 * Revision information:
14 * $Rev$
15 * $Author$
16 * $Date$
17 */
18class RestControllerTests extends ControllerUnitTestCase {
19        def AuthenticationService
20
21        String consumer = "TEST"
22        String token = "abcdef"
23
24        String studyToken = "PPS3_leptin_module"
25        String assayToken = "PPS3_Lipidomics"
26        String sampleToken = "A51_B"
27
28    protected void setUp() {
29        super.setUp()
30
31                controller.AuthenticationService = AuthenticationService
32    }
33
34    protected void tearDown() {
35        super.tearDown()
36    }
37
38        protected void login() {
39                println "Logging in to GSCF"
40
41                // Enable remote login
42                long now = new Date().getTime()
43                Date expiryDate = new Date( now + 24 * 60 * 60 * 1000 )
44                def user = new SessionAuthenticatedUser( consumer: consumer, token: token, secUser: SecUser.findByUsername( 'user' ), expiryDate: expiryDate )
45                user.save(flush: true)
46
47                // Check whether the user is really logged in
48                assert AuthenticationService.isRemotelyLoggedIn( consumer, token )
49
50                // Set authentication parameters
51                controller.params.consumer = consumer
52                controller.params.token = token
53        }
54
55    void testIsUser() {
56                login();
57                controller.isUser()
58
59                println controller.response.contentAsString
60                assert controller.response.contentAsString.equals( '{"authenticated":true}' )
61    }
62
63    void testGetStudies() {
64                login();
65
66                controller.getStudies()
67                println controller.response.contentAsString
68                controller.response.getHeaders().each { println it }
69    }
70
71    void testGetStudy() {
72                login();
73
74                controller.params.studyToken = studyToken
75                controller.getStudy()
76                println controller.response.contentAsString
77    }
78
79        void testGetAuthorizationLevel() {
80                login();
81
82                controller.params.studyToken = studyToken
83                controller.getAuthorizationLevel()
84                println controller.response.contentAsString
85    }
86
87        void testGetAssays() {
88                login();
89
90                controller.params.studyToken = studyToken
91                controller.getAssays()
92                println controller.response.contentAsString
93    }
94
95        void testGetAssay() {
96                login();
97
98                controller.params.assayToken = assayToken
99                controller.getAssay()
100                println controller.response.contentAsString
101    }
102
103        void testGetSamples() {
104                login();
105
106                controller.params.assayToken = assayToken
107                controller.getSamples()
108                println controller.response.contentAsString
109    }
110
111        void testGetSample() {
112                login();
113
114                controller.params.assayToken = assayToken
115                controller.params.sampleToken = sampleToken
116                controller.getSample()
117                println controller.response.contentAsString
118    }
119
120}
Note: See TracBrowser for help on using the repository browser.