57 lines
1.5 KiB
Go
57 lines
1.5 KiB
Go
|
// Copyright 2017 Frédéric Guillot. All rights reserved.
|
||
|
// Use of this source code is governed by the Apache 2.0
|
||
|
// license that can be found in the LICENSE file.
|
||
|
|
||
|
package http
|
||
|
|
||
|
import "testing"
|
||
|
|
||
|
func TestHasServerFailureWith200Status(t *testing.T) {
|
||
|
r := &Response{StatusCode: 200}
|
||
|
if r.HasServerFailure() {
|
||
|
t.Error("200 is not a failure")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestHasServerFailureWith404Status(t *testing.T) {
|
||
|
r := &Response{StatusCode: 404}
|
||
|
if !r.HasServerFailure() {
|
||
|
t.Error("404 is a failure")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestHasServerFailureWith500Status(t *testing.T) {
|
||
|
r := &Response{StatusCode: 500}
|
||
|
if !r.HasServerFailure() {
|
||
|
t.Error("500 is a failure")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestIsModifiedWith304Status(t *testing.T) {
|
||
|
r := &Response{StatusCode: 304}
|
||
|
if r.IsModified("etag", "lastModified") {
|
||
|
t.Error("The resource should not be considered modified")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestIsModifiedWithIdenticalEtag(t *testing.T) {
|
||
|
r := &Response{StatusCode: 200, ETag: "etag"}
|
||
|
if r.IsModified("etag", "lastModified") {
|
||
|
t.Error("The resource should not be considered modified")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestIsModifiedWithIdenticalLastModified(t *testing.T) {
|
||
|
r := &Response{StatusCode: 200, LastModified: "lastModified"}
|
||
|
if r.IsModified("etag", "lastModified") {
|
||
|
t.Error("The resource should not be considered modified")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestIsModifiedWithDifferentHeaders(t *testing.T) {
|
||
|
r := &Response{StatusCode: 200, ETag: "some etag", LastModified: "some date"}
|
||
|
if !r.IsModified("etag", "lastModified") {
|
||
|
t.Error("The resource should be considered modified")
|
||
|
}
|
||
|
}
|