Ejemplo n.º 1
0
 def clean_input(cls, info, instance, data):
     cleaned_input = super().clean_input(info, instance, data)
     # clean and prepare permissions
     if "permissions" in cleaned_input:
         permissions = cleaned_input.pop("permissions")
         cleaned_input["permissions"] = get_permissions(permissions)
     return cleaned_input
def test_createaccount_command_service_account_has_all_required_permissions():
    name = "SA name"
    permission_list = ["account.manage_users", "order.manage_orders"]
    expected_permission = get_permissions(permission_list)
    call_command("createserviceaccount", name, permission=permission_list)

    sa_accounts = ServiceAccount.objects.filter(name=name)
    assert len(sa_accounts) == 1
    sa_account = sa_accounts[0]
    assert set(sa_account.permissions.all()) == set(expected_permission)
def test_app_has_all_required_permissions():
    name = "SA name"
    permission_list = ["account.manage_users", "order.manage_orders"]
    expected_permission = get_permissions(permission_list)
    call_command("create_app", name, permission=permission_list)

    apps = App.objects.filter(name=name)
    assert len(apps) == 1
    app = apps[0]
    assert set(app.permissions.all()) == set(expected_permission)
Ejemplo n.º 4
0
def clean_permissions(required_permissions: List[str]):
    all_permissions = {
        perm[0]: perm[1]
        for perm in get_permissions_enum_list()
    }
    for perm in required_permissions:
        if not all_permissions.get(perm):
            raise CommandError(f"Permission: {perm} doesn't exist in Saleor."
                               f" Available permissions: {all_permissions}")
    permissions = get_permissions(
        [all_permissions[perm] for perm in required_permissions])
    return permissions