#!/usr/bin/env python3 from sys import exit from test.http_test import HTTPTest from test.base_test import HTTP from misc.wget_file import WgetFile """ This is test ensures that the --disable-header option doesn't remove user headers from the HTTP request when it's placed before --header="header: value". """ ############# File Definitions ############################################### file_content = """Les paroles de la bouche d'un homme sont des eaux profondes; La source de la sagesse est un torrent qui jaillit.""" File1_rules = { "ExpectHeader" : { "Host" : 'example.com' }, "SendHeader" : { "Set-Cookie" : "sess-id=0213; path=/;" } } File2_rules = { "RejectHeader" : { "Cookie" : "sess-id=0213" } } File1 = WgetFile ("File1", file_content, rules=File1_rules) File2 = WgetFile ("File2", file_content, rules=File2_rules) WGET_OPTIONS = '--disable-header="Host,Cookie" --header="Host: example.com" --disable-header="SomeHeader"' WGET_URLS = [["File1", "File2"]] Files = [[File1, File2]] Servers = [HTTP] ExpectedReturnCode = 0 ExpectedDownloadedFiles = [File1, File2] ################ 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)