Add a larger set of test data 61/34961/1
authorasteroide <thomas.duval@orange.com>
Thu, 18 May 2017 08:43:41 +0000 (10:43 +0200)
committerasteroide <thomas.duval@orange.com>
Thu, 18 May 2017 08:43:41 +0000 (10:43 +0200)
Change-Id: I02b5eb5de1b612ecfe071e23dc88fad1428e741b

moonv4/moon_interface/tests/apitests/scenario/rbac_large.py [new file with mode: 0644]
moonv4/moon_interface/tests/apitests/scenario/session_large.py [new file with mode: 0644]

diff --git a/moonv4/moon_interface/tests/apitests/scenario/rbac_large.py b/moonv4/moon_interface/tests/apitests/scenario/rbac_large.py
new file mode 100644 (file)
index 0000000..ef5dd9b
--- /dev/null
@@ -0,0 +1,233 @@
+
+pdp_name = "pdp1"
+policy_name = "RBAC policy example"
+model_name = "RBAC"
+policy_genre = "authz"
+
+subjects = {
+    "user0": "",
+    "user1": "",
+    "user2": "",
+    "user3": "",
+    "user4": "",
+    "user5": "",
+    "user6": "",
+    "user7": "",
+    "user8": "",
+    "user9": "",
+}
+objects = {
+    "vm0": "",
+    "vm1": "",
+    "vm2": "",
+    "vm3": "",
+    "vm4": "",
+    "vm5": "",
+    "vm6": "",
+    "vm7": "",
+    "vm8": "",
+    "vm9": "",
+}
+actions = {
+    "start": "",
+    "stop": "",
+    "pause": "",
+    "unpause": "",
+    "destroy": "",
+}
+
+subject_categories = {"role": "", }
+object_categories = {"id": "", }
+action_categories = {"action-type": "", }
+
+subject_data = {"role": {
+    "admin": "", 
+    "employee": "", 
+    "dev1": "", 
+    "dev2": "", 
+    "*": ""
+}}
+object_data = {"id": {
+    "vm0": "", 
+    "vm1": "", 
+    "vm2": "",
+    "vm3": "",
+    "vm4": "",
+    "vm5": "",
+    "vm6": "",
+    "vm7": "",
+    "vm8": "",
+    "vm9": "",
+    "*": ""
+}}
+action_data = {"action-type": {
+    "vm-read": "", 
+    "vm-write": "", 
+    "*": ""
+}}
+
+subject_assignments = {
+    "user0": ({"role": "employee"}, {"role": "*"}), 
+    "user1": ({"role": "employee"}, {"role": "*"}),
+    "user2": ({"role": "dev1"}, {"role": "*"}),
+    "user3": ({"role": "dev1"}, {"role": "*"}),
+    "user4": ({"role": "dev1"}, {"role": "*"}),
+    "user5": ({"role": "dev1"}, {"role": "*"}),
+    "user6": ({"role": "dev2"}, {"role": "*"}),
+    "user7": ({"role": "dev2"}, {"role": "*"}),
+    "user8": ({"role": "dev2"}, {"role": "*"}),
+    "user9": ({"role": "dev2"}, {"role": "*"}),
+}
+object_assignments = {
+    "vm0": ({"id": "vm0"}, {"id": "*"}), 
+    "vm1": ({"id": "vm1"}, {"id": "*"}),
+    "vm2": ({"id": "vm2"}, {"id": "*"}),
+    "vm3": ({"id": "vm3"}, {"id": "*"}),
+    "vm4": ({"id": "vm4"}, {"id": "*"}),
+    "vm5": ({"id": "vm5"}, {"id": "*"}),
+    "vm6": ({"id": "vm6"}, {"id": "*"}),
+    "vm7": ({"id": "vm7"}, {"id": "*"}),
+    "vm8": ({"id": "vm8"}, {"id": "*"}),
+    "vm9": ({"id": "vm9"}, {"id": "*"}),
+}
+action_assignments = {
+    "start": ({"action-type": "vm-write"}, {"action-type": "*"}),
+    "stop": ({"action-type": "vm-write"}, {"action-type": "*"}),
+    "pause": ({"action-type": "vm-read"}, {"action-type": "*"}),
+    "unpause": ({"action-type": "vm-read"}, {"action-type": "*"}),
+    "destroy": ({"action-type": "vm-write"}, {"action-type": "*"}),
+}
+
+meta_rule = {
+    "rbac": {"id": "", "value": ("role", "id", "action-type")},
+}
+
+rules = {
+    "rbac": (
+        {
+            "rule": ("admin", "vm0", "vm-read"),
+            "instructions": (
+                {"decision": "grant"},
+            )
+        },
+        {
+            "rule": ("admin", "vm0", "vm-write"),
+            "instructions": (
+                {"decision": "grant"},
+            )
+        },
+        # Rules for grant all employee to do read actions to all VM except vm0 
+        {
+            "rule": ("employee", "vm1", "vm-read"),
+            "instructions": (
+                {"decision": "grant"},
+            )
+        },
+        {
+            "rule": ("employee", "vm2", "vm-read"),
+            "instructions": (
+                {"decision": "grant"},
+            )
+        },
+        {
+            "rule": ("employee", "vm3", "vm-read"),
+            "instructions": (
+                {"decision": "grant"},
+            )
+        },
+        {
+            "rule": ("employee", "vm4", "vm-read"),
+            "instructions": (
+                {"decision": "grant"},
+            )
+        },
+        {
+            "rule": ("employee", "vm5", "vm-read"),
+            "instructions": (
+                {"decision": "grant"},
+            )
+        },
+        {
+            "rule": ("employee", "vm6", "vm-read"),
+            "instructions": (
+                {"decision": "grant"},
+            )
+        },
+        {
+            "rule": ("employee", "vm7", "vm-read"),
+            "instructions": (
+                {"decision": "grant"},
+            )
+        },
+        {
+            "rule": ("employee", "vm8", "vm-read"),
+            "instructions": (
+                {"decision": "grant"},
+            )
+        },
+        {
+            "rule": ("employee", "vm9", "vm-read"),
+            "instructions": (
+                {"decision": "grant"},
+            )
+        },
+        # Rules for grant all dev1 to do read actions to some VM
+        {
+            "rule": ("dev1", "vm1", "vm-write"),
+            "instructions": (
+                {"decision": "grant"},
+            )
+        },
+        {
+            "rule": ("dev1", "vm2", "vm-write"),
+            "instructions": (
+                {"decision": "grant"},
+            )
+        },
+        {
+            "rule": ("dev1", "vm3", "vm-write"),
+            "instructions": (
+                {"decision": "grant"},
+            )
+        },
+        {
+            "rule": ("dev1", "vm4", "vm-write"),
+            "instructions": (
+                {"decision": "grant"},
+            )
+        },
+        # Rules for grant all dev2 to do read actions to some VM
+        {
+            "rule": ("dev2", "vm5", "vm-write"),
+            "instructions": (
+                {"decision": "grant"},
+            )
+        },
+        {
+            "rule": ("dev2", "vm6", "vm-write"),
+            "instructions": (
+                {"decision": "grant"},
+            )
+        },
+        {
+            "rule": ("dev2", "vm7", "vm-write"),
+            "instructions": (
+                {"decision": "grant"},
+            )
+        },
+        {
+            "rule": ("dev2", "vm8", "vm-write"),
+            "instructions": (
+                {"decision": "grant"},
+            )
+        },
+        {
+            "rule": ("dev2", "vm9", "vm-write"),
+            "instructions": (
+                {"decision": "grant"},
+            )
+        },
+    )
+}
+
+
diff --git a/moonv4/moon_interface/tests/apitests/scenario/session_large.py b/moonv4/moon_interface/tests/apitests/scenario/session_large.py
new file mode 100644 (file)
index 0000000..5b4a64b
--- /dev/null
@@ -0,0 +1,389 @@
+
+pdp_name = "pdp1"
+policy_name = "Session policy example"
+model_name = "Session"
+policy_genre = "session"
+
+subjects = {
+    "user0": "",
+    "user1": "",
+    "user2": "",
+    "user3": "",
+    "user4": "",
+    "user5": "",
+    "user6": "",
+    "user7": "",
+    "user8": "",
+    "user9": "",
+}
+objects = {"admin": "", "employee": "", "dev1": "", "dev2": "", }
+actions = {"activate": "", "deactivate": ""}
+
+subject_categories = {"subjectid": "", }
+object_categories = {"role": "", }
+action_categories = {"session-action": "", }
+
+subject_data = {"subjectid": {
+    "user0": "",
+    "user1": "",
+    "user2": "",
+    "user3": "",
+    "user4": "",
+    "user5": "",
+    "user6": "",
+    "user7": "",
+    "user8": "",
+    "user9": "",
+}}
+object_data = {"role": {
+    "admin": "",
+    "employee": "",
+    "dev1": "",
+    "dev2": "",
+    "*": ""
+}}
+action_data = {"session-action": {"activate": "", "deactivate": "", "*": ""}}
+
+subject_assignments = {
+    "user0": ({"subjectid": "user0"}, ),
+    "user1": ({"subjectid": "user1"}, ),
+    "user2": ({"subjectid": "user2"}, ),
+    "user3": ({"subjectid": "user3"}, ),
+    "user4": ({"subjectid": "user4"}, ),
+    "user5": ({"subjectid": "user5"}, ),
+    "user6": ({"subjectid": "user6"}, ),
+    "user7": ({"subjectid": "user7"}, ),
+    "user8": ({"subjectid": "user8"}, ),
+    "user9": ({"subjectid": "user9"}, ),
+}
+object_assignments = {"admin": ({"role": "admin"}, {"role": "*"}),
+                      "employee": ({"role": "employee"}, {"role": "*"}),
+                      "dev1": ({"role": "employee"}, {"role": "dev1"}, {"role": "*"}),
+                      "dev2": ({"role": "employee"}, {"role": "dev2"}, {"role": "*"}),
+                      }
+action_assignments = {"activate": ({"session-action": "activate"}, {"session-action": "*"}, ),
+                      "deactivate": ({"session-action": "deactivate"}, {"session-action": "*"}, )
+                      }
+
+meta_rule = {
+    "session": {"id": "", "value": ("subjectid", "role", "session-action")},
+}
+
+rules = {
+    "session": (
+        {
+            "rule": ("user0", "employee", "*"),
+            "instructions": (
+                {
+                    "update": {
+                        "operation": "add",
+                        "target": "rbac:role:admin"  # add the role admin to the current user
+                    }
+                },
+                {"chain": {"name": "rbac"}}  # chain with the meta_rule named rbac
+            )
+        },
+        {
+            "rule": ("user1", "employee", "*"),
+            "instructions": (
+                {
+                    "update": {
+                        "operation": "delete",
+                        "target": "rbac:role:employee"  # delete the role employee from the current user
+                    }
+                },
+                {"chain": {"name": "rbac"}}  # chain with the meta_rule named rbac
+            )
+        },
+        {
+            "rule": ("user2", "employee", "*"),
+            "instructions": (
+                {
+                    "update": {
+                        "operation": "add",
+                        "target": "rbac:role:admin"  # add the role admin to the current user
+                    }
+                },
+                {"chain": {"name": "rbac"}}  # chain with the meta_rule named rbac
+            )
+        },
+        {
+            "rule": ("user2", "dev1", "*"),
+            "instructions": (
+                {
+                    "update": {
+                        "operation": "add",
+                        "target": "rbac:role:admin"  # add the role admin to the current user
+                    }
+                },
+                {"chain": {"name": "rbac"}}  # chain with the meta_rule named rbac
+            )
+        },
+        {
+            "rule": ("user2", "dev2", "*"),
+            "instructions": (
+                {
+                    "update": {
+                        "operation": "add",
+                        "target": "rbac:role:admin"  # add the role admin to the current user
+                    }
+                },
+                {"chain": {"name": "rbac"}}  # chain with the meta_rule named rbac
+            )
+        },
+        {
+            "rule": ("user3", "employee", "*"),
+            "instructions": (
+                {
+                    "update": {
+                        "operation": "add",
+                        "target": "rbac:role:admin"  # add the role admin to the current user
+                    }
+                },
+                {"chain": {"name": "rbac"}}  # chain with the meta_rule named rbac
+            )
+        },
+        {
+            "rule": ("user3", "dev1", "*"),
+            "instructions": (
+                {
+                    "update": {
+                        "operation": "add",
+                        "target": "rbac:role:admin"  # add the role admin to the current user
+                    }
+                },
+                {"chain": {"name": "rbac"}}  # chain with the meta_rule named rbac
+            )
+        },
+        {
+            "rule": ("user3", "dev2", "*"),
+            "instructions": (
+                {
+                    "update": {
+                        "operation": "add",
+                        "target": "rbac:role:admin"  # add the role admin to the current user
+                    }
+                },
+                {"chain": {"name": "rbac"}}  # chain with the meta_rule named rbac
+            )
+        },
+        {
+            "rule": ("user4", "employee", "*"),
+            "instructions": (
+                {
+                    "update": {
+                        "operation": "add",
+                        "target": "rbac:role:admin"  # add the role admin to the current user
+                    }
+                },
+                {"chain": {"name": "rbac"}}  # chain with the meta_rule named rbac
+            )
+        },
+        {
+            "rule": ("user4", "dev1", "*"),
+            "instructions": (
+                {
+                    "update": {
+                        "operation": "add",
+                        "target": "rbac:role:admin"  # add the role admin to the current user
+                    }
+                },
+                {"chain": {"name": "rbac"}}  # chain with the meta_rule named rbac
+            )
+        },
+        {
+            "rule": ("user4", "dev2", "*"),
+            "instructions": (
+                {
+                    "update": {
+                        "operation": "add",
+                        "target": "rbac:role:admin"  # add the role admin to the current user
+                    }
+                },
+                {"chain": {"name": "rbac"}}  # chain with the meta_rule named rbac
+            )
+        },
+        {
+            "rule": ("user5", "employee", "*"),
+            "instructions": (
+                {
+                    "update": {
+                        "operation": "add",
+                        "target": "rbac:role:admin"  # add the role admin to the current user
+                    }
+                },
+                {"chain": {"name": "rbac"}}  # chain with the meta_rule named rbac
+            )
+        },
+        {
+            "rule": ("user5", "dev1", "*"),
+            "instructions": (
+                {
+                    "update": {
+                        "operation": "add",
+                        "target": "rbac:role:admin"  # add the role admin to the current user
+                    }
+                },
+                {"chain": {"name": "rbac"}}  # chain with the meta_rule named rbac
+            )
+        },
+        {
+            "rule": ("user5", "dev2", "*"),
+            "instructions": (
+                {
+                    "update": {
+                        "operation": "add",
+                        "target": "rbac:role:admin"  # add the role admin to the current user
+                    }
+                },
+                {"chain": {"name": "rbac"}}  # chain with the meta_rule named rbac
+            )
+        },
+        {
+            "rule": ("user6", "employee", "*"),
+            "instructions": (
+                {
+                    "update": {
+                        "operation": "add",
+                        "target": "rbac:role:admin"  # add the role admin to the current user
+                    }
+                },
+                {"chain": {"name": "rbac"}}  # chain with the meta_rule named rbac
+            )
+        },
+        {
+            "rule": ("user6", "dev1", "*"),
+            "instructions": (
+                {
+                    "update": {
+                        "operation": "add",
+                        "target": "rbac:role:admin"  # add the role admin to the current user
+                    }
+                },
+                {"chain": {"name": "rbac"}}  # chain with the meta_rule named rbac
+            )
+        },
+        {
+            "rule": ("user6", "dev2", "*"),
+            "instructions": (
+                {
+                    "update": {
+                        "operation": "add",
+                        "target": "rbac:role:admin"  # add the role admin to the current user
+                    }
+                },
+                {"chain": {"name": "rbac"}}  # chain with the meta_rule named rbac
+            )
+        },
+        {
+            "rule": ("user7", "employee", "*"),
+            "instructions": (
+                {
+                    "update": {
+                        "operation": "add",
+                        "target": "rbac:role:admin"  # add the role admin to the current user
+                    }
+                },
+                {"chain": {"name": "rbac"}}  # chain with the meta_rule named rbac
+            )
+        },
+        {
+            "rule": ("user7", "dev1", "*"),
+            "instructions": (
+                {
+                    "update": {
+                        "operation": "add",
+                        "target": "rbac:role:admin"  # add the role admin to the current user
+                    }
+                },
+                {"chain": {"name": "rbac"}}  # chain with the meta_rule named rbac
+            )
+        },
+        {
+            "rule": ("user7", "dev2", "*"),
+            "instructions": (
+                {
+                    "update": {
+                        "operation": "add",
+                        "target": "rbac:role:admin"  # add the role admin to the current user
+                    }
+                },
+                {"chain": {"name": "rbac"}}  # chain with the meta_rule named rbac
+            )
+        },
+        {
+            "rule": ("user8", "employee", "*"),
+            "instructions": (
+                {
+                    "update": {
+                        "operation": "add",
+                        "target": "rbac:role:admin"  # add the role admin to the current user
+                    }
+                },
+                {"chain": {"name": "rbac"}}  # chain with the meta_rule named rbac
+            )
+        },
+        {
+            "rule": ("user8", "dev1", "*"),
+            "instructions": (
+                {
+                    "update": {
+                        "operation": "add",
+                        "target": "rbac:role:admin"  # add the role admin to the current user
+                    }
+                },
+                {"chain": {"name": "rbac"}}  # chain with the meta_rule named rbac
+            )
+        },
+        {
+            "rule": ("user8", "dev2", "*"),
+            "instructions": (
+                {
+                    "update": {
+                        "operation": "add",
+                        "target": "rbac:role:admin"  # add the role admin to the current user
+                    }
+                },
+                {"chain": {"name": "rbac"}}  # chain with the meta_rule named rbac
+            )
+        },
+        {
+            "rule": ("user9", "employee", "*"),
+            "instructions": (
+                {
+                    "update": {
+                        "operation": "add",
+                        "target": "rbac:role:admin"  # add the role admin to the current user
+                    }
+                },
+                {"chain": {"name": "rbac"}}  # chain with the meta_rule named rbac
+            )
+        },
+        {
+            "rule": ("user9", "dev1", "*"),
+            "instructions": (
+                {
+                    "update": {
+                        "operation": "add",
+                        "target": "rbac:role:admin"  # add the role admin to the current user
+                    }
+                },
+                {"chain": {"name": "rbac"}}  # chain with the meta_rule named rbac
+            )
+        },
+        {
+            "rule": ("user9", "dev2", "*"),
+            "instructions": (
+                {
+                    "update": {
+                        "operation": "add",
+                        "target": "rbac:role:admin"  # add the role admin to the current user
+                    }
+                },
+                {"chain": {"name": "rbac"}}  # chain with the meta_rule named rbac
+            )
+        },
+    )
+}
+
+