#!/usr/bin/env python3
import os
import platform
from sys import exit
from test.base_test import HTTPS, SKIP_TEST
from test.http_test import HTTPTest
from misc.wget_file import WgetFile
"""
Test that Wget handles the --convert-links (-k) option correctly.
Ensure that when downloading, Wget retains the protocol of the host URL
if the link wasn't followed and an absolute link is to be added to the
local file.
"""
if os.getenv('SSL_TESTS') is None:
exit(SKIP_TEST)
############################## File Definitions ##############################
index = """
Index
Site
Missing
Missing2
"""
converted = """
Index
Site
Missing
Missing2
"""
site = """
Site
Subsite
"""
IndexPage = WgetFile("index.html", index)
SubSite = WgetFile("sub.html", site)
LocalIndexPage = WgetFile("index.html", converted)
print(platform.system())
restrict = "unix" if platform.system() in ["Linux", "Darwin"] else "windows"
WGET_OPTIONS = "-k -r -nH --reject-regex '.*\\.xhtml' --no-check-certificate"
WGET_URLS = [["index.html"]]
Files = [[IndexPage, SubSite]]
Servers = [HTTPS]
ExpectedReturnCode = 8
ExpectedDownloadedFiles = [LocalIndexPage, SubSite]
########################### 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(
pre_hook=pre_test,
test_params=test_options,
post_hook=post_test,
protocols=Servers,
).begin()
exit(err)