mirror of
https://github.com/moparisthebest/wget
synced 2024-07-03 16:38:41 -04:00
7cbe8141d1
Squashed Commit, of the following commits: 7743384 Update documentation to reflect changes in code b703633 Add feature that allows to ensure that Wget correctly crawls the website in recursive mode 0758f47 Add new test for recursive spider mode 43bb61b Smartly guess content type header d4d0e63 Support substring replace in File Contents too f578500 Compatibility fix with multiple servers 8b1a9b6 Extend Functionality to support spawning multiple servers e84192a Use the provided calls to shutdown server instead of rewriting it 99659f3 Improve Documentation cb94e52 Slight code cleanup. Remove unused code 886ac1a Shift to new Threading Model from Multiprocessing model e74c2ec Add new test for POST Requests 48644f1 Print diff when file contents don't match b6f9efe Add tests for Cookie support 4c9e6b4 Document pending work e13bc90 Add new test to ensure Content Disposition and Auth work together 60d1f4d Add new Test for Continue command 738b299 Add test, Test-Head 9b9d16b Edit non-unique TEST_NAME variable ae958db Minor optimizations to the way Server Rules are executed 50b4f0c The rules need not be a defaultdict. dccc154 Introducing Python based Test Environment
59 lines
1.5 KiB
Python
Executable File
59 lines
1.5 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
from sys import exit
|
|
from WgetTest import HTTPTest, 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 = "Basic Authorization"
|
|
############# File Definitions ###############################################
|
|
File1 = "I am an invisble man."
|
|
File2 = "I too am an invisible man."
|
|
|
|
File1_rules = {
|
|
"Authentication" : {
|
|
"Type" : "Basic",
|
|
"User" : "Sauron",
|
|
"Pass" : "TheEye"
|
|
}
|
|
}
|
|
File2_rules = {
|
|
"ExpectHeader" : {
|
|
"Authorization" : "Basic U2F1cm9uOlRoZUV5ZQ=="
|
|
}
|
|
}
|
|
A_File = WgetFile ("File1", File1, rules=File1_rules)
|
|
B_File = WgetFile ("File2", File2, rules=File2_rules)
|
|
|
|
WGET_OPTIONS = "-d --user=Sauron --password=TheEye"
|
|
WGET_URLS = [["File1", "File2"]]
|
|
|
|
Files = [[A_File, B_File]]
|
|
|
|
ExpectedReturnCode = 0
|
|
ExpectedDownloadedFiles = [A_File, B_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)
|