kraken
47 строк · 1.3 Кб
1// Copyright (c) 2016-2019 Uber Technologies, Inc.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14package blobserver15
16import (17"net/http"18"testing"19
20"github.com/uber/kraken/utils/handler"21"github.com/stretchr/testify/require"22)
23
24func TestParseContentRangeHeaderBadRequests(t *testing.T) {25tests := []struct {26description string27value string28}{29{"empty value", ""},30{"invalid format", "blah"},31{"invalid start", "blah-5"},32{"invalid end", "5-blah"},33}34for _, test := range tests {35t.Run(test.description, func(t *testing.T) {36require := require.New(t)37
38h := http.Header{}39h.Add("Content-Range", test.value)40start, end, err := parseContentRange(h)41require.Error(err)42require.Equal(http.StatusBadRequest, err.(*handler.Error).GetStatus())43require.Equal(int64(0), start)44require.Equal(int64(0), end)45})46}47}
48