mirror of
https://github.com/go-acme/lego.git
synced 2026-01-25 05:06:16 +00:00
tests: change the signature of the method BuildHTTPS (#2611)
Some checks failed
Documentation / Build and deploy documentation (push) Has been cancelled
Go Matrix / Go (oldstable, macos-latest) (push) Has been cancelled
Go Matrix / Go (oldstable, ubuntu-latest) (push) Has been cancelled
Go Matrix / Go (oldstable, windows-latest) (push) Has been cancelled
Go Matrix / Go (stable, macos-latest) (push) Has been cancelled
Go Matrix / Go (stable, ubuntu-latest) (push) Has been cancelled
Go Matrix / Go (stable, windows-latest) (push) Has been cancelled
Main / Main Process (push) Has been cancelled
Some checks failed
Documentation / Build and deploy documentation (push) Has been cancelled
Go Matrix / Go (oldstable, macos-latest) (push) Has been cancelled
Go Matrix / Go (oldstable, ubuntu-latest) (push) Has been cancelled
Go Matrix / Go (oldstable, windows-latest) (push) Has been cancelled
Go Matrix / Go (stable, macos-latest) (push) Has been cancelled
Go Matrix / Go (stable, ubuntu-latest) (push) Has been cancelled
Go Matrix / Go (stable, windows-latest) (push) Has been cancelled
Main / Main Process (push) Has been cancelled
This commit is contained in:
committed by
GitHub
parent
c9157f756e
commit
756d5ade0e
@@ -73,34 +73,34 @@ rzFL1KZfz+HZdnFwFW2T2gVW8L3ii1l9AJDuKzlvjUH3p6bgihVq02sjT8mx+GM2
|
|||||||
`
|
`
|
||||||
|
|
||||||
func TestCertificateService_Get_issuerRelUp(t *testing.T) {
|
func TestCertificateService_Get_issuerRelUp(t *testing.T) {
|
||||||
apiURL, client := tester.MockACMEServer().
|
server := tester.MockACMEServer().
|
||||||
Route("POST /certificate", servermock.RawStringResponse(certResponseMock)).
|
Route("POST /certificate", servermock.RawStringResponse(certResponseMock)).
|
||||||
BuildHTTPS(t)
|
BuildHTTPS(t)
|
||||||
|
|
||||||
key, err := rsa.GenerateKey(rand.Reader, 2048)
|
key, err := rsa.GenerateKey(rand.Reader, 2048)
|
||||||
require.NoError(t, err, "Could not generate test key")
|
require.NoError(t, err, "Could not generate test key")
|
||||||
|
|
||||||
core, err := New(client, "lego-test", apiURL+"/dir", "", key)
|
core, err := New(server.Client(), "lego-test", server.URL+"/dir", "", key)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
cert, issuer, err := core.Certificates.Get(apiURL+"/certificate", true)
|
cert, issuer, err := core.Certificates.Get(server.URL+"/certificate", true)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, certResponseMock, string(cert), "Certificate")
|
assert.Equal(t, certResponseMock, string(cert), "Certificate")
|
||||||
assert.Equal(t, issuerMock, string(issuer), "IssuerCertificate")
|
assert.Equal(t, issuerMock, string(issuer), "IssuerCertificate")
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestCertificateService_Get_embeddedIssuer(t *testing.T) {
|
func TestCertificateService_Get_embeddedIssuer(t *testing.T) {
|
||||||
apiURL, client := tester.MockACMEServer().
|
server := tester.MockACMEServer().
|
||||||
Route("POST /certificate", servermock.RawStringResponse(certResponseMock)).
|
Route("POST /certificate", servermock.RawStringResponse(certResponseMock)).
|
||||||
BuildHTTPS(t)
|
BuildHTTPS(t)
|
||||||
|
|
||||||
key, err := rsa.GenerateKey(rand.Reader, 2048)
|
key, err := rsa.GenerateKey(rand.Reader, 2048)
|
||||||
require.NoError(t, err, "Could not generate test key")
|
require.NoError(t, err, "Could not generate test key")
|
||||||
|
|
||||||
core, err := New(client, "lego-test", apiURL+"/dir", "", key)
|
core, err := New(server.Client(), "lego-test", server.URL+"/dir", "", key)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
cert, issuer, err := core.Certificates.Get(apiURL+"/certificate", true)
|
cert, issuer, err := core.Certificates.Get(server.URL+"/certificate", true)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, certResponseMock, string(cert), "Certificate")
|
assert.Equal(t, certResponseMock, string(cert), "Certificate")
|
||||||
assert.Equal(t, issuerMock, string(issuer), "IssuerCertificate")
|
assert.Equal(t, issuerMock, string(issuer), "IssuerCertificate")
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestNotHoldingLockWhileMakingHTTPRequests(t *testing.T) {
|
func TestNotHoldingLockWhileMakingHTTPRequests(t *testing.T) {
|
||||||
manager, _ := servermock.NewBuilder(
|
manager := servermock.NewBuilder(
|
||||||
func(server *httptest.Server) (*Manager, error) {
|
func(server *httptest.Server) (*Manager, error) {
|
||||||
doer := sender.NewDoer(server.Client(), "lego-test")
|
doer := sender.NewDoer(server.Client(), "lego-test")
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestNotHoldingLockWhileMakingHTTPRequests(t *testing.T) {
|
func TestNotHoldingLockWhileMakingHTTPRequests(t *testing.T) {
|
||||||
manager, _ := servermock.NewBuilder(
|
manager := servermock.NewBuilder(
|
||||||
func(server *httptest.Server) (*nonces.Manager, error) {
|
func(server *httptest.Server) (*nonces.Manager, error) {
|
||||||
doer := sender.NewDoer(server.Client(), "lego-test")
|
doer := sender.NewDoer(server.Client(), "lego-test")
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ func TestOrderService_NewWithOptions(t *testing.T) {
|
|||||||
privateKey, errK := rsa.GenerateKey(rand.Reader, 1024)
|
privateKey, errK := rsa.GenerateKey(rand.Reader, 1024)
|
||||||
require.NoError(t, errK, "Could not generate test key")
|
require.NoError(t, errK, "Could not generate test key")
|
||||||
|
|
||||||
apiURL, client := tester.MockACMEServer().
|
server := tester.MockACMEServer().
|
||||||
Route("POST /newOrder",
|
Route("POST /newOrder",
|
||||||
http.HandlerFunc(func(rw http.ResponseWriter, req *http.Request) {
|
http.HandlerFunc(func(rw http.ResponseWriter, req *http.Request) {
|
||||||
body, err := readSignedBody(req, privateKey)
|
body, err := readSignedBody(req, privateKey)
|
||||||
@@ -54,7 +54,7 @@ func TestOrderService_NewWithOptions(t *testing.T) {
|
|||||||
})).
|
})).
|
||||||
BuildHTTPS(t)
|
BuildHTTPS(t)
|
||||||
|
|
||||||
core, err := New(client, "lego-test", apiURL+"/dir", "", privateKey)
|
core, err := New(server.Client(), "lego-test", server.URL+"/dir", "", privateKey)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
testCases := []struct {
|
testCases := []struct {
|
||||||
|
|||||||
@@ -175,14 +175,14 @@ Ob8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ
|
|||||||
`
|
`
|
||||||
|
|
||||||
func Test_checkResponse(t *testing.T) {
|
func Test_checkResponse(t *testing.T) {
|
||||||
apiURL, client := tester.MockACMEServer().
|
server := tester.MockACMEServer().
|
||||||
Route("POST /certificate", servermock.RawStringResponse(certResponseMock)).
|
Route("POST /certificate", servermock.RawStringResponse(certResponseMock)).
|
||||||
BuildHTTPS(t)
|
BuildHTTPS(t)
|
||||||
|
|
||||||
key, err := rsa.GenerateKey(rand.Reader, 2048)
|
key, err := rsa.GenerateKey(rand.Reader, 2048)
|
||||||
require.NoError(t, err, "Could not generate test key")
|
require.NoError(t, err, "Could not generate test key")
|
||||||
|
|
||||||
core, err := api.New(client, "lego-test", apiURL+"/dir", "", key)
|
core, err := api.New(server.Client(), "lego-test", server.URL+"/dir", "", key)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
certifier := NewCertifier(core, &resolverMock{}, CertifierOptions{KeyType: certcrypto.RSA2048})
|
certifier := NewCertifier(core, &resolverMock{}, CertifierOptions{KeyType: certcrypto.RSA2048})
|
||||||
@@ -190,7 +190,7 @@ func Test_checkResponse(t *testing.T) {
|
|||||||
order := acme.ExtendedOrder{
|
order := acme.ExtendedOrder{
|
||||||
Order: acme.Order{
|
Order: acme.Order{
|
||||||
Status: acme.StatusValid,
|
Status: acme.StatusValid,
|
||||||
Certificate: apiURL + "/certificate",
|
Certificate: server.URL + "/certificate",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
certRes := &Resource{}
|
certRes := &Resource{}
|
||||||
@@ -209,14 +209,14 @@ func Test_checkResponse(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func Test_checkResponse_issuerRelUp(t *testing.T) {
|
func Test_checkResponse_issuerRelUp(t *testing.T) {
|
||||||
apiURL, client := tester.MockACMEServer().
|
server := tester.MockACMEServer().
|
||||||
Route("POST /certificate", servermock.RawStringResponse(certResponseMock)).
|
Route("POST /certificate", servermock.RawStringResponse(certResponseMock)).
|
||||||
BuildHTTPS(t)
|
BuildHTTPS(t)
|
||||||
|
|
||||||
key, err := rsa.GenerateKey(rand.Reader, 2048)
|
key, err := rsa.GenerateKey(rand.Reader, 2048)
|
||||||
require.NoError(t, err, "Could not generate test key")
|
require.NoError(t, err, "Could not generate test key")
|
||||||
|
|
||||||
core, err := api.New(client, "lego-test", apiURL+"/dir", "", key)
|
core, err := api.New(server.Client(), "lego-test", server.URL+"/dir", "", key)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
certifier := NewCertifier(core, &resolverMock{}, CertifierOptions{KeyType: certcrypto.RSA2048})
|
certifier := NewCertifier(core, &resolverMock{}, CertifierOptions{KeyType: certcrypto.RSA2048})
|
||||||
@@ -224,7 +224,7 @@ func Test_checkResponse_issuerRelUp(t *testing.T) {
|
|||||||
order := acme.ExtendedOrder{
|
order := acme.ExtendedOrder{
|
||||||
Order: acme.Order{
|
Order: acme.Order{
|
||||||
Status: acme.StatusValid,
|
Status: acme.StatusValid,
|
||||||
Certificate: apiURL + "/certificate",
|
Certificate: server.URL + "/certificate",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
certRes := &Resource{}
|
certRes := &Resource{}
|
||||||
@@ -243,14 +243,14 @@ func Test_checkResponse_issuerRelUp(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func Test_checkResponse_no_bundle(t *testing.T) {
|
func Test_checkResponse_no_bundle(t *testing.T) {
|
||||||
apiURL, client := tester.MockACMEServer().
|
server := tester.MockACMEServer().
|
||||||
Route("POST /certificate", servermock.RawStringResponse(certResponseMock)).
|
Route("POST /certificate", servermock.RawStringResponse(certResponseMock)).
|
||||||
BuildHTTPS(t)
|
BuildHTTPS(t)
|
||||||
|
|
||||||
key, err := rsa.GenerateKey(rand.Reader, 2048)
|
key, err := rsa.GenerateKey(rand.Reader, 2048)
|
||||||
require.NoError(t, err, "Could not generate test key")
|
require.NoError(t, err, "Could not generate test key")
|
||||||
|
|
||||||
core, err := api.New(client, "lego-test", apiURL+"/dir", "", key)
|
core, err := api.New(server.Client(), "lego-test", server.URL+"/dir", "", key)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
certifier := NewCertifier(core, &resolverMock{}, CertifierOptions{KeyType: certcrypto.RSA2048})
|
certifier := NewCertifier(core, &resolverMock{}, CertifierOptions{KeyType: certcrypto.RSA2048})
|
||||||
@@ -258,7 +258,7 @@ func Test_checkResponse_no_bundle(t *testing.T) {
|
|||||||
order := acme.ExtendedOrder{
|
order := acme.ExtendedOrder{
|
||||||
Order: acme.Order{
|
Order: acme.Order{
|
||||||
Status: acme.StatusValid,
|
Status: acme.StatusValid,
|
||||||
Certificate: apiURL + "/certificate",
|
Certificate: server.URL + "/certificate",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
certRes := &Resource{}
|
certRes := &Resource{}
|
||||||
@@ -277,7 +277,7 @@ func Test_checkResponse_no_bundle(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func Test_checkResponse_alternate(t *testing.T) {
|
func Test_checkResponse_alternate(t *testing.T) {
|
||||||
apiURL, client := tester.MockACMEServer().
|
server := tester.MockACMEServer().
|
||||||
Route("POST /certificate",
|
Route("POST /certificate",
|
||||||
http.HandlerFunc(func(rw http.ResponseWriter, req *http.Request) {
|
http.HandlerFunc(func(rw http.ResponseWriter, req *http.Request) {
|
||||||
rw.Header().Add("Link",
|
rw.Header().Add("Link",
|
||||||
@@ -291,7 +291,7 @@ func Test_checkResponse_alternate(t *testing.T) {
|
|||||||
key, err := rsa.GenerateKey(rand.Reader, 2048)
|
key, err := rsa.GenerateKey(rand.Reader, 2048)
|
||||||
require.NoError(t, err, "Could not generate test key")
|
require.NoError(t, err, "Could not generate test key")
|
||||||
|
|
||||||
core, err := api.New(client, "lego-test", apiURL+"/dir", "", key)
|
core, err := api.New(server.Client(), "lego-test", server.URL+"/dir", "", key)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
certifier := NewCertifier(core, &resolverMock{}, CertifierOptions{KeyType: certcrypto.RSA2048})
|
certifier := NewCertifier(core, &resolverMock{}, CertifierOptions{KeyType: certcrypto.RSA2048})
|
||||||
@@ -299,7 +299,7 @@ func Test_checkResponse_alternate(t *testing.T) {
|
|||||||
order := acme.ExtendedOrder{
|
order := acme.ExtendedOrder{
|
||||||
Order: acme.Order{
|
Order: acme.Order{
|
||||||
Status: acme.StatusValid,
|
Status: acme.StatusValid,
|
||||||
Certificate: apiURL + "/certificate",
|
Certificate: server.URL + "/certificate",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
certRes := &Resource{
|
certRes := &Resource{
|
||||||
@@ -321,25 +321,25 @@ func Test_checkResponse_alternate(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func Test_Get(t *testing.T) {
|
func Test_Get(t *testing.T) {
|
||||||
apiURL, client := tester.MockACMEServer().
|
server := tester.MockACMEServer().
|
||||||
Route("POST /acme/cert/test-cert", servermock.RawStringResponse(certResponseMock)).
|
Route("POST /acme/cert/test-cert", servermock.RawStringResponse(certResponseMock)).
|
||||||
BuildHTTPS(t)
|
BuildHTTPS(t)
|
||||||
|
|
||||||
key, err := rsa.GenerateKey(rand.Reader, 2048)
|
key, err := rsa.GenerateKey(rand.Reader, 2048)
|
||||||
require.NoError(t, err, "Could not generate test key")
|
require.NoError(t, err, "Could not generate test key")
|
||||||
|
|
||||||
core, err := api.New(client, "lego-test", apiURL+"/dir", "", key)
|
core, err := api.New(server.Client(), "lego-test", server.URL+"/dir", "", key)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
certifier := NewCertifier(core, &resolverMock{}, CertifierOptions{KeyType: certcrypto.RSA2048})
|
certifier := NewCertifier(core, &resolverMock{}, CertifierOptions{KeyType: certcrypto.RSA2048})
|
||||||
|
|
||||||
certRes, err := certifier.Get(apiURL+"/acme/cert/test-cert", true)
|
certRes, err := certifier.Get(server.URL+"/acme/cert/test-cert", true)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
assert.NotNil(t, certRes)
|
assert.NotNil(t, certRes)
|
||||||
assert.Equal(t, "acme.wtf", certRes.Domain)
|
assert.Equal(t, "acme.wtf", certRes.Domain)
|
||||||
assert.Equal(t, apiURL+"/acme/cert/test-cert", certRes.CertStableURL)
|
assert.Equal(t, server.URL+"/acme/cert/test-cert", certRes.CertStableURL)
|
||||||
assert.Equal(t, apiURL+"/acme/cert/test-cert", certRes.CertURL)
|
assert.Equal(t, server.URL+"/acme/cert/test-cert", certRes.CertURL)
|
||||||
assert.Nil(t, certRes.CSR)
|
assert.Nil(t, certRes.CSR)
|
||||||
assert.Nil(t, certRes.PrivateKey)
|
assert.Nil(t, certRes.PrivateKey)
|
||||||
assert.Equal(t, certResponseMock, string(certRes.Certificate), "Certificate")
|
assert.Equal(t, certResponseMock, string(certRes.Certificate), "Certificate")
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ func TestCertifier_GetRenewalInfo(t *testing.T) {
|
|||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
// Test with a fake API.
|
// Test with a fake API.
|
||||||
apiURL, client := tester.MockACMEServer().
|
server := tester.MockACMEServer().
|
||||||
Route("GET /renewalInfo/"+ariLeafCertID,
|
Route("GET /renewalInfo/"+ariLeafCertID,
|
||||||
servermock.RawStringResponse(`{
|
servermock.RawStringResponse(`{
|
||||||
"suggestedWindow": {
|
"suggestedWindow": {
|
||||||
@@ -60,7 +60,7 @@ func TestCertifier_GetRenewalInfo(t *testing.T) {
|
|||||||
key, err := rsa.GenerateKey(rand.Reader, 2048)
|
key, err := rsa.GenerateKey(rand.Reader, 2048)
|
||||||
require.NoError(t, err, "Could not generate test key")
|
require.NoError(t, err, "Could not generate test key")
|
||||||
|
|
||||||
core, err := api.New(client, "lego-test", apiURL+"/dir", "", key)
|
core, err := api.New(server.Client(), "lego-test", server.URL+"/dir", "", key)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
certifier := NewCertifier(core, &resolverMock{}, CertifierOptions{KeyType: certcrypto.RSA2048})
|
certifier := NewCertifier(core, &resolverMock{}, CertifierOptions{KeyType: certcrypto.RSA2048})
|
||||||
@@ -110,15 +110,17 @@ func TestCertifier_GetRenewalInfo_errors(t *testing.T) {
|
|||||||
t.Run(test.desc, func(t *testing.T) {
|
t.Run(test.desc, func(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
apiURL, client := tester.MockACMEServer().
|
server := tester.MockACMEServer().
|
||||||
Route("GET /renewalInfo/"+ariLeafCertID, test.handler).
|
Route("GET /renewalInfo/"+ariLeafCertID, test.handler).
|
||||||
BuildHTTPS(t)
|
BuildHTTPS(t)
|
||||||
|
|
||||||
|
client := server.Client()
|
||||||
|
|
||||||
if test.timeout != 0 {
|
if test.timeout != 0 {
|
||||||
client.Timeout = test.timeout
|
client.Timeout = test.timeout
|
||||||
}
|
}
|
||||||
|
|
||||||
core, err := api.New(client, "lego-test", apiURL+"/dir", "", key)
|
core, err := api.New(client, "lego-test", server.URL+"/dir", "", key)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
certifier := NewCertifier(core, &resolverMock{}, CertifierOptions{KeyType: certcrypto.RSA2048})
|
certifier := NewCertifier(core, &resolverMock{}, CertifierOptions{KeyType: certcrypto.RSA2048})
|
||||||
|
|||||||
@@ -31,12 +31,12 @@ func (p *providerTimeoutMock) CleanUp(domain, token, keyAuth string) error { ret
|
|||||||
func (p *providerTimeoutMock) Timeout() (time.Duration, time.Duration) { return p.timeout, p.interval }
|
func (p *providerTimeoutMock) Timeout() (time.Duration, time.Duration) { return p.timeout, p.interval }
|
||||||
|
|
||||||
func TestChallenge_PreSolve(t *testing.T) {
|
func TestChallenge_PreSolve(t *testing.T) {
|
||||||
apiURL, client := tester.MockACMEServer().BuildHTTPS(t)
|
server := tester.MockACMEServer().BuildHTTPS(t)
|
||||||
|
|
||||||
privateKey, err := rsa.GenerateKey(rand.Reader, 1024)
|
privateKey, err := rsa.GenerateKey(rand.Reader, 1024)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
core, err := api.New(client, "lego-test", apiURL+"/dir", "", privateKey)
|
core, err := api.New(server.Client(), "lego-test", server.URL+"/dir", "", privateKey)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
testCases := []struct {
|
testCases := []struct {
|
||||||
@@ -113,12 +113,12 @@ func TestChallenge_PreSolve(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestChallenge_Solve(t *testing.T) {
|
func TestChallenge_Solve(t *testing.T) {
|
||||||
apiURL, client := tester.MockACMEServer().BuildHTTPS(t)
|
server := tester.MockACMEServer().BuildHTTPS(t)
|
||||||
|
|
||||||
privateKey, err := rsa.GenerateKey(rand.Reader, 1024)
|
privateKey, err := rsa.GenerateKey(rand.Reader, 1024)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
core, err := api.New(client, "lego-test", apiURL+"/dir", "", privateKey)
|
core, err := api.New(server.Client(), "lego-test", server.URL+"/dir", "", privateKey)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
testCases := []struct {
|
testCases := []struct {
|
||||||
@@ -200,12 +200,12 @@ func TestChallenge_Solve(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestChallenge_CleanUp(t *testing.T) {
|
func TestChallenge_CleanUp(t *testing.T) {
|
||||||
apiURL, client := tester.MockACMEServer().BuildHTTPS(t)
|
server := tester.MockACMEServer().BuildHTTPS(t)
|
||||||
|
|
||||||
privateKey, err := rsa.GenerateKey(rand.Reader, 1024)
|
privateKey, err := rsa.GenerateKey(rand.Reader, 1024)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
core, err := api.New(client, "lego-test", apiURL+"/dir", "", privateKey)
|
core, err := api.New(server.Client(), "lego-test", server.URL+"/dir", "", privateKey)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
testCases := []struct {
|
testCases := []struct {
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ func TestProviderServer_GetAddress(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestChallenge(t *testing.T) {
|
func TestChallenge(t *testing.T) {
|
||||||
apiURL, client := tester.MockACMEServer().BuildHTTPS(t)
|
server := tester.MockACMEServer().BuildHTTPS(t)
|
||||||
|
|
||||||
providerServer := NewProviderServer("", "23457")
|
providerServer := NewProviderServer("", "23457")
|
||||||
|
|
||||||
@@ -100,7 +100,7 @@ func TestChallenge(t *testing.T) {
|
|||||||
privateKey, err := rsa.GenerateKey(rand.Reader, 1024)
|
privateKey, err := rsa.GenerateKey(rand.Reader, 1024)
|
||||||
require.NoError(t, err, "Could not generate test key")
|
require.NoError(t, err, "Could not generate test key")
|
||||||
|
|
||||||
core, err := api.New(client, "lego-test", apiURL+"/dir", "", privateKey)
|
core, err := api.New(server.Client(), "lego-test", server.URL+"/dir", "", privateKey)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
solver := NewChallenge(core, validate, providerServer)
|
solver := NewChallenge(core, validate, providerServer)
|
||||||
@@ -123,7 +123,7 @@ func TestChallengeUnix(t *testing.T) {
|
|||||||
t.Skip("only for UNIX systems")
|
t.Skip("only for UNIX systems")
|
||||||
}
|
}
|
||||||
|
|
||||||
apiURL, httpsClient := tester.MockACMEServer().BuildHTTPS(t)
|
server := tester.MockACMEServer().BuildHTTPS(t)
|
||||||
|
|
||||||
dir := t.TempDir()
|
dir := t.TempDir()
|
||||||
t.Cleanup(func() { _ = os.RemoveAll(dir) })
|
t.Cleanup(func() { _ = os.RemoveAll(dir) })
|
||||||
@@ -169,7 +169,7 @@ func TestChallengeUnix(t *testing.T) {
|
|||||||
privateKey, err := rsa.GenerateKey(rand.Reader, 1024)
|
privateKey, err := rsa.GenerateKey(rand.Reader, 1024)
|
||||||
require.NoError(t, err, "Could not generate test key")
|
require.NoError(t, err, "Could not generate test key")
|
||||||
|
|
||||||
core, err := api.New(httpsClient, "lego-test", apiURL+"/dir", "", privateKey)
|
core, err := api.New(server.Client(), "lego-test", server.URL+"/dir", "", privateKey)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
solver := NewChallenge(core, validate, providerServer)
|
solver := NewChallenge(core, validate, providerServer)
|
||||||
@@ -188,12 +188,12 @@ func TestChallengeUnix(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestChallengeInvalidPort(t *testing.T) {
|
func TestChallengeInvalidPort(t *testing.T) {
|
||||||
apiURL, client := tester.MockACMEServer().BuildHTTPS(t)
|
server := tester.MockACMEServer().BuildHTTPS(t)
|
||||||
|
|
||||||
privateKey, err := rsa.GenerateKey(rand.Reader, 1024)
|
privateKey, err := rsa.GenerateKey(rand.Reader, 1024)
|
||||||
require.NoError(t, err, "Could not generate test key")
|
require.NoError(t, err, "Could not generate test key")
|
||||||
|
|
||||||
core, err := api.New(client, "lego-test", apiURL+"/dir", "", privateKey)
|
core, err := api.New(server.Client(), "lego-test", server.URL+"/dir", "", privateKey)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
validate := func(_ *api.Core, _ string, _ acme.Challenge) error { return nil }
|
validate := func(_ *api.Core, _ string, _ acme.Challenge) error { return nil }
|
||||||
@@ -371,7 +371,7 @@ func TestChallengeWithProxy(t *testing.T) {
|
|||||||
func testServeWithProxy(t *testing.T, header, extra *testProxyHeader, expectError bool) {
|
func testServeWithProxy(t *testing.T, header, extra *testProxyHeader, expectError bool) {
|
||||||
t.Helper()
|
t.Helper()
|
||||||
|
|
||||||
apiURL, client := tester.MockACMEServer().BuildHTTPS(t)
|
server := tester.MockACMEServer().BuildHTTPS(t)
|
||||||
|
|
||||||
providerServer := NewProviderServer("localhost", "23457")
|
providerServer := NewProviderServer("localhost", "23457")
|
||||||
if header != nil {
|
if header != nil {
|
||||||
@@ -414,7 +414,7 @@ func testServeWithProxy(t *testing.T, header, extra *testProxyHeader, expectErro
|
|||||||
privateKey, err := rsa.GenerateKey(rand.Reader, 1024)
|
privateKey, err := rsa.GenerateKey(rand.Reader, 1024)
|
||||||
require.NoError(t, err, "Could not generate test key")
|
require.NoError(t, err, "Could not generate test key")
|
||||||
|
|
||||||
core, err := api.New(client, "lego-test", apiURL+"/dir", "", privateKey)
|
core, err := api.New(server.Client(), "lego-test", server.URL+"/dir", "", privateKey)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
solver := NewChallenge(core, validate, providerServer)
|
solver := NewChallenge(core, validate, providerServer)
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ func TestValidate(t *testing.T) {
|
|||||||
|
|
||||||
privateKey, _ := rsa.GenerateKey(rand.Reader, 1024)
|
privateKey, _ := rsa.GenerateKey(rand.Reader, 1024)
|
||||||
|
|
||||||
apiURL, client := tester.MockACMEServer().
|
server := tester.MockACMEServer().
|
||||||
Route("POST /chlg",
|
Route("POST /chlg",
|
||||||
http.HandlerFunc(func(rw http.ResponseWriter, req *http.Request) {
|
http.HandlerFunc(func(rw http.ResponseWriter, req *http.Request) {
|
||||||
if err := validateNoBody(privateKey, req); err != nil {
|
if err := validateNoBody(privateKey, req); err != nil {
|
||||||
@@ -76,7 +76,7 @@ func TestValidate(t *testing.T) {
|
|||||||
})).
|
})).
|
||||||
BuildHTTPS(t)
|
BuildHTTPS(t)
|
||||||
|
|
||||||
core, err := api.New(client, "lego-test", apiURL+"/dir", "", privateKey)
|
core, err := api.New(server.Client(), "lego-test", server.URL+"/dir", "", privateKey)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
testCases := []struct {
|
testCases := []struct {
|
||||||
@@ -118,7 +118,7 @@ func TestValidate(t *testing.T) {
|
|||||||
t.Run(test.name, func(t *testing.T) {
|
t.Run(test.name, func(t *testing.T) {
|
||||||
statuses = test.statuses
|
statuses = test.statuses
|
||||||
|
|
||||||
err := validate(core, "example.com", acme.Challenge{Type: "http-01", Token: "token", URL: apiURL + "/chlg"})
|
err := validate(core, "example.com", acme.Challenge{Type: "http-01", Token: "token", URL: server.URL + "/chlg"})
|
||||||
if test.want == "" {
|
if test.want == "" {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestChallenge(t *testing.T) {
|
func TestChallenge(t *testing.T) {
|
||||||
apiURL, client := tester.MockACMEServer().BuildHTTPS(t)
|
server := tester.MockACMEServer().BuildHTTPS(t)
|
||||||
|
|
||||||
domain := "localhost"
|
domain := "localhost"
|
||||||
port := "24457"
|
port := "24457"
|
||||||
@@ -68,7 +68,7 @@ func TestChallenge(t *testing.T) {
|
|||||||
privateKey, err := rsa.GenerateKey(rand.Reader, 1024)
|
privateKey, err := rsa.GenerateKey(rand.Reader, 1024)
|
||||||
require.NoError(t, err, "Could not generate test key")
|
require.NoError(t, err, "Could not generate test key")
|
||||||
|
|
||||||
core, err := api.New(client, "lego-test", apiURL+"/dir", "", privateKey)
|
core, err := api.New(server.Client(), "lego-test", server.URL+"/dir", "", privateKey)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
solver := NewChallenge(
|
solver := NewChallenge(
|
||||||
@@ -92,12 +92,12 @@ func TestChallenge(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestChallengeInvalidPort(t *testing.T) {
|
func TestChallengeInvalidPort(t *testing.T) {
|
||||||
apiURL, client := tester.MockACMEServer().BuildHTTPS(t)
|
server := tester.MockACMEServer().BuildHTTPS(t)
|
||||||
|
|
||||||
privateKey, err := rsa.GenerateKey(rand.Reader, 1024)
|
privateKey, err := rsa.GenerateKey(rand.Reader, 1024)
|
||||||
require.NoError(t, err, "Could not generate test key")
|
require.NoError(t, err, "Could not generate test key")
|
||||||
|
|
||||||
core, err := api.New(client, "lego-test", apiURL+"/dir", "", privateKey)
|
core, err := api.New(server.Client(), "lego-test", server.URL+"/dir", "", privateKey)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
solver := NewChallenge(
|
solver := NewChallenge(
|
||||||
@@ -122,7 +122,7 @@ func TestChallengeInvalidPort(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestChallengeIPaddress(t *testing.T) {
|
func TestChallengeIPaddress(t *testing.T) {
|
||||||
apiURL, client := tester.MockACMEServer().BuildHTTPS(t)
|
server := tester.MockACMEServer().BuildHTTPS(t)
|
||||||
|
|
||||||
domain := "127.0.0.1"
|
domain := "127.0.0.1"
|
||||||
port := "24457"
|
port := "24457"
|
||||||
@@ -169,7 +169,7 @@ func TestChallengeIPaddress(t *testing.T) {
|
|||||||
privateKey, err := rsa.GenerateKey(rand.Reader, 1024)
|
privateKey, err := rsa.GenerateKey(rand.Reader, 1024)
|
||||||
require.NoError(t, err, "Could not generate test key")
|
require.NoError(t, err, "Could not generate test key")
|
||||||
|
|
||||||
core, err := api.New(client, "lego-test", apiURL+"/dir", "", privateKey)
|
core, err := api.New(server.Client(), "lego-test", server.URL+"/dir", "", privateKey)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
solver := NewChallenge(
|
solver := NewChallenge(
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestNewClient(t *testing.T) {
|
func TestNewClient(t *testing.T) {
|
||||||
apiURL, httpsClient := tester.MockACMEServer().BuildHTTPS(t)
|
server := tester.MockACMEServer().BuildHTTPS(t)
|
||||||
|
|
||||||
key, err := rsa.GenerateKey(rand.Reader, 1024)
|
key, err := rsa.GenerateKey(rand.Reader, 1024)
|
||||||
require.NoError(t, err, "Could not generate test key")
|
require.NoError(t, err, "Could not generate test key")
|
||||||
@@ -25,8 +25,8 @@ func TestNewClient(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
config := NewConfig(user)
|
config := NewConfig(user)
|
||||||
config.CADirURL = apiURL + "/dir"
|
config.CADirURL = server.URL + "/dir"
|
||||||
config.HTTPClient = httpsClient
|
config.HTTPClient = server.Client()
|
||||||
|
|
||||||
client, err := NewClient(config)
|
client, err := NewClient(config)
|
||||||
require.NoError(t, err, "Could not create client")
|
require.NoError(t, err, "Could not create client")
|
||||||
|
|||||||
@@ -11,10 +11,10 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
// MockACMEServer Minimal stub ACME server for validation.
|
// MockACMEServer Minimal stub ACME server for validation.
|
||||||
func MockACMEServer() *servermock.Builder[string] {
|
func MockACMEServer() *servermock.Builder[*httptest.Server] {
|
||||||
return servermock.NewBuilder(
|
return servermock.NewBuilder(
|
||||||
func(server *httptest.Server) (string, error) {
|
func(server *httptest.Server) (*httptest.Server, error) {
|
||||||
return server.URL, nil
|
return server, nil
|
||||||
}).
|
}).
|
||||||
Route("GET /dir", http.HandlerFunc(func(rw http.ResponseWriter, req *http.Request) {
|
Route("GET /dir", http.HandlerFunc(func(rw http.ResponseWriter, req *http.Request) {
|
||||||
serverURL := fmt.Sprintf("https://%s", req.Context().Value(http.LocalAddrContextKey))
|
serverURL := fmt.Sprintf("https://%s", req.Context().Value(http.LocalAddrContextKey))
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ func (b *Builder[T]) Build(t *testing.T) T {
|
|||||||
return client
|
return client
|
||||||
}
|
}
|
||||||
|
|
||||||
func (b *Builder[T]) BuildHTTPS(t *testing.T) (T, *http.Client) {
|
func (b *Builder[T]) BuildHTTPS(t *testing.T) T {
|
||||||
t.Helper()
|
t.Helper()
|
||||||
|
|
||||||
server := httptest.NewTLSServer(b.mux)
|
server := httptest.NewTLSServer(b.mux)
|
||||||
@@ -80,5 +80,5 @@ func (b *Builder[T]) BuildHTTPS(t *testing.T) (T, *http.Client) {
|
|||||||
client, err := b.clientBuilder(server)
|
client, err := b.clientBuilder(server)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
return client, server.Client()
|
return client
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestRegistrar_ResolveAccountByKey(t *testing.T) {
|
func TestRegistrar_ResolveAccountByKey(t *testing.T) {
|
||||||
apiURL, client := tester.MockACMEServer().
|
server := tester.MockACMEServer().
|
||||||
Route("/account",
|
Route("/account",
|
||||||
http.HandlerFunc(func(rw http.ResponseWriter, req *http.Request) {
|
http.HandlerFunc(func(rw http.ResponseWriter, req *http.Request) {
|
||||||
rw.Header().Set("Location",
|
rw.Header().Set("Location",
|
||||||
@@ -35,7 +35,7 @@ func TestRegistrar_ResolveAccountByKey(t *testing.T) {
|
|||||||
privatekey: key,
|
privatekey: key,
|
||||||
}
|
}
|
||||||
|
|
||||||
core, err := api.New(client, "lego-test", apiURL+"/dir", "", key)
|
core, err := api.New(server.Client(), "lego-test", server.URL+"/dir", "", key)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
registrar := NewRegistrar(core, user)
|
registrar := NewRegistrar(core, user)
|
||||||
|
|||||||
Reference in New Issue
Block a user