1#!/usr/bin/env python3
2from sys import exit
3from test.http_test import HTTPTest
4from misc.wget_file import WgetFile
5
6"""
7    Ensure that Wget behaves well when the server responds with a HTTP 416
8    status code. This test checks both cases:
9        1. Server sends no body
10        2. Server sends a body
11"""
12############# File Definitions ###############################################
13File1 = "abababababababababababababababababababababababababababababababababab"
14File2 = "ababababababababababababababababababab"
15
16A_File = WgetFile ("File1", File1)
17B_File = WgetFile ("File1", File1)
18
19C_File = WgetFile ("File2", File2)
20D_File = WgetFile ("File2", File1)
21
22E_File = WgetFile ("File3", File1)
23
24WGET_OPTIONS = "-c"
25WGET_URLS = [["File1", "File2", "File3"]]
26
27Files = [[A_File, C_File, E_File]]
28Existing_Files = [B_File, D_File]
29
30ExpectedReturnCode = 0
31ExpectedDownloadedFiles = [B_File, D_File, E_File]
32
33################ Pre and Post Test Hooks #####################################
34pre_test = {
35    "ServerFiles"       : Files,
36    "LocalFiles"        : Existing_Files
37}
38test_options = {
39    "WgetCommands"      : WGET_OPTIONS,
40    "Urls"              : WGET_URLS
41}
42post_test = {
43    "ExpectedFiles"     : ExpectedDownloadedFiles,
44    "ExpectedRetcode"   : ExpectedReturnCode
45}
46
47err = HTTPTest (
48                pre_hook=pre_test,
49                test_params=test_options,
50                post_hook=post_test
51).begin ()
52
53exit (err)
54