aboutsummaryrefslogtreecommitdiff
path: root/lib/http
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2023-03-11 16:19:56 +0700
committerShulhan <ms@kilabit.info>2023-03-12 11:35:44 +0700
commit8e2fa2b18662da4e42bc2be5f20103dd5e2cb8f8 (patch)
tree143ce6bf24efe99553ff977d4a132286e2a3bc72 /lib/http
parent1cabd31814b34a3330f8f0083021029b803c169b (diff)
downloadpakakeh.go-8e2fa2b18662da4e42bc2be5f20103dd5e2cb8f8.tar.xz
lib/http: add integration test for request HEAD for Range
The test check the response header, whether the Accept-Ranges printed or not.
Diffstat (limited to 'lib/http')
-rw-r--r--lib/http/server_test.go32
-rw-r--r--lib/http/testdata/server/head_range_test.txt7
2 files changed, 39 insertions, 0 deletions
diff --git a/lib/http/server_test.go b/lib/http/server_test.go
index 7bde8303..bea01131 100644
--- a/lib/http/server_test.go
+++ b/lib/http/server_test.go
@@ -956,3 +956,35 @@ func TestServer_handleRange(t *testing.T) {
test.Assert(t, tag, string(exp), got)
}
}
+
+func TestServer_handleRange_HEAD(t *testing.T) {
+ var (
+ clOpts = &ClientOptions{
+ ServerUrl: testServerUrl,
+ }
+ cl = NewClient(clOpts)
+
+ tdata *test.Data
+ err error
+ )
+
+ tdata, err = test.LoadData(`testdata/server/head_range_test.txt`)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ var httpRes *http.Response
+
+ httpRes, err = cl.Client.Head(testServerUrl + `/index.html`)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ var (
+ skipHeaders = []string{HeaderDate, HeaderETag}
+ got = dumpHttpResponse(httpRes, skipHeaders)
+ tag = `http_headers`
+ exp = tdata.Output[tag]
+ )
+ test.Assert(t, tag, string(exp), got)
+}
diff --git a/lib/http/testdata/server/head_range_test.txt b/lib/http/testdata/server/head_range_test.txt
new file mode 100644
index 00000000..5376d7d1
--- /dev/null
+++ b/lib/http/testdata/server/head_range_test.txt
@@ -0,0 +1,7 @@
+<<< http_headers
+HTTP/1.1 200 OK
+Accept-Ranges: bytes
+Content-Length: 40
+Content-Type: text/html; charset=utf-8
+
+<<< END