1#!/usr/bin/env python3 2from sys import exit 3from test.http_test import HTTPTest 4from misc.wget_file import WgetFile 5 6""" 7 This test ensures that Wget handles Cookie expiry dates correctly. 8 Simultaneuously, we also check if multiple cookies to the same domain 9 are handled correctly 10""" 11############# File Definitions ############################################### 12File1 = "Hello World!" 13File2 = "'Ello! This is Amazing!" 14File3 = "So what are we looking at?" 15File4 = "This was downloaded" 16 17File1_rules = { 18 "SendHeader" : { 19 "Set-Cookie" : "sess-id=0213; path=/" 20 } 21} 22File2_rules = { 23 "ExpectHeader" : { 24 "Cookie" : "sess-id=0213" 25 }, 26 "SendHeader" : { 27 "Set-Cookie" : "new-sess=N" 28 } 29} 30File3_rules = { 31 "SendHeader" : { 32 # use upper case 'I' to provoke Wget failure with turkish locale 33 "Set-Cookie" : "sess-id=0213; path=/; ExPIRes=Sun, 06 Nov 2001 12:32:43 GMT" 34 }, 35 "ExpectHeader" : { 36 "Cookie" : "new-sess=N; sess-id=0213" 37 } 38} 39File4_rules = { 40 "RejectHeader" : { 41 "Cookie" : "sess-id=0213" 42 }, 43 "ExpectHeader" : { 44 "Cookie" : "new-sess=N" 45 } 46} 47A_File = WgetFile ("File1", File1, rules=File1_rules) 48B_File = WgetFile ("File2", File2, rules=File2_rules) 49C_File = WgetFile ("File3", File3, rules=File3_rules) 50D_File = WgetFile ("File4", File4, rules=File4_rules) 51 52WGET_OPTIONS = "" 53WGET_URLS = [["File1", "File2", "File3", "File4"]] 54 55Files = [[A_File, B_File, C_File, D_File]] 56 57ExpectedReturnCode = 0 58ExpectedDownloadedFiles = [A_File, B_File, C_File, D_File] 59 60################ Pre and Post Test Hooks ##################################### 61pre_test = { 62 "ServerFiles" : Files 63} 64test_options = { 65 "WgetCommands" : WGET_OPTIONS, 66 "Urls" : WGET_URLS 67} 68post_test = { 69 "ExpectedFiles" : ExpectedDownloadedFiles, 70 "ExpectedRetcode" : ExpectedReturnCode 71} 72 73err = HTTPTest ( 74 pre_hook=pre_test, 75 test_params=test_options, 76 post_hook=post_test 77).begin () 78 79exit (err) 80