From 77a8455a675566369e349c0801c3eb6b0ff3d635 Mon Sep 17 00:00:00 2001 From: Adam Jensen Date: Sat, 28 Apr 2018 15:39:46 -0400 Subject: [PATCH] Add HEAD tests --- head_test.go | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/head_test.go b/head_test.go index 15b4099..021507b 100644 --- a/head_test.go +++ b/head_test.go @@ -81,4 +81,52 @@ func TestHead(t *testing.T) { t.Errorf("Expected empty body for failed HEAD request") } }) + + SubTest(t, "DeferLengthHeader", func(t *testing.T, store *MockFullDataStore) { + store.EXPECT().GetInfo("yes").Return(FileInfo{ + SizeIsDeferred: true, + Size: 0, + }, nil) + + handler, _ := NewHandler(Config{ + DataStore: store, + }) + + (&httpTest{ + Method: "HEAD", + URL: "yes", + ReqHeader: map[string]string{ + "Tus-Resumable": "1.0.0", + }, + Code: http.StatusOK, + ResHeader: map[string]string{ + "Upload-Defer-Length": "1", + }, + }).Run(handler, t) + }) + + SubTest(t, "NoDeferLengthHeader", func(t *testing.T, store *MockFullDataStore) { + gomock.InOrder( + store.EXPECT().GetInfo("yes").Return(FileInfo{ + SizeIsDeferred: false, + Size: 10, + }, nil), + ) + + handler, _ := NewHandler(Config{ + DataStore: store, + }) + + (&httpTest{ + Method: "HEAD", + URL: "yes", + ReqHeader: map[string]string{ + "Tus-Resumable": "1.0.0", + }, + Code: http.StatusOK, + ResHeader: map[string]string{ + "Upload-Defer-Length": "", + }, + }).Run(handler, t) + }) }