There are three main files:

permission.py: where all classes are defined like User, Role, ActionType and AccessControl

tests_permissions.py: tests are written

cli.py: basic interactive program on top of permission.py for Role Based Access Control

How to run:

Pycharm:

CLI: Best way is to open this midasblue package as project in pycharm which will automatically setup everything and by clicking one button in cli.py near line 127 interactive shell.

Test: same way click button on line 69

Terminal:

Go to directory midasblue. and run below commands

CLI: python3 cli.py

Test: python3 tests_permissions.py