Extend wfe.Certificate tests

This commit is contained in:
Roland Shoemaker 2015-07-20 12:27:26 -07:00
parent 87827be6f1
commit 6e03f78ad0
2 changed files with 36 additions and 11 deletions

View File

@ -1009,7 +1009,7 @@ func (wfe *WebFrontEndImpl) Certificate(response http.ResponseWriter, request *h
wfe.sendError(response, "Multiple certificates with same short serial", err, http.StatusConflict)
} else {
response.Header().Add("Cache-Control", "public, max-age=0, no-cache")
wfe.sendError(response, "Not found", err, http.StatusNotFound)
wfe.sendError(response, "Certificate not found", err, http.StatusNotFound)
}
return
}

View File

@ -1061,6 +1061,7 @@ func TestGetCertificate(t *testing.T) {
responseWriter := httptest.NewRecorder()
// Valid short serial, cached
path, _ := url.Parse("/acme/cert/00000000000000b2")
wfe.Certificate(responseWriter, &http.Request{
Method: "GET",
@ -1071,16 +1072,7 @@ func TestGetCertificate(t *testing.T) {
test.AssertEquals(t, responseWriter.Header().Get("Content-Type"), "application/pkix-cert")
test.Assert(t, bytes.Compare(responseWriter.Body.Bytes(), certBlock.Bytes) == 0, "Certificates don't match")
responseWriter = httptest.NewRecorder()
path, _ = url.Parse("/acme/cert/00000000000000ff")
wfe.Certificate(responseWriter, &http.Request{
Method: "GET",
URL: path,
})
test.AssertEquals(t, responseWriter.Code, 404)
test.AssertEquals(t, responseWriter.Header().Get("Cache-Control"), "public, max-age=0, no-cache")
test.AssertEquals(t, responseWriter.Body.String(), `{"type":"urn:acme:error:malformed","detail":"Not found"}`)
// Valid short serial, no cache
responseWriter = httptest.NewRecorder()
path, _ = url.Parse("/acme/cert/0000000000000001")
wfe.Certificate(responseWriter, &http.Request{
@ -1092,4 +1084,37 @@ func TestGetCertificate(t *testing.T) {
test.AssertEquals(t, responseWriter.Header().Get("Content-Type"), "application/pkix-cert")
test.Assert(t, bytes.Compare(responseWriter.Body.Bytes(), certBlock.Bytes) == 0, "Certificates don't match")
// Unused short serial, no cache
responseWriter = httptest.NewRecorder()
path, _ = url.Parse("/acme/cert/00000000000000ff")
wfe.Certificate(responseWriter, &http.Request{
Method: "GET",
URL: path,
})
test.AssertEquals(t, responseWriter.Code, 404)
test.AssertEquals(t, responseWriter.Header().Get("Cache-Control"), "public, max-age=0, no-cache")
test.AssertEquals(t, responseWriter.Body.String(), `{"type":"urn:acme:error:malformed","detail":"Certificate not found"}`)
// Invalid short serial, no cache
responseWriter = httptest.NewRecorder()
path, _ = url.Parse("/acme/cert/nothex")
wfe.Certificate(responseWriter, &http.Request{
Method: "GET",
URL: path,
})
test.AssertEquals(t, responseWriter.Code, 404)
test.AssertEquals(t, responseWriter.Header().Get("Cache-Control"), "public, max-age=0, no-cache")
test.AssertEquals(t, responseWriter.Body.String(), `{"type":"urn:acme:error:malformed","detail":"Certificate not found"}`)
// Invalid short serial, no cache
responseWriter = httptest.NewRecorder()
path, _ = url.Parse("/acme/cert/00000000000000")
wfe.Certificate(responseWriter, &http.Request{
Method: "GET",
URL: path,
})
test.AssertEquals(t, responseWriter.Code, 404)
test.AssertEquals(t, responseWriter.Header().Get("Cache-Control"), "public, max-age=0, no-cache")
test.AssertEquals(t, responseWriter.Body.String(), `{"type":"urn:acme:error:malformed","detail":"Certificate not found"}`)
}