_news__check_permissions (private)

 _news__check_permissions

Defined in packages/news/tcl/test/news-db-test-init.tcl

Partial Call Graph (max 5 caller/called nodes):
%3 aa_log aa_log (public) aa_log_result aa_log_result (public) aa_true aa_true (public) acs_magic_object acs_magic_object (public) db_foreach db_foreach (public) _news__check_permissions _news__check_permissions _news__check_permissions->aa_log _news__check_permissions->aa_log_result _news__check_permissions->aa_true _news__check_permissions->acs_magic_object _news__check_permissions->db_foreach

Testcases:
No testcase defined.
Source code:
        
        set _aa_export {}
        set body_count 1
        foreach testcase_body {{
    #
    # Extract the list of all privileges and privilege hierarchies.
    #
    set priv_list {}
    db_foreach get-privileges {
        select privilege from acs_privileges
    } {
        lappend priv_list $privilege
    }

    set priv_h_list {}
    db_foreach get-privilege-hierarchies {
        select privilege, child_privilege from acs_privilege_hierarchy
    } {
        lappend priv_h_list "$privilege,$child_privilege"
    }

    aa_log "Check the news privileges exist"
    foreach priv {news_read news_create news_delete news_admin} {
        aa_true "Check $priv privilege exists" {[lsearch $priv_list $priv] != -1}
    }

    aa_log "Check the news privilege hierarchies are correct"
    foreach priv_pair {"read,news_read"
        "delete,news_delete"
        "news_admin,news_read"
        "news_admin,news_create"
        "news_admin,news_delete"
        "admin,news_admin"} {
        aa_true "Check $priv_pair privilege exists" {[lsearch $priv_h_list $priv_pair] != -1}
    }

    #
    # Now check that correct groups have the right privileges.
    #
    set registered_users_id [acs_magic_object registered_users]
    set the_public_id       [acs_magic_object the_public]

    aa_log "Check the correct groups have the right privileges."
    aa_true "Check public have news_read privilege"  [permission::permission_p -object_id $the_public_id -privilege news_read]
    aa_true "Check registered_users have news_create privilege"  [permission::permission_p -object_id $registered_users_id -privilege news_read]
}} {
          aa_log "Running testcase body $body_count"
          set ::__aa_test_indent [info level]
          set catch_val [catch $testcase_body msg]
          if {$catch_val != 0 && $catch_val != 2} {
              aa_log_result "fail" "check_permissions (body $body_count): Error during execution: $msg, stack trace: \n$::errorInfo"
          }
          incr body_count
        }
Generic XQL file:
packages/news/tcl/test/news-db-test-init.xql

PostgreSQL XQL file:
packages/news/tcl/test/news-db-test-init-postgresql.xql

Oracle XQL file:
packages/news/tcl/test/news-db-test-init-oracle.xql

[ hide source ] | [ make this the default ]
Show another procedure: