s3:tests: Add a subsitution test for %D %u %g
authorAndreas Schneider <asn@samba.org>
Wed, 15 Mar 2017 11:37:08 +0000 (12:37 +0100)
committerJeremy Allison <jra@samba.org>
Wed, 29 Mar 2017 22:33:13 +0000 (00:33 +0200)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12699

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
selftest/target/Samba3.pm
source3/script/tests/test_substitutions.sh

index 354f1527a705ff7822608776f159bd58a86614c8..a3ab56c47c13ec6feaafb17ae1d8539f221931be 100755 (executable)
@@ -394,16 +394,33 @@ sub setup_admember($$$$)
        $substitution_path = "$share_dir/D_SAMBADOMAIN/U_alice/G_domain users";
        push(@dirs, $substitution_path);
 
+       # Using '/' as the winbind separator is a bad idea ...
+       $substitution_path = "$share_dir/D_SAMBADOMAIN/u_SAMBADOMAIN";
+       push(@dirs, $substitution_path);
+
+       $substitution_path = "$share_dir/D_SAMBADOMAIN/u_SAMBADOMAIN/alice";
+       push(@dirs, $substitution_path);
+
+       $substitution_path = "$share_dir/D_SAMBADOMAIN/u_SAMBADOMAIN/alice/g_SAMBADOMAIN";
+       push(@dirs, $substitution_path);
+
+       $substitution_path = "$share_dir/D_SAMBADOMAIN/u_SAMBADOMAIN/alice/g_SAMBADOMAIN/domain users";
+       push(@dirs, $substitution_path);
+
        my $member_options = "
        security = ads
         workgroup = $dcvars->{DOMAIN}
         realm = $dcvars->{REALM}
         netbios aliases = foo bar
 
-[subDUG]
+[sub_dug]
        path = $share_dir/D_%D/U_%U/G_%G
        writeable = yes
 
+[sub_dug2]
+       path = $share_dir/D_%D/u_%u/g_%g
+       writeable = yes
+
 ";
 
        my $ret = $self->provision($prefix,
index 0852ad969f02ae7b8f6c83aab996f92e72be3f55..1a46f11c85d2d5b25d8974ddffddd56c71195ddb 100755 (executable)
@@ -24,9 +24,14 @@ smbclient="$samba_bindir/smbclient"
 . $samba_srcdir/testprogs/blackbox/subunit.sh
 . $samba_srcdir/testprogs/blackbox/common_test_fns.inc
 
-SMB_UNC="//$SERVER/subDUG"
+SMB_UNC="//$SERVER/sub_dug"
 
-test_smbclient "Test login to share with substitution" \
+test_smbclient "Test login to share with substitution (DUG)" \
+       "ls" "$SMB_UNC" "-U$USERNAME%$PASSWORD" || failed=$(expr $failed + 1)
+
+SMB_UNC="//$SERVER/sub_dug2"
+
+test_smbclient "Test login to share with substitution (Dug)" \
        "ls" "$SMB_UNC" "-U$USERNAME%$PASSWORD" || failed=$(expr $failed + 1)
 
 exit $failed