mirror of
https://github.com/mirror/wget.git
synced 2024-12-29 06:21:23 +08:00
03f8babefe
Some command line switches are passed to Wget unconditionally. These switches should exist in a single place instead of being redundantly defined in each test file. We add the following two switches by default here: 1. --debug: This causes wget to be most verbose and output a lot of debugging information. Hence, if a test fails, the test log should provide valuable information. 2. --no-config: Users may have their own wgetrc files on the system. However, for the tests, we want Wget to run with vanilla settings. Hence, disbale loading any config files.
78 lines
2.0 KiB
Python
Executable File
78 lines
2.0 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's Basic Authorization Negotiation.
|
|
Also, we ensure that Wget saves the host after a successfull auth and
|
|
doesn't wait for a challenge the second time.
|
|
"""
|
|
TEST_NAME = "Multiple authentication support"
|
|
############# File Definitions ###############################################
|
|
File1 = "Would you like some Tea?"
|
|
File2 = "With lemon or cream?"
|
|
File3 = "Sure you're joking Mr. Feynman"
|
|
|
|
File1_rules = {
|
|
"Authentication" : {
|
|
"Type" : "Both",
|
|
"User" : "Sauron",
|
|
"Pass" : "TheEye"
|
|
},
|
|
"RejectHeader" : {
|
|
"Authorization" : "Basic U2F1cm9uOlRoZUV5ZQ=="
|
|
}
|
|
}
|
|
File2_rules = {
|
|
"Authentication" : {
|
|
"Type" : "Both_inline",
|
|
"User" : "Sauron",
|
|
"Pass" : "TheEye"
|
|
},
|
|
"RejectHeader" : {
|
|
"Authorization" : "Basic U2F1cm9uOlRoZUV5ZQ=="
|
|
}
|
|
}
|
|
File3_rules = {
|
|
"Authentication" : {
|
|
"Type" : "Digest",
|
|
"User" : "Sauron",
|
|
"Pass" : "TheEye"
|
|
}
|
|
}
|
|
|
|
A_File = WgetFile ("File1", File1, rules=File1_rules)
|
|
B_File = WgetFile ("File2", File2, rules=File2_rules)
|
|
C_File = WgetFile ("File3", File3, rules=File3_rules)
|
|
|
|
WGET_OPTIONS = "--user=Sauron --password=TheEye"
|
|
WGET_URLS = [["File1", "File2", "File3"]]
|
|
|
|
Files = [[A_File, B_File, C_File]]
|
|
|
|
ExpectedReturnCode = 0
|
|
ExpectedDownloadedFiles = [A_File, B_File, C_File]
|
|
|
|
################ Pre and Post Test Hooks #####################################
|
|
pre_test = {
|
|
"ServerFiles" : Files
|
|
}
|
|
test_options = {
|
|
"WgetCommands" : WGET_OPTIONS,
|
|
"Urls" : WGET_URLS
|
|
}
|
|
post_test = {
|
|
"ExpectedFiles" : ExpectedDownloadedFiles,
|
|
"ExpectedRetcode" : ExpectedReturnCode
|
|
}
|
|
|
|
err = HTTPTest (
|
|
name=TEST_NAME,
|
|
pre_hook=pre_test,
|
|
test_params=test_options,
|
|
post_hook=post_test
|
|
).begin ()
|
|
|
|
exit (err)
|