40 lines
912 B
Go
40 lines
912 B
Go
package webroot
|
|
|
|
import (
|
|
"os"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestHTTPProvider(t *testing.T) {
|
|
webroot := "webroot"
|
|
domain := "domain"
|
|
token := "token"
|
|
keyAuth := "keyAuth"
|
|
challengeFilePath := webroot + "/.well-known/acme-challenge/" + token
|
|
|
|
require.NoError(t, os.MkdirAll(webroot+"/.well-known/acme-challenge", 0o777))
|
|
defer os.RemoveAll(webroot)
|
|
|
|
provider, err := NewHTTPProvider(webroot)
|
|
require.NoError(t, err)
|
|
|
|
err = provider.Present(domain, token, keyAuth)
|
|
require.NoError(t, err)
|
|
|
|
if _, err = os.Stat(challengeFilePath); os.IsNotExist(err) {
|
|
t.Error("Challenge file was not created in webroot")
|
|
}
|
|
|
|
var data []byte
|
|
data, err = os.ReadFile(challengeFilePath)
|
|
require.NoError(t, err)
|
|
|
|
dataStr := string(data)
|
|
assert.Equal(t, keyAuth, dataStr)
|
|
|
|
err = provider.CleanUp(domain, token, keyAuth)
|
|
require.NoError(t, err)
|
|
}
|