Merge pull request #5 from YunoHost/permission_protection

Add more test for permission helper
This commit is contained in:
Alexandre Aubin 2020-10-30 14:54:27 +01:00 committed by GitHub
commit 1c35a5881b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 45 additions and 3 deletions

View file

@ -24,6 +24,14 @@
},
"example": "domain.org"
},
{
"name": "domain_2",
"type": "domain",
"ask": {
"en": "Choose a second domain for permissions_app"
},
"example": "domain.org"
},
{
"name": "path",
"type": "path",

View file

@ -13,17 +13,23 @@ ynh_abort_if_errors
# Retrieve arguments
app=$YNH_APP_INSTANCE_NAME
domain=$YNH_APP_ARG_DOMAIN
domain_2=$YNH_APP_ARG_DOMAIN_2
path_url=$(ynh_normalize_url_path $YNH_APP_ARG_PATH)
admin_user=$YNH_APP_ARG_ADMIN
is_public=$YNH_APP_ARG_IS_PUBLIC
ynh_app_setting_set --app $app --key admin_user --value $admin_user
ynh_app_setting_set --app $app --key domain_2 --value $domain_2
# Check domain/path availability
ynh_webpath_available $domain $path_url || ynh_die "$domain$path_url is not available, please use an other domain or path."
ynh_webpath_register $app $domain $path_url
ynh_permission_create --permission "admin" --url "/admin" --allowed "$admin_user"
ynh_permission_create --permission "dev" --url "/dev"
ynh_permission_create --permission "admin" --url "/admin" --allowed "$admin_user" --label "Testing app admin" --protected true --show_tile true --auth_header true
ynh_permission_create --permission "dev" --url "/dev" --additional_urls "/dev2" "/otherdev" "$domain_2/" --protected false --show_tile false --auth_header false
ynh_permission_create --permission "test" --protected false
ynh_permission_create --permission "trybreakssowat_1" --url "re:/break[a-z]*/" --protected false --show_tile true --auth_header true
ynh_permission_create --permission "trybreakssowat_2" --protected false --show_tile true --auth_header true
#=================================================
# SETUP SSOWAT

View file

@ -0,0 +1,28 @@
#!/bin/bash
#=================================================
# GENERIC START
#=================================================
# Source YunoHost helpers
source /usr/share/yunohost/helpers
# Stop script if errors
ynh_abort_if_errors
# Retrieve arguments
app=$YNH_APP_INSTANCE_NAME
admin_user=$(ynh_app_setting_get --app $app --key admin_user)
domain=$(ynh_app_setting_get --app $app --key domain)
domain_2=$(ynh_app_setting_get --app $app --key domain_2)
#=================================================
# UPDATE PERMISSIONS
#=================================================
ynh_permission_update --permission admin --remove $admin_user --show_tile false --protected false
ynh_permission_update --permission dev --add $admin_user --label "New tile" --protected true --show_tile true
ynh_permission_url --permission admin --clear_urls --auth_header false
ynh_permission_url --permission dev --remove_url "$domain_2/" --auth_header true
ynh_permission_url --permission test --url "/mytest" --add_url "/otherTest" "$domain_2/bob"