mirror of
https://github.com/mirror/wget.git
synced 2024-12-28 22:00:27 +08:00
17960b57d5
Getting credentials from .netrc has been broken from time to time, thus adding a test coverage to prevent regressions. Also added setting of "HOME" environment variable when executing wget, to make sure LocalFiles like .netrc, which are created just for the test, are actually used. Signed-off-by: Tomas Hozza <thozza@redhat.com>
67 lines
1.8 KiB
Python
Executable File
67 lines
1.8 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
from sys import exit
|
|
from test.http_test import HTTPTest
|
|
from misc.wget_file import WgetFile
|
|
|
|
"""
|
|
This test ensures Wget uses credentials from .netrc for Basic Authorization Negotiation.
|
|
In this case we test that .netrc credentials are used in case no user
|
|
login and no password is given on the command line.
|
|
Also, we ensure that Wget saves the host after a successful auth and
|
|
doesn't wait for a challenge the second time.
|
|
"""
|
|
############# File Definitions ###############################################
|
|
File1 = "I am an invisble man."
|
|
File2 = "I too am an invisible man."
|
|
|
|
User = "Sauron"
|
|
Password = "TheEye"
|
|
|
|
File1_rules = {
|
|
"Authentication" : {
|
|
"Type" : "Basic",
|
|
"User" : User,
|
|
"Pass" : Password
|
|
}
|
|
}
|
|
File2_rules = {
|
|
"ExpectHeader" : {
|
|
"Authorization" : "Basic U2F1cm9uOlRoZUV5ZQ=="
|
|
}
|
|
}
|
|
|
|
Netrc = "machine 127.0.0.1\n\tlogin {0}\n\tpassword {1}".format(User, Password)
|
|
|
|
A_File = WgetFile ("File1", File1, rules=File1_rules)
|
|
B_File = WgetFile ("File2", File2, rules=File2_rules)
|
|
Netrc_File = WgetFile (".netrc", Netrc)
|
|
|
|
WGET_URLS = [["File1", "File2"]]
|
|
|
|
Files = [[A_File, B_File]]
|
|
LocalFiles = [Netrc_File]
|
|
|
|
ExpectedReturnCode = 0
|
|
ExpectedDownloadedFiles = [A_File, B_File, Netrc_File]
|
|
|
|
################ Pre and Post Test Hooks #####################################
|
|
pre_test = {
|
|
"ServerFiles" : Files,
|
|
"LocalFiles" : LocalFiles
|
|
}
|
|
test_options = {
|
|
"Urls" : WGET_URLS
|
|
}
|
|
post_test = {
|
|
"ExpectedFiles" : ExpectedDownloadedFiles,
|
|
"ExpectedRetcode" : ExpectedReturnCode
|
|
}
|
|
|
|
err = HTTPTest (
|
|
pre_hook=pre_test,
|
|
test_params=test_options,
|
|
post_hook=post_test
|
|
).begin ()
|
|
|
|
exit (err)
|