Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
minerva
core
Commits
e7388c7a
Commit
e7388c7a
authored
Dec 27, 2018
by
Piotr Gawron
Browse files
change in user privileges doesn't crash project upload
parent
05305712
Pipeline
#7998
passed with stage
in 2 minutes and 6 seconds
Changes
3
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
CHANGELOG
View file @
e7388c7a
minerva
(
12.1.4
)
stable
;
urgency
=
medium
*
Bug
fix
:
upload
of
the
project
failed
when
another
project
was
removed
during
upload
--
Piotr
Gawron
<
piotr
.
gawron
@
uni
.
lu
>
Fri
,
28
Dec
2018
14
:
00
:
00
+
0200
minerva
(
12.1.3
)
stable
;
urgency
=
medium
*
Bug
fix
:
add
project
button
is
disabled
when
user
has
no
privileges
*
Bug
fix
:
projectId
was
missing
in
the
edit
window
...
...
service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java
View file @
e7388c7a
...
...
@@ -809,6 +809,7 @@ public class ProjectService implements IProjectService {
file
.
setOwner
(
owner
);
project
.
setInputData
(
file
);
}
addUsers
(
project
,
params
);
createModel
(
params
,
project
);
Model
originalModel
=
project
.
getModels
().
iterator
().
next
().
getModel
();
...
...
@@ -821,7 +822,6 @@ public class ProjectService implements IProjectService {
}
}
addUsers
(
project
,
params
);
createImages
(
originalModel
,
params
);
for
(
Layout
layout
:
originalModel
.
getLayouts
())
{
...
...
service/src/test/java/lcsb/mapviewer/services/impl/ProjectServiceTest.java
View file @
e7388c7a
...
...
@@ -43,7 +43,9 @@ import lcsb.mapviewer.model.map.model.SubmodelType;
import
lcsb.mapviewer.model.map.species.Element
;
import
lcsb.mapviewer.model.map.species.Protein
;
import
lcsb.mapviewer.model.user.ConfigurationOption
;
import
lcsb.mapviewer.model.user.ObjectPrivilege
;
import
lcsb.mapviewer.model.user.PrivilegeType
;
import
lcsb.mapviewer.model.user.User
;
import
lcsb.mapviewer.model.user.UserAnnotationSchema
;
import
lcsb.mapviewer.model.user.UserClassAnnotators
;
import
lcsb.mapviewer.model.user.UserClassValidAnnotations
;
...
...
@@ -92,7 +94,7 @@ public class ProjectServiceTest extends ServiceTestFunctions {
}
@Test
public
void
test
()
throws
Exception
{
public
void
test
GetAllProjects
()
throws
Exception
{
try
{
List
<
Project
>
projects
=
projectService
.
getAllProjects
(
adminToken
);
...
...
@@ -124,6 +126,81 @@ public class ProjectServiceTest extends ServiceTestFunctions {
}
}
@Test
public
void
testUserPrivilegeChangeDuringUpload
()
throws
Exception
{
try
{
User
admin
=
userService
.
getUserByToken
(
adminToken
);
Project
defaultProject
=
projectService
.
getAllProjects
().
get
(
0
);
userService
.
setUserPrivilege
(
admin
,
new
ObjectPrivilege
(
defaultProject
,
1
,
PrivilegeType
.
EDIT_COMMENTS_PROJECT
,
admin
));
admin
=
userService
.
getUserByToken
(
adminToken
);
String
project_id
=
"test_id"
;
Thread
addProjectThread
=
new
Thread
(
new
Runnable
()
{
@Override
public
void
run
()
{
try
{
projectService
.
createProject
(
new
CreateProjectParams
().
//
authenticationToken
(
adminToken
).
//
projectId
(
project_id
).
//
version
(
""
).
//
projectFile
(
"testFiles/sample.xml"
).
//
images
(
false
).
//
analyzeAnnotations
(
true
).
//
addUser
(
"admin"
,
"admin"
).
//
projectDir
(
tmpResultDir
));
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
});
addProjectThread
.
start
();
Thread
dropPrivilegesThread
=
new
Thread
(
new
Runnable
()
{
@Override
public
void
run
()
{
try
{
Thread
.
sleep
(
100
);
userService
.
dropPrivilegesForObjectType
(
PrivilegeType
.
VIEW_PROJECT
,
defaultProject
.
getId
());
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
});
dropPrivilegesThread
.
start
();
dropPrivilegesThread
.
join
();
addProjectThread
.
join
();
Project
project
=
projectService
.
getProjectByProjectId
(
project_id
,
adminToken
);
assertEquals
(
ProjectStatus
.
DONE
,
project
.
getStatus
());
Thread
removeProjectThread
=
new
Thread
(
new
Runnable
()
{
@Override
public
void
run
()
{
try
{
Project
project
=
projectService
.
getProjectByProjectId
(
project_id
,
adminToken
);
assertEquals
(
ProjectStatus
.
DONE
,
project
.
getStatus
());
projectService
.
removeProject
(
project
,
null
,
false
,
adminToken
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
});
removeProjectThread
.
start
();
removeProjectThread
.
join
();
assertNull
(
projectService
.
getProjectByProjectId
(
project_id
,
adminToken
));
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
throw
e
;
}
}
@Test
public
void
testUpdater
()
throws
Exception
{
try
{
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment