Skip to content
This repository has been archived by the owner on Nov 21, 2019. It is now read-only.
This repository is currently being migrated. It's locked while the migration is in progress.

Commit

Permalink
low level example usage of new methods for RBAC #40
Browse files Browse the repository at this point in the history
  • Loading branch information
Jim Olsen committed Jun 8, 2018
1 parent cea7d6d commit 1ada2d1
Showing 1 changed file with 53 additions and 32 deletions.
85 changes: 53 additions & 32 deletions EXAMPLES/POC/rbac_examples.py
Original file line number Diff line number Diff line change
@@ -1,39 +1,69 @@
self = handler # noqa
"""creating a user."""
# get rid of all the test users
test_users = [x for x in self.get_all("user") if x.name.startswith("vittles")]
[self.session.delete(x) for x in test_users]

username = "vittles1"
# create a user (basic)
user = handler.create_user("vittles1")
user_object = self.user_create(username)

# create a user that already exists
user = handler.create_user("vittles1")
user_object = self.user_create(username)

# create a user and delete any existing user
user = handler.create_user("vittles1", del_exists=True)
# create a user and delete any existing user and wait the default time before deleting the user (15 seconds)
user_object = self.user_create(username, del_exists=True)

# create a user and delete any existing user without waiting
user = handler.create_user("vittles1", del_exists=True, del_wait=0)
user_object = self.user_create(username, del_exists=True, del_wait=0)

"""delete & recreate user, then set properties for user."""

username = "vittles1"
user_object = self.user_create(username, del_exists=True, del_wait=0)
props = [
{"name": "created by", "value": "pytan v3.0.0 on DATE"},
{"name": "something", "value": "new", "show_console": False, "overwrite": True},
{"name": "foo", "value": "bar"},
]
user_object = self.user_modify_properties(username, props=props)

"""Modifying a users properties."""
# modify the properties of a user, supplying two names that already exist
# with overwrite set on second one, and supplying a third name that doesn't exist
props = [
{"name": "created by", "value": "pytan v3.0.0 on DATE"},
{"name": "something", "value": "new", "show_console": False, "overwrite": True},
{"name": "foo", "value": "bar"},
]
user_object = self.user_modify_properties("vittles7", props=props)
# TODO CHANGE LOGGING LEVEL FOR PROPS ADDED/CHANGED/DELETED

# create a user and provide 1 computer group name
group_names = ["dumdum"]
user = handler.create_user("vittles2", group_names=group_names)
user_object = self.user_create("vittles2", group_names=group_names)

# create a user and provide 2 computer group names
group_names = ["dumdum", "aaaa"]
user = handler.create_user("vittles3", group_names=group_names)
user_object = self.user_create("vittles3", group_names=group_names)

# create a user and provide 3 computer group names
group_names = ["dumdum", "aaaa", "All Computers"]
user = handler.create_user("vittles4", group_names=group_names)
user_object = self.user_create("vittles4", group_names=group_names)

# create a user and provide 2 good computer group names and 1 bad one
group_names = ["dumdum", "aaaa", "bad group name"]
user = handler.create_user("vittles5", group_names=group_names)
user_object = self.user_create("vittles5", group_names=group_names)

# create a user, provide 1 computer group name,
# 1 property to show in console, and 1 property to hide from console (only visible via API)
props = [
{"name": "created by", "value": "pytan v3.0.0"},
{"name": "something", "value": "else", "show_console": False},
]
group_names = ["dumdum"]
user = handler.create_user("vittles6", group_names=group_names, props=props)
# group_names = ["dumdum"]
# user_object = self.user_create("vittles6", group_names=group_names, props=props, del_exists=True, del_wait=0)
user_object = self.mod_user_props("vittles6", props=props)

# create a user, provide 1 computer group name,
# 1 property to show in console, and 1 property to hide from console (only visible via API),
Expand All @@ -47,50 +77,41 @@
"Discover User",
]
group_names = ["dumdum"]
user = handler.create_user("vittles7", group_names=group_names, props=props, roles=roles)

# modify the properties of a user, supplying two names that already exist
# with overwrite set on second one, and supplying a third name that doesn't exist
props = [
{"name": "created by", "value": "pytan v3.0.0 on DATE"},
{"name": "something", "value": "new", "show_console": False, "overwrite": True},
{"name": "foo", "value": "bar"},
]
user = handler.mod_user_props("vittles7", props=props)
user_object = self.user_create("vittles7", group_names=group_names, props=props, roles=roles)

# create a user, provide 1 valid role name and 1 invalid role name
# user will be created, but without any roles
roles = [
"Content Administrator",
"No Such Roller, baller",
]
user = handler.create_user("vittles8", roles=roles)
print(user.hasroles._info())
print(user.notroles._info())
user_object = self.user_create("vittles8", roles=roles)
print(user_object.hasroles._info())
print(user_object.notroles._info())

# modify a users roles, adding 3 roles
roles = ["Discover User", "Content Administrator", "Administrator"]
user = handler.mod_user_roles("vittles8", add_roles=roles)
user_object = self.mod_user_roles("vittles8", add_roles=roles)

# modify a users roles, removing all roles
user = handler.mod_user_roles("vittles8", del_all_roles=True)
user_object = self.mod_user_roles("vittles8", del_all_roles=True)

# modify a users roles, adding 1 new one
roles = ["Discover User"]
user = handler.mod_user_roles("vittles8", add_roles=roles)
user_object = self.mod_user_roles("vittles8", add_roles=roles)

# modify a users roles, adding one that user already has
roles = ["Discover User"]
user = handler.mod_user_roles("vittles8", add_roles=roles)
user_object = self.mod_user_roles("vittles8", add_roles=roles)

# modify a users roles, removing one that user already has
roles = ["Discover User"]
user = handler.mod_user_roles("vittles8", del_roles=roles)
user_object = self.mod_user_roles("vittles8", del_roles=roles)

# modify a users roles, removing one that user does not have
roles = ["Discover User"]
user = handler.mod_user_roles("vittles8", del_roles=roles)
user_object = self.mod_user_roles("vittles8", del_roles=roles)

# get rid of all the test users
test_users = [x for x in handler.get_all("user") if x.name.startswith("vittles")]
[handler.session.delete(x) for x in test_users]
test_users = [x for x in self.get_all("user") if x.name.startswith("vittles")]
[self.session.delete(x) for x in test_users]

0 comments on commit 1ada2d1

Please sign in to comment.