Skip to content

Commit f932005

Browse files
Merge pull request #67 from aquality-automation/feature/improve_tests_with_admin_api
Feature/improve tests with admin api
2 parents 6493ad3 + 9765782 commit f932005

File tree

9 files changed

+25
-38
lines changed

9 files changed

+25
-38
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
## 0.3.10 (unreleased)
44

55
Features:
6+
- Update Tests to use Admin API to create preconditions -> [View Issue](https://github.com/aquality-automation/aquality-tracking/issues/100)
67

78
Bugfixes:
89
- Test run View Page performance is bad -> [View Issue](https://github.com/aquality-automation/aquality-tracking/issues/99)

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -197,12 +197,12 @@
197197
<dependency>
198198
<groupId>org.jetbrains</groupId>
199199
<artifactId>annotations</artifactId>
200-
<version>RELEASE</version>
200+
<version>19.0.0</version>
201201
</dependency>
202202
<dependency>
203203
<groupId>junit</groupId>
204204
<artifactId>junit</artifactId>
205-
<version>RELEASE</version>
205+
<version>4.13</version>
206206
<scope>test</scope>
207207
</dependency>
208208
<dependency>

src/main/java/main/Session.java

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -40,20 +40,6 @@ public Session(UserDto user) throws AqualityException {
4040
controllerFactory = new ControllerFactory(this.user);
4141
}
4242

43-
@Deprecated
44-
public Session(String apiToken, int projectId) throws AqualityException {
45-
user = new UserDto();
46-
controllerFactory = new ControllerFactory(user);
47-
if(controllerFactory.getHandler(new APITokenDto()).isTokenValid(apiToken, projectId)){
48-
ProjectUserDto projectUser = new ProjectUserDto();
49-
projectUser.setProject_id(projectId);
50-
projectUser.setEngineer(1);
51-
projectUser.setViewer(1);
52-
user.setProjectUsers(Collections.singletonList(projectUser));
53-
controllerFactory = new ControllerFactory(user);
54-
}
55-
}
56-
5743
public List<ProjectUserDto> getProjectPermissions(){
5844
return user.getProjectUsers();
5945
}

src/main/java/main/controllers/Administration/UserController.java

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@
2525
import java.util.UUID;
2626

2727
public class UserController extends BaseController<UserDto> {
28-
private UserDao userDao;
29-
private PasswordDao passwordDao;
30-
private UserSessionDao userSessionDao;
28+
private final UserDao userDao;
29+
private final PasswordDao passwordDao;
30+
private final UserSessionDao userSessionDao;
3131

3232
public UserController(UserDto user) {
3333
super(user);
@@ -42,7 +42,7 @@ public UserDto create(UserDto template) throws AqualityException {
4242
if (template.getPassword() != null) {
4343
template.setPassword(saltPassword(template, template.getPassword()));
4444
}
45-
return userDao.create(template);
45+
return toPublicUser(userDao.create(template));
4646
} else {
4747
throw new AqualityPermissionsException("Account is not allowed to create User", baseUser);
4848
}
@@ -104,14 +104,18 @@ UserDto auth(String authString, boolean ldap) throws AqualityException {
104104
}
105105

106106
private List<UserDto> toPublicUsers(List<UserDto> users) {
107-
for (UserDto user :
108-
users) {
109-
user.setPassword("");
110-
user.setSession_code("");
107+
for (UserDto user : users) {
108+
toPublicUser(user);
111109
}
112110
return users;
113111
}
114112

113+
private UserDto toPublicUser(UserDto user) {
114+
user.setPassword("");
115+
user.setSession_code("");
116+
return user;
117+
}
118+
115119
private String generateSessionCode(UserDto user) {
116120
Base64 base64 = new Base64();
117121
DateUtils dates = new DateUtils();

src/main/java/main/controllers/Project/ProjectUserController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public ProjectUserDto create(ProjectUserDto template) throws AqualityException {
3232
@Override
3333
public List<ProjectUserDto> get(ProjectUserDto template) throws AqualityException {
3434
boolean isViewer = template.getProject_id() != null && baseUser.getProjectUser(template.getProject_id()).isViewer();
35-
if (baseUser.isFromGlobalManagement() || isViewer || template.getUser_id() != null) {
35+
if (baseUser.isAdmin() || baseUser.isFromGlobalManagement() || isViewer || template.getUser_id() != null) {
3636
return fillProjectUsers(projectUserDao.searchAll(template));
3737
} else {
3838
throw new AqualityPermissionsException("Account is not allowed to view Project Users", baseUser);

src/main/java/main/view/Administration/UsersServlet.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,13 @@ public void doGet(HttpServletRequest req, HttpServletResponse resp) {
3535
public void doPost(HttpServletRequest req, HttpServletResponse resp) {
3636
setPostResponseHeaders(resp);
3737
setEncoding(resp);
38-
resp.addHeader("Access-Control-Expose-Headers", "id");
39-
resp.addHeader("Access-Control-Allow-Headers", "id");
4038

4139
try {
4240
Session session = createSession(req);
4341
UserDto user = mapper.mapObject(UserDto.class, getRequestJson(req));
4442
user = session.controllerFactory.getHandler(user).create(user);
45-
resp.setHeader("id", user.getId().toString());
43+
setJSONContentType(resp);
44+
resp.getWriter().write(mapper.serialize(user));
4645
} catch (Exception e) {
4746
handleException(resp, e);
4847
}

src/main/java/main/view/BaseServlet.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,7 @@ public class BaseServlet extends HttpServlet {
2626
protected static final String PROJECT_ID_KEY = "project_id";
2727

2828
protected Session createSession(HttpServletRequest req) throws AqualityException, AuthenticationException {
29-
String importToken = getStringQueryParameter(req, "importToken");
30-
Integer projectId = getIntegerQueryParameter(req, "projectId");
31-
if (importToken != null && projectId != null) {
32-
return new Session(importToken, projectId);
33-
} else {
34-
return new Session(getSessionId(req));
35-
}
29+
return new Session(getSessionId(req));
3630
}
3731

3832
private String replacer(String value) {

src/main/java/main/view/Project/APITokenServlet.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ public void doGet(HttpServletRequest req, HttpServletResponse resp) {
2222
APITokenDto tokenDto = new APITokenDto();
2323
tokenDto.getSearchTemplateFromRequestParameters(req);
2424
tokenDto.setApi_token(session.controllerFactory.getHandler(tokenDto).create(tokenDto).getApi_token());
25+
setJSONContentType(resp);
2526
resp.getWriter().write(mapper.serialize(tokenDto));
2627
} catch (Exception e) {
2728
handleException(resp, e);

src/main/java/main/view/Project/ExecuteImportServlet.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,7 @@ public void doPost(HttpServletRequest req, HttpServletResponse resp) {
5151
setPostResponseHeaders(resp);
5252
try {
5353
readParameters(req);
54-
Session session = importToken != null
55-
? new Session(importToken, projectId)
56-
: createSession(req);
54+
Session session = createSession(req);
5755

5856
suiteController = session.controllerFactory.getHandler(new TestSuiteDto());
5957
testRunController = session.controllerFactory.getHandler(new TestRunDto());
@@ -130,6 +128,10 @@ private Integer getTestRunId() throws AqualityException {
130128
}
131129

132130
private void validateRequest() throws AqualityQueryParameterException {
131+
if(importToken != null)
132+
{
133+
throw new AqualityQueryParameterException("Import Token is deprecated. Follow instructions on the API Token page.");
134+
}
133135

134136
if(singleTestRun)
135137
{

0 commit comments

Comments
 (0)