Extend wfe.Certificate tests
This commit is contained in:
parent
87827be6f1
commit
6e03f78ad0
|
|
@ -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)
|
wfe.sendError(response, "Multiple certificates with same short serial", err, http.StatusConflict)
|
||||||
} else {
|
} else {
|
||||||
response.Header().Add("Cache-Control", "public, max-age=0, no-cache")
|
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
|
return
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1061,6 +1061,7 @@ func TestGetCertificate(t *testing.T) {
|
||||||
|
|
||||||
responseWriter := httptest.NewRecorder()
|
responseWriter := httptest.NewRecorder()
|
||||||
|
|
||||||
|
// Valid short serial, cached
|
||||||
path, _ := url.Parse("/acme/cert/00000000000000b2")
|
path, _ := url.Parse("/acme/cert/00000000000000b2")
|
||||||
wfe.Certificate(responseWriter, &http.Request{
|
wfe.Certificate(responseWriter, &http.Request{
|
||||||
Method: "GET",
|
Method: "GET",
|
||||||
|
|
@ -1071,16 +1072,7 @@ func TestGetCertificate(t *testing.T) {
|
||||||
test.AssertEquals(t, responseWriter.Header().Get("Content-Type"), "application/pkix-cert")
|
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")
|
test.Assert(t, bytes.Compare(responseWriter.Body.Bytes(), certBlock.Bytes) == 0, "Certificates don't match")
|
||||||
|
|
||||||
responseWriter = httptest.NewRecorder()
|
// Valid short serial, no cache
|
||||||
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"}`)
|
|
||||||
|
|
||||||
responseWriter = httptest.NewRecorder()
|
responseWriter = httptest.NewRecorder()
|
||||||
path, _ = url.Parse("/acme/cert/0000000000000001")
|
path, _ = url.Parse("/acme/cert/0000000000000001")
|
||||||
wfe.Certificate(responseWriter, &http.Request{
|
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.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")
|
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"}`)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue