2 # Blackbox test for wbinfo
5 Usage: test_wbinfo.sh DOMAIN USERNAME PASSWORD TARGET
17 samba4bindir=`dirname $0`/../../source/bin
18 wbinfo=$samba4bindir/wbinfo
27 if [ x$status = x0 ]; then
42 if [ x$status = x0 ]; then
57 if [ x$status = x0 ]; then
58 echo "failure: $name [unexpected success]"
60 echo "knownfail: $name"
66 testit "wbinfo -u against $TARGET" $wbinfo -u || failed=`expr $failed + 1`
68 knownfail "wbinfo -g against $TARGET" $wbinfo -g || failed=`expr $failed + 1`
69 knownfail "wbinfo -N against $TARGET" $wbinfo -N || failed=`expr $failed + 1`
70 knownfail "wbinfo -I against $TARGET" $wbinfo -I || failed=`expr $failed + 1`
71 testit "wbinfo -n against $TARGET" $wbinfo -n "$DOMAIN/$USERNAME" || failed=`expr $failed + 1`
72 admin_sid=`$wbinfo -n "$DOMAIN/$USERNAME" | cut -d " " -f1`
73 echo "$DOMAIN/$USERNAME resolved to $admin_sid"
75 testit "wbinfo -s $admin_sid against $TARGET" $wbinfo -s $admin_sid || failed=`expr $failed + 1`
76 admin_name=`wbinfo -s $admin_sid | cut -d " " -f1| tr a-z A-Z`
77 echo "$admin_sid resolved to $admin_name"
79 tested_name=`echo $DOMAIN/$USERNAME | tr a-z A-Z`
81 echo "test: wbinfo -s check for sane mapping"
82 if test x$admin_name != x$tested_name; then
83 echo "$admin_name does not match $tested_name"
84 echo "failure: wbinfo -s check for sane mapping"
85 failed=`expr $failed + 1`
87 echo "success: wbinfo -s check for sane mapping"
90 testit "wbinfo -n on the returned name against $TARGET" $wbinfo -n $admin_name || failed=`expr $failed + 1`
91 test_sid=`$wbinfo -n $tested_name | cut -d " " -f1`
93 echo "test: wbinfo -n check for sane mapping"
94 if test x$admin_sid != x$test_sid; then
95 echo "$admin_sid does not match $test_sid"
96 echo "failure: wbinfo -n check for sane mapping"
97 failed=`expr $failed + 1`
99 echo "success: wbinfo -n check for sane mapping"
102 testit "wbinfo -U against $TARGET" $wbinfo -U 30000 || failed=`expr $failed + 1`
104 echo "test: wbinfo -U check for sane mapping"
105 sid_for_30000=`$wbinfo -U 30000`
106 if test x$sid_for_30000 != "xS-1-22-1-30000"; then
107 echo "uid 30000 mapped to $sid_for_30000, not S-1-22-1-30000"
108 echo "failure: wbinfo -U check for sane mapping"
109 failed=`expr $failed + 1`
111 echo "success: wbinfo -U check for sane mapping"
114 admin_uid=`wbinfo -U $admin_sid`
116 testit "wbinfo -G against $TARGET" $wbinfo -G 30000 || failed=`expr $failed + 1`
118 echo "test: wbinfo -G check for sane mapping"
119 sid_for_30000=`$wbinfo -G 30000`
120 if test x$sid_for_30000 != "xS-1-22-2-30000"; then
121 echo "gid 30000 mapped to $sid_for_30000, not S-1-22-2-30000"
122 echo "failure: wbinfo -G check for sane mapping"
123 failed=`expr $failed + 1`
125 echo "success: wbinfo -G check for sane mapping"
128 testit "wbinfo -S against $TARGET" $wbinfo -S "S-1-22-1-30000" || failed=`expr $failed + 1`
130 echo "test: wbinfo -S check for sane mapping"
131 uid_for_sid=`$wbinfo -S S-1-22-1-30000`
132 if test 0$uid_for_sid -ne 30000; then
133 echo "S-1-22-1-30000 mapped to $uid_for_sid, not 30000"
134 echo "failure: wbinfo -S check for sane mapping"
135 failed=`expr $failed + 1`
137 echo "success: wbinfo -S check for sane mapping"
140 testfail "wbinfo -S against $TARGET using invalid SID" $wbinfo -S "S-1-22-2-30000" && failed=`expr $failed + 1`
142 testit "wbinfo -Y against $TARGET" $wbinfo -Y "S-1-22-2-30000" || failed=`expr $failed + 1`
144 echo "test: wbinfo -Y check for sane mapping"
145 gid_for_sid=`$wbinfo -Y S-1-22-2-30000`
146 if test 0$gid_for_sid -ne 30000; then
147 echo "S-1-22-2-30000 mapped to $gid_for_sid, not 30000"
148 echo "failure: wbinfo -Y check for sane mapping"
149 failed=`expr $failed + 1`
151 echo "success: wbinfo -Y check for sane mapping"
154 testfail "wbinfo -Y against $TARGET using invalid SID" $wbinfo -Y "S-1-22-1-30000" && failed=`expr $failed + 1`
156 testit "wbinfo -t against $TARGET" $wbinfo -t || failed=`expr $failed + 1`
159 knownfail "wbinfo -m against $TARGET" $wbinfo -m || failed=`expr $failed + 1`
160 knownfail "wbinfo --all-domains against $TARGET" $wbinfo --all-domains || failed=`expr $failed + 1`
161 testit "wbinfo --own-domain against $TARGET" $wbinfo --own-domain || failed=`expr $failed + 1`
163 echo "test: wbinfo --own-domain against $TARGET check output"
164 own_domain=`wbinfo --own-domain`
165 if test x$own_domain = x$DOMAIN; then
166 echo "success: wbinfo --own-domain against $TARGET check output"
168 echo "Own domain reported as $own_domain instead of $DOMAIN"
169 echo "failure: wbinfo --own-domain against $TARGET check output"
173 knownfail "wbinfo --sequence against $TARGET" $wbinfo --sequence
174 knownfail "wbinfo -D against $TARGET" $wbinfo -D $DOMAIN || failed=`expr $failed + 1`
176 testit "wbinfo -i against $TARGET" $wbinfo -i "$DOMAIN/$USERNAME" || failed=`expr $failed + 1`
179 knownfail "wbinfo --uid-info against $TARGET" $wbinfo --uid-info $admin_sid
180 knownfail "wbinfo --group-info against $TARGET" $wbinfo --group-info "S-1-22-2-0"
181 knownfail "wbinfo -r against $TARGET" $wbinfo "$DOMAIN/$USERNAME"
183 testit "wbinfo --user-domgroups against $TARGET" $wbinfo --user-domgroups $admin_sid || failed=`expr $failed + 1`
185 testit "wbinfo --user-sids against $TARGET" $wbinfo --user-sids $admin_sid || failed=`expr $failed + 1`
187 testit "wbinfo -a against $TARGET with domain creds" $wbinfo -a "$DOMAIN/$USERNAME"%"$PASSWORD" || failed=`expr $failed + 1`
190 knwonfail "wbinfo --getdcname against $TARGET" $wbinfo --getdcname=$DOMAIN
192 testit "wbinfo -p against $TARGET" $wbinfo -p || failed=`expr $failed + 1`
194 testit "wbinfo -K against $TARGET with domain creds" $wbinfo -K "$DOMAIN/$USERNAME"%"$PASSWORD" || failed=`expr $failed + 1`
196 testit "wbinfo --separator against $TARGET" $wbinfo --separator || failed=`expr $failed + 1`