Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
slapos.core
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Titouan Soulard
slapos.core
Commits
e50cb55f
Commit
e50cb55f
authored
Jan 13, 2023
by
Romain Courteaud
🐙
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
slapos_erp5: test Compute Node local roles
parent
49ef24f5
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
15 additions
and
100 deletions
+15
-100
master/bt5/slapos_erp5/TestTemplateItem/portal_components/test.erp5.testSlapOSERP5GroupRoleSecurity.py
...l_components/test.erp5.testSlapOSERP5GroupRoleSecurity.py
+15
-100
No files found.
master/bt5/slapos_erp5/TestTemplateItem/portal_components/test.erp5.testSlapOSERP5GroupRoleSecurity.py
View file @
e50cb55f
...
...
@@ -102,121 +102,36 @@ class TestAssignment(TestSlapOSGroupRoleSecurityMixin):
self
.
assertRoles
(
assignment
,
self
.
user_id
,
[
'Owner'
])
class
TestComputeNode
(
TestSlapOSGroupRoleSecurityMixin
):
def
test_
GroupCompany
(
self
):
def
test_
default
(
self
):
compute_node
=
self
.
portal
.
compute_node_module
.
newContent
(
portal_type
=
'Compute Node'
)
compute_node
.
updateLocalRolesOnSecurityGroups
()
self
.
assertSecurityGroup
(
compute_node
,
[
'G-COMPANY'
,
self
.
user_id
,
compute_node
.
getUserId
()],
False
)
self
.
assertRoles
(
compute_node
,
'G-COMPANY'
,
[
'Assignor'
])
[
self
.
user_id
,
compute_node
.
getUserId
()],
False
)
self
.
assertRoles
(
compute_node
,
self
.
user_id
,
[
'Owner'
])
self
.
assertRoles
(
compute_node
,
compute_node
.
getUserId
(),
[
'Assignor'
])
def
test_ProjectMember
(
self
):
project
=
self
.
addProject
()
person
=
self
.
makePerson
(
project
,
user
=
1
)
compute_node
=
self
.
portal
.
compute_node_module
.
newContent
(
portal_type
=
'Compute Node'
,
source_administration
=
person
.
getRelativeUrl
())
project
=
self
.
portal
.
project_module
.
newContent
(
portal_type
=
'Project'
)
self
.
tic
()
self
.
login
(
person
.
getUserId
())
compute_node
.
ComputeNode_createMovement
(
destination
=
person
.
getRelativeUrl
(),
destination_project
=
project
.
getRelativeUrl
())
self
.
login
()
self
.
tic
()
compute_node
.
updateLocalRolesOnSecurityGroups
()
self
.
assertSecurityGroup
(
compute_node
,
[
'G-COMPANY'
,
self
.
user_id
,
person
.
getUserId
(),
project
.
getReference
(),
compute_node
.
getUserId
()],
False
)
self
.
assertRoles
(
compute_node
,
'G-COMPANY'
,
[
'Assignor'
])
self
.
assertRoles
(
compute_node
,
self
.
user_id
,
[
'Owner'
])
self
.
assertRoles
(
compute_node
,
person
.
getUserId
(),
[
'Assignee'
])
self
.
assertRoles
(
compute_node
,
project
.
getReference
(),
[
'Assignee'
])
def
test_OrganisationMember
(
self
):
project
=
self
.
addProject
()
person
=
self
.
makePerson
(
project
,
user
=
1
)
compute_node
=
self
.
portal
.
compute_node_module
.
newContent
(
portal_type
=
'Compute Node'
,
source_administration
=
person
.
getRelativeUrl
())
organisation
=
self
.
portal
.
organisation_module
.
newContent
(
portal_type
=
'Organisation'
,
reference
=
"TESTO-%s"
%
self
.
generateNewId
())
self
.
tic
()
self
.
login
(
person
.
getUserId
())
compute_node
.
ComputeNode_createMovement
(
destination
=
person
.
getRelativeUrl
(),
destination_section
=
organisation
.
getRelativeUrl
())
self
.
login
()
self
.
tic
()
compute_node
.
updateLocalRolesOnSecurityGroups
()
self
.
assertSecurityGroup
(
compute_node
,
[
'G-COMPANY'
,
self
.
user_id
,
person
.
getUserId
(),
organisation
.
getReference
(),
compute_node
.
getUserId
()],
False
)
self
.
assertRoles
(
compute_node
,
'G-COMPANY'
,
[
'Assignor'
])
self
.
assertRoles
(
compute_node
,
self
.
user_id
,
[
'Owner'
])
self
.
assertRoles
(
compute_node
,
person
.
getUserId
(),
[
'Assignee'
])
self
.
assertRoles
(
compute_node
,
organisation
.
getReference
(),
[
'Assignee'
])
def
test_ComputeNodeAgent
(
self
):
reference
=
'TESTPERSON-%s'
%
self
.
generateNewId
()
person
=
self
.
portal
.
person_module
.
newContent
(
portal_type
=
'Person'
,
reference
=
reference
)
compute_node
=
self
.
portal
.
compute_node_module
.
newContent
(
portal_type
=
'Compute Node'
,
source_administration
=
person
.
getRelativeUrl
())
compute_node
.
updateLocalRolesOnSecurityGroups
()
self
.
assertSecurityGroup
(
compute_node
,
[
self
.
user_id
,
'G-COMPANY'
,
person
.
getUserId
(),
compute_node
.
getUserId
()],
False
)
self
.
assertRoles
(
compute_node
,
'G-COMPANY'
,
[
'Assignor'
])
self
.
assertRoles
(
compute_node
,
person
.
getUserId
(),
[
'Assignee'
])
self
.
assertRoles
(
compute_node
,
self
.
user_id
,
[
'Owner'
])
self
.
assertRoles
(
compute_node
,
compute_node
.
getUserId
(),
[
'Assignor'
])
def
test_AllocationScope
(
self
):
compute_node
=
self
.
portal
.
compute_node_module
.
newContent
(
portal_type
=
'Compute Node'
)
# open/public
compute_node
.
edit
(
allocation_scope
=
'open/public'
)
compute_node
.
updateLocalRolesOnSecurityGroups
()
self
.
assertSecurityGroup
(
compute_node
,
[
self
.
user_id
,
'G-COMPANY'
,
'R-SHADOW-PERSON'
,
compute_node
.
getUserId
()],
False
)
self
.
assertRoles
(
compute_node
,
'R-SHADOW-PERSON'
,
[
'Auditor'
])
self
.
assertRoles
(
compute_node
,
self
.
user_id
,
[
'Owner'
])
self
.
assertRoles
(
compute_node
,
compute_node
.
getUserId
(),
[
'Assignor'
])
follow_up_value
=
project
)
# open/personal
reference
=
'TESTPERSON-%s'
%
self
.
generateNewId
()
person
=
self
.
portal
.
person_module
.
newContent
(
portal_type
=
'Person'
,
reference
=
reference
)
compute_node
.
edit
(
allocation_scope
=
'open/personal'
,
source_administration
=
person
.
getRelativeUrl
()
)
compute_node
.
updateLocalRolesOnSecurityGroups
()
shadow_user_id
=
'SHADOW-%s'
%
person
.
getUserId
()
self
.
assertSecurityGroup
(
compute_node
,
[
self
.
user_id
,
'G-COMPANY'
,
shadow_user_id
,
person
.
getUserId
(),
compute_node
.
getUserId
()],
False
)
self
.
assertRoles
(
compute_node
,
shadow_user_id
,
[
'Auditor'
])
self
.
assertSecurityGroup
(
compute_node
,
[
self
.
user_id
,
compute_node
.
getUserId
(),
'%s_F-PRODAGNT'
%
project
.
getReference
(),
'%s_F-PRODMAN'
%
project
.
getReference
(),
'%s_F-CUSTOMER'
%
project
.
getReference
(),
'%s_R-INSTANCE'
%
project
.
getReference
(),
],
False
)
self
.
assertRoles
(
compute_node
,
self
.
user_id
,
[
'Owner'
])
self
.
assertRoles
(
compute_node
,
compute_node
.
getUserId
(),
[
'Assignor'
])
self
.
assertRoles
(
compute_node
,
'%s_F-PRODAGNT'
%
project
.
getReference
(),
[
'Assignee'
])
self
.
assertRoles
(
compute_node
,
'%s_F-PRODMAN'
%
project
.
getReference
(),
[
'Assignor'
])
self
.
assertRoles
(
compute_node
,
'%s_F-CUSTOMER'
%
project
.
getReference
(),
[
'Auditor'
])
self
.
assertRoles
(
compute_node
,
'%s_R-INSTANCE'
%
project
.
getReference
(),
[
'Auditor'
])
def
test_selfComputeNode
(
self
):
reference
=
'TESTCOMP-%s'
%
self
.
generateNewId
()
compute_node
=
self
.
portal
.
compute_node_module
.
newContent
(
portal_type
=
'Compute Node'
,
reference
=
reference
)
compute_node
.
updateLocalRolesOnSecurityGroups
()
self
.
assertSecurityGroup
(
compute_node
,
[
self
.
user_id
,
'G-COMPANY'
,
compute_node
.
getUserId
()],
False
)
self
.
assertRoles
(
compute_node
,
compute_node
.
getUserId
(),
[
'Assignor'
])
self
.
assertRoles
(
compute_node
,
self
.
user_id
,
[
'Owner'
])
class
TestComputerModel
(
TestSlapOSGroupRoleSecurityMixin
):
def
test_GroupCompany
(
self
):
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a 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