mirror of
https://github.com/moparisthebest/wget
synced 2024-07-03 16:38:41 -04:00
8b83306d54
This is a squashed commit of the following from parallel-wget: ecd6977 Refactor mainly the test cases classes d26c8eb Create package test for test case classes 507383d Move server classes to package server.protocol 195393b Create package conf where rules and hooks are put 42e482a Create package exc and move TestFailed to exc 82f44f3 Fix a typo in Test-Proto.py 31e5f33 From WgetTest.py move WgetFile to misc 422171d Create package misc, move ColourTerm.py to misc
107 lines
2.4 KiB
Python
Executable File
107 lines
2.4 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 executed Wget in Spider mode with recursive retrieval.
|
|
"""
|
|
TEST_NAME = "Recursive Spider"
|
|
############# File Definitions ###############################################
|
|
mainpage = """
|
|
<html>
|
|
<head>
|
|
<title>Main Page</title>
|
|
</head>
|
|
<body>
|
|
<p>
|
|
Some text and a link to a <a href="http://127.0.0.1:{{port}}/secondpage.html">second page</a>.
|
|
Also, a <a href="http://127.0.0.1:{{port}}/nonexistent">broken link</a>.
|
|
</p>
|
|
</body>
|
|
</html>
|
|
"""
|
|
|
|
|
|
secondpage = """
|
|
<html>
|
|
<head>
|
|
<title>Second Page</title>
|
|
</head>
|
|
<body>
|
|
<p>
|
|
Some text and a link to a <a href="http://127.0.0.1:{{port}}/thirdpage.html">third page</a>.
|
|
Also, a <a href="http://127.0.0.1:{{port}}/nonexistent">broken link</a>.
|
|
</p>
|
|
</body>
|
|
</html>
|
|
"""
|
|
|
|
thirdpage = """
|
|
<html>
|
|
<head>
|
|
<title>Third Page</title>
|
|
</head>
|
|
<body>
|
|
<p>
|
|
Some text and a link to a <a href="http://127.0.0.1:{{port}}/dummy.txt">text file</a>.
|
|
Also, another <a href="http://127.0.0.1:{{port}}/againnonexistent">broken link</a>.
|
|
</p>
|
|
</body>
|
|
</html>
|
|
"""
|
|
|
|
dummyfile = "Don't care."
|
|
|
|
|
|
index_html = WgetFile ("index.html", mainpage)
|
|
secondpage_html = WgetFile ("secondpage.html", secondpage)
|
|
thirdpage_html = WgetFile ("thirdpage.html", thirdpage)
|
|
dummy_txt = WgetFile ("dummy.txt", dummyfile)
|
|
|
|
Request_List = [
|
|
[
|
|
"HEAD /",
|
|
"GET /",
|
|
"GET /robots.txt",
|
|
"HEAD /secondpage.html",
|
|
"GET /secondpage.html",
|
|
"HEAD /nonexistent",
|
|
"HEAD /thirdpage.html",
|
|
"GET /thirdpage.html",
|
|
"HEAD /dummy.txt",
|
|
"HEAD /againnonexistent"
|
|
]
|
|
]
|
|
|
|
WGET_OPTIONS = "-d --spider -r"
|
|
WGET_URLS = [[""]]
|
|
|
|
Files = [[index_html, secondpage_html, thirdpage_html, dummy_txt]]
|
|
|
|
ExpectedReturnCode = 8
|
|
ExpectedDownloadedFiles = []
|
|
|
|
################ Pre and Post Test Hooks #####################################
|
|
pre_test = {
|
|
"ServerFiles" : Files
|
|
}
|
|
test_options = {
|
|
"WgetCommands" : WGET_OPTIONS,
|
|
"Urls" : WGET_URLS
|
|
}
|
|
post_test = {
|
|
"ExpectedFiles" : ExpectedDownloadedFiles,
|
|
"ExpectedRetcode" : ExpectedReturnCode,
|
|
"FilesCrawled" : Request_List
|
|
}
|
|
|
|
err = HTTPTest (
|
|
name=TEST_NAME,
|
|
pre_hook=pre_test,
|
|
test_params=test_options,
|
|
post_hook=post_test
|
|
).begin ()
|
|
|
|
exit (err)
|