You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2015/03/11 16:45:54 UTC
svn commit: r1665907 -
/subversion/trunk/subversion/tests/cmdline/basic_tests.py
Author: stsp
Date: Wed Mar 11 15:45:54 2015
New Revision: 1665907
URL: http://svn.apache.org/r1665907
Log:
Add a regression test for the store-plaintext-passwords=no option.
This feature was briefly broken by accident between r1664078 and r1665886.
* subversion/tests/cmdline/basic_tests.py
(plaintext_password_storage_disabled, test_list): New test.
Modified:
subversion/trunk/subversion/tests/cmdline/basic_tests.py
Modified: subversion/trunk/subversion/tests/cmdline/basic_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/basic_tests.py?rev=1665907&r1=1665906&r2=1665907&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/basic_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/basic_tests.py Wed Mar 11 15:45:54 2015
@@ -3073,6 +3073,47 @@ def mkdir_parents_target_exists_on_disk(
svntest.actions.run_and_verify_status(wc_dir, expected_status)
+@Skip(svntest.main.is_ra_type_file)
+def plaintext_password_storage_disabled(sbox):
+ "test store-plaintext-passwords = no"
+
+ sbox.build()
+
+ wc_dir = sbox.wc_dir
+ sbox.simple_append("iota", "New content for iota.")
+
+ config_dir_path = sbox.get_tempname(prefix="config-dir")
+ os.mkdir(config_dir_path)
+
+ # disable all encryped password stores
+ config_file = file(os.path.join(config_dir_path, "config"), "w")
+ config_file.write("[auth]\npassword-stores =\n")
+ config_file.close()
+
+ # disable plaintext password storage
+ servers_file = file(os.path.join(config_dir_path, "servers"), "w")
+ servers_file.write("[global]\nstore-plaintext-passwords=no\n")
+ servers_file.close()
+
+ svntest.main.run_command(svntest.main.svn_binary, False, False,
+ "commit", "--config-dir", config_dir_path,
+ "-m", "committing with plaintext password storage disabled",
+ "--username", svntest.main.wc_author,
+ "--password", svntest.main.wc_passwd,
+ wc_dir)
+
+ # Verify that the password was not stored in plaintext
+ for root, dirs, files, in os.walk(os.path.join(config_dir_path, "auth")):
+ for file_name in files:
+ path = os.path.join(root, file_name)
+ f = file(path, "r")
+ for line in f.readlines():
+ if svntest.main.wc_passwd in line:
+ f.close()
+ raise svntest.Failure("password was found in '%s'" % path)
+ f.close()
+
+
########################################################################
# Run the tests
@@ -3142,6 +3183,7 @@ test_list = [ None,
delete_conflicts_one_of_many,
peg_rev_on_non_existent_wc_path,
mkdir_parents_target_exists_on_disk,
+ plaintext_password_storage_disabled,
]
if __name__ == '__main__':