47 lines
1.1 KiB
Go
47 lines
1.1 KiB
Go
|
package webroot
|
||
|
|
||
|
import (
|
||
|
"io/ioutil"
|
||
|
"os"
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
func TestHTTPProviderWebRoot(t *testing.T) {
|
||
|
webroot := "webroot"
|
||
|
domain := "domain"
|
||
|
token := "token"
|
||
|
keyAuth := "keyAuth"
|
||
|
challengeFilePath := webroot + "/.well-known/acme-challenge/" + token
|
||
|
|
||
|
os.MkdirAll(webroot+"/.well-known/acme-challenge", 0777)
|
||
|
defer os.RemoveAll(webroot)
|
||
|
|
||
|
provider, err := NewHTTPProviderWebroot(webroot)
|
||
|
if err != nil {
|
||
|
t.Errorf("Webroot provider error: got %v, want nil", err)
|
||
|
}
|
||
|
|
||
|
err = provider.Present(domain, token, keyAuth)
|
||
|
if err != nil {
|
||
|
t.Errorf("Webroot provider present() error: got %v, want nil", err)
|
||
|
}
|
||
|
|
||
|
if _, err := os.Stat(challengeFilePath); os.IsNotExist(err) {
|
||
|
t.Error("Challenge file was not created in webroot")
|
||
|
}
|
||
|
|
||
|
data, err := ioutil.ReadFile(challengeFilePath)
|
||
|
if err != nil {
|
||
|
t.Errorf("Webroot provider ReadFile() error: got %v, want nil", err)
|
||
|
}
|
||
|
dataStr := string(data)
|
||
|
if dataStr != keyAuth {
|
||
|
t.Errorf("Challenge file content: got %q, want %q", dataStr, keyAuth)
|
||
|
}
|
||
|
|
||
|
err = provider.CleanUp(domain, token, keyAuth)
|
||
|
if err != nil {
|
||
|
t.Errorf("Webroot provider CleanUp() error: got %v, want nil", err)
|
||
|
}
|
||
|
}
|