Project

General

Profile

1
package unitest;
2

    
3
import eu.dnetlib.goldoa.domain.*;
4
import eu.dnetlib.goldoa.service.*;
5
import eu.dnetlib.goldoa.service.dao.UserDAO;
6
import org.junit.Test;
7
import org.junit.runner.RunWith;
8
import org.springframework.beans.factory.annotation.Autowired;
9
import org.springframework.context.annotation.PropertySource;
10
import org.springframework.test.annotation.Rollback;
11
import org.springframework.test.context.ContextConfiguration;
12
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
13

    
14
import javax.transaction.Transactional;
15
import java.io.IOException;
16
import java.util.List;
17

    
18
/**
19
 * Created by panagiotis on 2/2/2017.
20
 */
21
@RunWith( SpringJUnit4ClassRunner.class )
22
@ContextConfiguration(locations = "classpath:applicationContext-goldoa-service-test.xml")
23
@PropertySource("classpath:applicationContext-goldoa-service.properties ")
24
public class ProfileTest {
25

    
26
    @Autowired
27
    UserManagerImpl um;
28
    @Autowired
29
    OrganizationManager om;
30
    @Autowired
31
    ProjectManager pm;
32
    @Autowired
33
    SearchManager sm;
34
    @Autowired
35
    PublisherManager pubm;
36
    @Autowired
37
    HelpManager hm;
38

    
39
    @Autowired
40
    ProjectManagerImpl p;
41

    
42
    @Autowired
43
    UserDAO ud;
44

    
45
    @Autowired
46
    EligibilityManager em;
47

    
48
    @Test
49
    @Transactional
50
    @Rollback(true)
51
    public void login(){
52
        User user = null;
53
        try {
54
            user = um.login("pkanakakis@di.uoa.gr","1234");
55
        } catch (PersonManagerException e) {
56
            e.printStackTrace();
57
        }
58
    }
59

    
60

    
61
    @Test
62
    @Transactional
63
    @Rollback(true)
64
    public void register() throws IOException, PersonManagerException {
65
        User user = new User();
66
        user.setEmail("pgl@otenet.gr");
67
        user.setPassword("1234");
68
        List<Object> rs = null;
69

    
70

    
71
        rs = sm.search(SearchManager.TYPE.PUBLISHER,"EDP Sciencesss");
72
        Publisher pub = null;
73
        if(rs.size() > 0)
74
           pub  = (Publisher)rs.get(0);
75

    
76
        if(pub == null){
77
            pub = new Publisher();
78
            pub.setName("EDP");
79

    
80
            user.setPublisher(pub);
81

    
82
            pub.getContacts().add(user);
83
            pubm.savePublisher(pub);
84

    
85
            try {
86
                um.register(user);
87
            } catch (PersonManagerException e) {
88
                e.printStackTrace();
89
            }
90
        }else{
91
            user.setPublisher(pub);
92

    
93
            try {
94
                um.register(user);
95
            } catch (PersonManagerException e) {
96
                e.printStackTrace();
97
            }
98

    
99
            pub.getContacts().add(user);
100
            pubm.savePublisher(pub);
101
        }
102

    
103

    
104
    }
105

    
106

    
107
    @Test
108
    @Transactional
109
    @Rollback(true)
110
    public void eligibleProjectsByOrganization(){
111
        List<Project> pr = pm.getEligibleProjectsForOrganization("corda::983580389");
112
        for(Project p : pr)
113
            System.out.println(p.getId());
114

    
115
        pr = pm.getFutureEligibleProjectsForOrganization("corda::983580389");
116
        for(Project p : pr)
117
            System.out.println(p.getId());
118
    }
119

    
120
    @Test
121
    @Transactional
122
    @Rollback(true)
123
    public void getModerators(){
124
        List<User> users = um.getModerators();
125
        for(User u:users)
126
            System.out.println(u.getEmail());
127
    }
128

    
129
    @Test
130
    @Transactional
131
    @Rollback(true)
132
    public void resetPassword(){
133
        try {
134
            um.resetPassword("ant.lebesis@gmail.com");
135
        } catch (PersonManagerException e) {
136
            e.printStackTrace();
137
        }
138
    }
139

    
140
    @Test
141
    @Transactional
142
    @Rollback(true)
143
    public void getPublisherContacts(){
144
        List<Object> rs = null;
145

    
146
        rs = sm.search(SearchManager.TYPE.PUBLISHER,"EDP Sciences");
147
        Publisher pub = null;
148
        pub  = (Publisher)rs.get(0);
149

    
150
        for(User contact:pub.getContacts())
151
            System.out.println(contact.getEmail());
152

    
153
    }
154

    
155
    @Test
156
    @Transactional
157
    @Rollback(true)
158
    public void registerAsPC() throws IOException, PersonManagerException {
159
        User user = new User();
160
        user.setEmail("p4@di.uoa.gr");
161
        user.setPassword("1234");
162
        List<Object> rs = null;
163

    
164
        rs = sm.search(SearchManager.TYPE.PROJECT,"ECB");
165
        user.getCoordinatedProjects().add((Project)rs.get(0));
166
        um.saveUser(user);
167

    
168
    }
169

    
170

    
171
    @Test
172
    @Transactional
173
    @Rollback(true)
174
    public void activateUserToken() throws IOException, PersonManagerException {
175
        um.activate("gwen.franck@kb.nl","ac70787e-34e9-4daa-9e5e-96c48716c07c");
176
    }
177

    
178

    
179
    @Test
180
    @Transactional
181
    @Rollback(true)
182
    public void search() throws IOException, PersonManagerException {
183
        List<Object> rs = sm.search(SearchManager.TYPE.PROJECT, "WIMCAM");
184
        Project p = ((Project)rs.get(0));
185
        System.out.println(p.getTitle() + "/" + p.getEnddate() + "/" + p.getStartdate());
186

    
187
        Request r = new Request();
188
        r.setProject(p);
189
        r.setStatus(Request.RequestStatus.INCOMPLETE);
190
        Eligibility e = em.validate(r);
191
        System.out.println("Eligibility status: " + e.getStatus());
192

    
193
        /*String contents = "";
194
        for(String message : e.getMessages())
195
            contents +=  message;
196
        System.out.println(contents);*/
197
    }
198

    
199
    @Test
200
    @Transactional
201
    @Rollback(true)
202
    public void getHelp(){
203
        System.out.println(hm.getById("register").getText());
204
    }
205

    
206
    @Test
207
    @Transactional
208
    @Rollback(true)
209
    public void getRoles(){
210
        List<Role> roles = um.getRoles();
211
        for(Role r:roles)
212
            System.out.println(r.getId() +"/" + r.getRole());
213
    }
214

    
215

    
216
}
(3-3/5)