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""" 11TEST_NAME = "Cookie Expires" 12############# File Definitions ############################################### 13File1 = "Hello World!" 14File2 = "'Ello! This is Amazing!" 15File3 = "So what are we looking at?" 16File4 = "This was downloaded" 17 18File1_rules = { 19 "SendHeader" : { 20 "Set-Cookie" : "sess-id=0213; path=/" 21 } 22} 23File2_rules = { 24 "ExpectHeader" : { 25 "Cookie" : "sess-id=0213" 26 }, 27 "SendHeader" : { 28 "Set-Cookie" : "new-sess=N" 29 } 30} 31File3_rules = { 32 "SendHeader" : { 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 name=TEST_NAME, 75 pre_hook=pre_test, 76 test_params=test_options, 77 post_hook=post_test 78).begin () 79 80exit (err) 81