Posted to tcl by apn at Sat May 24 10:36:17 GMT 2014view pretty

    test get_global_group_members-1.0 {
        Get members of a global group
    } -body {
        twapi::get_global_group_members None
    } -result [list $guest_account_name $administrator_account_name] -match superset


    test get_global_group_members-2.0 {
        Get members of a global group (-system)
    } -body {
        twapi::get_global_group_members None -system 127.0.0.1
    } -result [list $guest_account_name $administrator_account_name] -match superset


    test get_global_group_members-2.1 {
        Get members of a global group (-system, remote)
    } -constraints {
        domain
    } -body {
        twapi::get_global_group_members "Domain Admins" -system [testconfig domain_controller]
    } -result [list $administrator_account_name] -match superset

    test get_global_group_members-3.0 {
        Get members of a global group -level 0
    } -body {
        set kl [twapi::get_global_group_members None -level 0]
        verify_recordarray $kl {-name}
        valid_account_names [twapi::recordarray column $kl -name]
    } -result 1

    test get_global_group_members-3.1 {
        Get members of a global group -level 1
    } -body {
        set kl [twapi::get_global_group_members None -level 1]
        verify_recordarray $kl {-name -attributes}
        valid_account_names [twapi::recordarray column $kl -name]
    } -result 1


    test get_global_group_members-4.0 {
        Get members of a global group -resume -system
    } -constraints {
        systemmodificationok domain
    } -setup {
        set dc [testconfig domain_controller]
        set naccounts [populate_accounts $dc]
        # Reduce buffer size so more than one iteration is required
        twapi::Twapi_SetNetEnumBufSize 8000
    } -body {
        set iters 0
        set more 1
        set resumehandle 0
        set valid_accounts 1
        set total 0
        while {$more} {
            foreach {more resumehandle count accounts} [twapi::get_global_group_members "Domain Users" -resume $resumehandle -system $dc] break
            incr iters
            incr total [llength $accounts]
            set valid_accounts [expr {$valid_accounts & [valid_account_names $accounts $dc]}]
        }
        list [expr {$iters > 1}] $valid_accounts [expr {$total > $naccounts}]

    } -cleanup {
        twapi::Twapi_SetNetEnumBufSize -1; # Reset buffer size
        # User accounts deleted in general cleanup
    } -result {1 1 1} 

    test get_global_group_members-5.0 {
        Get members of a global group -resume -level -system
    } -constraints {
        systemmodificationok domain
    } -setup {
        set dc [testconfig domain_controller]
        set naccounts [populate_accounts $dc]
        # Reduce buffer size so more than one iteration is required
        twapi::Twapi_SetNetEnumBufSize 8000
    } -body {
        set iters 0
        set more 1
        set resumehandle 0
        set valid_accounts 1
        set total 0
        while {$more} {
            foreach {more resumehandle count accounts} [twapi::get_global_group_members "Domain Users" -resume $resumehandle -level 1 -system $dc] break
            verify_recordarray $accounts {-name -attributes}
            incr iters
            incr total [twapi::recordarray size $accounts]
            set valid_accounts [expr {$valid_accounts & [valid_account_names [twapi::recordarray column $accounts -name] $dc]}]
        }
        list [expr {$iters > 1}] $valid_accounts [expr {$total > $naccounts}]
    } -cleanup {
        twapi::Twapi_SetNetEnumBufSize -1; # Reset buffer size
        # User accounts deleted in general cleanup
    } -result {1 1 1}