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
1
Merge Requests
1
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
Romain Courteaud
slapos.core
Commits
d5b13987
Commit
d5b13987
authored
Jan 13, 2023
by
Romain Courteaud
🐙
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
slapos_erp5: test Support Request local roles
parent
da039b9a
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
19 additions
and
126 deletions
+19
-126
master/bt5/slapos_erp5/LocalRolesTemplateItem/support_request_module/slapos_crm_support_request_template.xml
...rt_request_module/slapos_crm_support_request_template.xml
+0
-6
master/bt5/slapos_erp5/PortalTypeRolesTemplateItem/Support%20Request.xml
...os_erp5/PortalTypeRolesTemplateItem/Support%20Request.xml
+2
-0
master/bt5/slapos_erp5/TestTemplateItem/portal_components/test.erp5.testSlapOSERP5GroupRoleSecurity.py
...l_components/test.erp5.testSlapOSERP5GroupRoleSecurity.py
+17
-120
No files found.
master/bt5/slapos_erp5/LocalRolesTemplateItem/support_request_module/slapos_crm_support_request_template.xml
View file @
d5b13987
<local_roles_item>
<local_roles>
<role
id=
'G-COMPANY'
>
<item>
Assignor
</item>
</role>
<role
id=
'R-MEMBER'
>
<item>
Auditor
</item>
</role>
</local_roles>
<local_role_group_ids>
<local_role_group_id
id=
'group'
>
<principal
id=
'G-COMPANY'
>
Assignor
</principal>
</local_role_group_id>
<local_role_group_id
id=
'user'
>
<principal
id=
'R-MEMBER'
>
Auditor
</principal>
</local_role_group_id>
...
...
master/bt5/slapos_erp5/PortalTypeRolesTemplateItem/Support%20Request.xml
View file @
d5b13987
...
...
@@ -36,6 +36,7 @@
<property
id=
'base_category_script'
>
ERP5Type_getSecurityCategoryFromContent
</property>
<multi_property
id=
'category'
>
function/production/agent
</multi_property>
<multi_property
id=
'base_category'
>
source_project
</multi_property>
<multi_property
id=
'base_category'
>
function
</multi_property>
</role>
<role
id=
'Assignor'
>
<property
id=
'title'
>
Source Project Production Manager
</property>
...
...
@@ -44,5 +45,6 @@
<property
id=
'base_category_script'
>
ERP5Type_getSecurityCategoryFromContent
</property>
<multi_property
id=
'category'
>
function/production/manager
</multi_property>
<multi_property
id=
'base_category'
>
source_project
</multi_property>
<multi_property
id=
'base_category'
>
function
</multi_property>
</role>
</type_roles>
\ No newline at end of file
master/bt5/slapos_erp5/TestTemplateItem/portal_components/test.erp5.testSlapOSERP5GroupRoleSecurity.py
View file @
d5b13987
...
...
@@ -1628,8 +1628,7 @@ class TestSupportRequest(TestSlapOSGroupRoleSecurityMixin):
portal_type
=
'Support Request'
)
support_request
.
updateLocalRolesOnSecurityGroups
()
self
.
assertSecurityGroup
(
support_request
,
[
'G-COMPANY'
,
self
.
user_id
],
False
)
self
.
assertRoles
(
support_request
,
'G-COMPANY'
,
[
'Assignor'
])
[
self
.
user_id
],
False
)
self
.
assertRoles
(
support_request
,
self
.
user_id
,
[
'Owner'
])
def
test_Customer
(
self
):
...
...
@@ -1642,8 +1641,7 @@ class TestSupportRequest(TestSlapOSGroupRoleSecurityMixin):
)
support_request
.
updateLocalRolesOnSecurityGroups
()
self
.
assertSecurityGroup
(
support_request
,
[
'G-COMPANY'
,
person
.
getUserId
(),
self
.
user_id
],
False
)
self
.
assertRoles
(
support_request
,
'G-COMPANY'
,
[
'Assignor'
])
[
person
.
getUserId
(),
self
.
user_id
],
False
)
self
.
assertRoles
(
support_request
,
person
.
getUserId
(),
[
'Auditor'
])
self
.
assertRoles
(
support_request
,
self
.
user_id
,
[
'Owner'
])
...
...
@@ -1653,138 +1651,37 @@ class TestSupportRequest(TestSlapOSGroupRoleSecurityMixin):
assert
support_request
.
getPortalType
()
==
'Support Request'
support_request
.
updateLocalRolesOnSecurityGroups
()
self
.
assertSecurityGroup
(
support_request
,
[
'G-COMPANY'
,
support_request
.
Base_getOwnerId
(),
'R-MEMBER'
],
False
)
self
.
assertRoles
(
support_request
,
'G-COMPANY'
,
[
'Assignor'
])
[
support_request
.
Base_getOwnerId
(),
'R-MEMBER'
],
False
)
self
.
assertRoles
(
support_request
,
support_request
.
Base_getOwnerId
(),
[
'Owner'
])
self
.
assertRoles
(
support_request
,
'R-MEMBER'
,
[
'Auditor'
])
self
.
assertPermissionsOfRole
(
support_request
,
'Auditor'
,
[
'Access contents information'
,
'View'
])
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
()
support_request
=
self
.
portal
.
support_request_module
.
newContent
(
portal_type
=
'Support Request'
,
destination_decision_value
=
person
,
aggregate
=
compute_node
.
getRelativeUrl
()
)
support_request
.
updateLocalRolesOnSecurityGroups
()
self
.
assertSecurityGroup
(
support_request
,
[
'G-COMPANY'
,
person
.
getUserId
(),
self
.
user_id
,
project
.
getReference
()],
False
)
self
.
assertRoles
(
support_request
,
'G-COMPANY'
,
[
'Assignor'
])
self
.
assertRoles
(
support_request
,
person
.
getUserId
(),
[
'Auditor'
])
self
.
assertRoles
(
support_request
,
self
.
user_id
,
[
'Owner'
])
self
.
assertRoles
(
support_request
,
project
.
getReference
(),
[
'Auditor'
])
def
test_ProjectMember_InstanceTree
(
self
):
project
=
self
.
addProject
()
person
=
self
.
makePerson
(
project
,
user
=
1
)
instance_tree
=
self
.
portal
.
instance_tree_module
.
newContent
(
portal_type
=
'Instance Tree'
,
reference
=
"INSTTREETEST-%s"
%
self
.
generateNewId
(),
title
=
"INSTTREETEST-%s"
%
self
.
generateNewId
(),
destination_section
=
person
.
getRelativeUrl
())
project
=
self
.
portal
.
project_module
.
newContent
(
portal_type
=
'Project'
)
self
.
tic
()
self
.
login
(
person
.
getUserId
())
instance_tree
.
InstanceTree_createMovement
(
destination_project
=
project
.
getRelativeUrl
())
self
.
login
()
self
.
tic
()
support_request
=
self
.
portal
.
support_request_module
.
newContent
(
portal_type
=
'Support Request'
,
destination_decision_value
=
person
,
aggregate
=
instance_tree
.
getRelativeUrl
()
)
support_request
.
updateLocalRolesOnSecurityGroups
()
self
.
assertSecurityGroup
(
support_request
,
[
'G-COMPANY'
,
person
.
getUserId
(),
self
.
user_id
,
project
.
getReference
()],
False
)
self
.
assertRoles
(
support_request
,
'G-COMPANY'
,
[
'Assignor'
])
self
.
assertRoles
(
support_request
,
person
.
getUserId
(),
[
'Auditor'
])
self
.
assertRoles
(
support_request
,
self
.
user_id
,
[
'Owner'
])
self
.
assertRoles
(
support_request
,
project
.
getReference
(),
[
'Auditor'
])
def
test_OrganisationMember
(
self
):
def
test_SourceProject
(
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
()
support_request
=
self
.
portal
.
support_request_module
.
newContent
(
portal_type
=
'Support Request'
,
destination_decision_value
=
person
,
aggregate
=
compute_node
.
getRelativeUrl
()
)
source_project_value
=
project
)
support_request
.
updateLocalRolesOnSecurityGroups
()
self
.
assertSecurityGroup
(
support_request
,
[
'G-COMPANY'
,
person
.
getUserId
(),
self
.
user_id
,
organisation
.
getReference
()],
False
)
self
.
assertRoles
(
support_request
,
'G-COMPANY'
,
[
'Assignor'
])
self
.
assertRoles
(
support_request
,
person
.
getUserId
(),
[
'Auditor'
])
self
.
assertSecurityGroup
(
support_request
,
[
self
.
user_id
,
'%s_F-PRODAGNT'
%
project
.
getReference
(),
'%s_F-PRODMAN'
%
project
.
getReference
()],
False
)
self
.
assertRoles
(
support_request
,
self
.
user_id
,
[
'Owner'
])
self
.
assertRoles
(
support_request
,
organisation
.
getReference
(),
[
'Auditor'
])
self
.
assertRoles
(
support_request
,
'%s_F-PRODMAN'
%
project
.
getReference
(),
[
'Assignor'
])
self
.
assertRoles
(
support_request
,
'%s_F-PRODAGNT'
%
project
.
getReference
(),
[
'Assignee'
])
def
test_
OrganisationMember_InstanceTree
(
self
):
def
test_
DestinationProject
(
self
):
project
=
self
.
addProject
()
person
=
self
.
makePerson
(
project
,
user
=
1
)
instance_tree
=
self
.
portal
.
instance_tree_module
.
newContent
(
portal_type
=
'Instance Tree'
,
reference
=
"INSTTREETEST-%s"
%
self
.
generateNewId
(),
title
=
"INSTTREETEST-%s"
%
self
.
generateNewId
(),
destination_section
=
person
.
getRelativeUrl
())
organisation
=
self
.
portal
.
organisation_module
.
newContent
(
portal_type
=
'Organisation'
,
reference
=
"TESTO-%s"
%
self
.
generateNewId
())
self
.
tic
()
self
.
login
(
person
.
getUserId
())
instance_tree
.
InstanceTree_createMovement
(
destination
=
organisation
.
getRelativeUrl
())
self
.
login
()
self
.
tic
()
support_request
=
self
.
portal
.
support_request_module
.
newContent
(
portal_type
=
'Support Request'
,
destination_decision_value
=
person
,
aggregate
=
instance_tree
.
getRelativeUrl
()
)
destination_project_value
=
project
)
support_request
.
updateLocalRolesOnSecurityGroups
()
self
.
assertSecurityGroup
(
support_request
,
[
'G-COMPANY'
,
person
.
getUserId
(),
self
.
user_id
,
organisation
.
getReference
()],
False
)
self
.
assertRoles
(
support_request
,
'G-COMPANY'
,
[
'Assignor'
])
self
.
assertRoles
(
support_request
,
person
.
getUserId
(),
[
'Auditor'
])
self
.
assertSecurityGroup
(
support_request
,
[
self
.
user_id
,
'%s_F-PRODAGNT'
%
project
.
getReference
(),
'%s_F-PRODMAN'
%
project
.
getReference
()],
False
)
self
.
assertRoles
(
support_request
,
self
.
user_id
,
[
'Owner'
])
self
.
assertRoles
(
support_request
,
organisation
.
getReference
(),
[
'Auditor'
])
self
.
assertRoles
(
support_request
,
'%s_F-PRODMAN'
%
project
.
getReference
(),
[
'Assignor'
])
self
.
assertRoles
(
support_request
,
'%s_F-PRODAGNT'
%
project
.
getReference
(),
[
'Assignee'
])
class
TestWebPageModule
(
TestSlapOSGroupRoleSecurityMixin
):
...
...
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