⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 authz_tests.py

📁 subversion-1.4.3-1.tar.gz 配置svn的源码
💻 PY
📖 第 1 页 / 共 3 页
字号:
  svntest.actions.run_and_verify_svn("",                                     None, expected_err,                                     'ls',                                     '--username', svntest.main.wc_author,                                     '--password', svntest.main.wc_passwd,                                     E_url)  # copy a remote file  svntest.actions.run_and_verify_svn("", None, [], 'cp',                                     '--username', svntest.main.wc_author,                                     '--password', svntest.main.wc_passwd,                                     iota_url, D_url,                                     '-m', 'logmsg')  # copy a remote file, source is unreadable: should fail  svntest.actions.run_and_verify_svn("",                                     None, expected_err,                                     'cp',                                     '--username', svntest.main.wc_author,                                     '--password', svntest.main.wc_passwd,                                     '-m', 'logmsg',                                     lambda_url, D_url)  # copy a remote folder  svntest.actions.run_and_verify_svn("", None, [], 'cp',                                     '--username', svntest.main.wc_author,                                     '--password', svntest.main.wc_passwd,                                     C_url, D_url,                                     '-m', 'logmsg')  # copy a remote folder, source is unreadable: should fail  svntest.actions.run_and_verify_svn("",                                     None, expected_err,                                     'cp',                                     '--username', svntest.main.wc_author,                                     '--password', svntest.main.wc_passwd,                                     '-m', 'logmsg',                                     E_url, D_url)# test whether write access is correctly granted and denieddef authz_write_access(sbox):  "test authz for write operations"    skip_test_when_no_authz_available()    sbox.build("authz_write_access", create_wc = False)    write_restrictive_svnserve_conf(svntest.main.current_repo_dir)  fp = open(sbox.authz_file, 'w')    # For mod_dav_svn's parent path setup we need per-repos permissions in  # the authz file...  if sbox.repo_url.startswith('http'):    fp.write("[authz_write_access:/]\n" +             "* = r\n" +             "\n" +             "[authz_write_access:/A/B]\n" +             "* = rw\n" +             "\n" +             "[authz_write_access:/A/C]\n" +             "* = rw")    expected_err = ".*403 Forbidden.*"  # Otherwise we can just go with the permissions needed for the source  # repository.  else:    fp.write("[/]\n" +             "* = r\n" +             "[/A/B]\n" +             "* = rw\n" +             "[/A/C]\n" +             "* = rw\n")    expected_err = ".*svn: Access denied.*"  fp.close()    root_url = svntest.main.current_repo_url  A_url = root_url + '/A'  B_url = A_url + '/B'  C_url = A_url + '/C'  E_url = B_url + '/E'  mu_url = A_url + '/mu'  iota_url = root_url + '/iota'  lambda_url = B_url + '/lambda'  D_url = A_url + '/D'    # copy a remote file, target is readonly: should fail  svntest.actions.run_and_verify_svn("",                                     None, expected_err,                                     'cp',                                     '--username', svntest.main.wc_author,                                     '--password', svntest.main.wc_passwd,                                     '-m', 'logmsg',                                     lambda_url, D_url)  # copy a remote folder, target is readonly: should fail  svntest.actions.run_and_verify_svn("",                                     None, expected_err,                                     'cp',                                     '--username', svntest.main.wc_author,                                     '--password', svntest.main.wc_passwd,                                     '-m', 'logmsg',                                     E_url, D_url)  # delete a file, target is readonly: should fail  svntest.actions.run_and_verify_svn("",                                     None, expected_err,                                     'rm',                                     '--username', svntest.main.wc_author,                                     '--password', svntest.main.wc_passwd,                                     '-m', 'logmsg',                                     iota_url)  # delete a folder, target is readonly: should fail  svntest.actions.run_and_verify_svn("",                                     None, expected_err,                                     'rm',                                     '--username', svntest.main.wc_author,                                     '--password', svntest.main.wc_passwd,                                     '-m', 'logmsg',                                     D_url)  # create a folder, target is readonly: should fail  svntest.actions.run_and_verify_svn("",                                     None, expected_err,                                     'mkdir',                                     '--username', svntest.main.wc_author,                                     '--password', svntest.main.wc_passwd,                                     '-m', 'logmsg',                                     A_url+'/newfolder')  # move a remote file, source is readonly: should fail  svntest.actions.run_and_verify_svn("",                                     None, expected_err,                                     'mv',                                     '--username', svntest.main.wc_author,                                     '--password', svntest.main.wc_passwd,                                     '-m', 'logmsg',                                     mu_url, C_url)  # move a remote folder, source is readonly: should fail  svntest.actions.run_and_verify_svn("",                                     None, expected_err,                                     'mv',                                     '--username', svntest.main.wc_author,                                     '--password', svntest.main.wc_passwd,                                     '-m', 'logmsg',                                     D_url, C_url)  # move a remote file, target is readonly: should fail  svntest.actions.run_and_verify_svn("",                                     None, expected_err,                                     'mv',                                     '--username', svntest.main.wc_author,                                     '--password', svntest.main.wc_passwd,                                     '-m', 'logmsg',                                     lambda_url, D_url)  # move a remote folder, target is readonly: should fail  svntest.actions.run_and_verify_svn("",                                     None, expected_err,                                     'mv',                                     '--username', svntest.main.wc_author,                                     '--password', svntest.main.wc_passwd,                                     '-m', 'logmsg',                                     B_url, D_url)  if sbox.repo_url.startswith('svn'):    expected_err = ".*svn: Authorization failed.*"      # lock a file, target is readonly: should fail  svntest.actions.run_and_verify_svn("",                                     None, expected_err,                                     'lock',                                     '--username', svntest.main.wc_author,                                     '--password', svntest.main.wc_passwd,                                     '-m', 'lock msg',                                     iota_url)#----------------------------------------------------------------------def authz_checkout_test(sbox):  "test authz for checkout"  skip_test_when_no_authz_available()  sbox.build("authz_checkout_test", create_wc = False)  local_dir = sbox.wc_dir  write_restrictive_svnserve_conf(svntest.main.current_repo_dir)  # 1st part: disable all read access, checkout should fail    # write an authz file with *= on /  fp = open(sbox.authz_file, 'w')  if sbox.repo_url.startswith('http'):    fp.write("[authz_checkout_test:/]\n" +             "* =\n")    expected_err = ".*403 Forbidden.*"  else:    fp.write("[/]\n" +             "* =\n")    expected_err = ".*svn: Authorization failed.*"           fp.close()    # checkout a working copy, should fail  svntest.actions.run_and_verify_svn(None, None, expected_err,                                     'co', sbox.repo_url, local_dir)                            # 2nd part: now enable read access    # write an authz file with *=r on /  fp = open(sbox.authz_file, 'w')  if sbox.repo_url.startswith('http'):    fp.write("[authz_checkout_test:/]\n" +             "* = r\n")    expected_err = ".*403 Forbidden.*"  else:    fp.write("[/]\n" +             "* = r\n")    expected_err = ".*svn: Authorization failed.*"           fp.close()    # checkout a working copy, should succeed because we have read access  expected_output = svntest.main.greek_state.copy()  expected_output.wc_dir = local_dir  expected_output.tweak(status='A ', contents=None)  expected_wc = svntest.main.greek_state    svntest.actions.run_and_verify_checkout(sbox.repo_url,                          local_dir,                          expected_output,                          expected_wc)def authz_checkout_and_update_test(sbox):  "test authz for checkout and update"  skip_test_when_no_authz_available()  sbox.build("authz_checkout_and_update_test", create_wc = False)  local_dir = sbox.wc_dir  write_restrictive_svnserve_conf(svntest.main.current_repo_dir)  # 1st part: disable read access on folder A/B, checkout should not  # download this folder    # write an authz file with *= on /A/B  fp = open(sbox.authz_file, 'w')  if sbox.repo_url.startswith('http'):    fp.write("[authz_checkout_and_update_test:/]\n" +             "* = r\n" +             "[authz_checkout_and_update_test:/A/B]\n" +             "* =\n")  else:    fp.write("[/]\n" +             "* = r\n" +             "[/A/B]\n" +             "* =\n")           fp.close()    # checkout a working copy, should not dl /A/B  expected_output = svntest.main.greek_state.copy()  expected_output.wc_dir = local_dir  expected_output.tweak(status='A ', contents=None)  expected_output.remove('A/B', 'A/B/lambda', 'A/B/E', 'A/B/E/alpha',                          'A/B/E/beta', 'A/B/F')    expected_wc = svntest.main.greek_state.copy()  expected_wc.remove('A/B', 'A/B/lambda', 'A/B/E', 'A/B/E/alpha',                      'A/B/E/beta', 'A/B/F')    svntest.actions.run_and_verify_checkout(sbox.repo_url, local_dir,                                           expected_output,                                          expected_wc)    # 2nd part: now enable read access    # write an authz file with *=r on /  fp = open(sbox.authz_file, 'w')  if sbox.repo_url.startswith('http'):

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -