owl-blogs/owl_test.go

71 lines
1.4 KiB
Go
Raw Normal View History

2022-08-03 14:55:48 +00:00
package owl_test
2022-07-21 17:44:07 +00:00
2022-07-24 14:19:21 +00:00
import (
2022-08-03 14:55:48 +00:00
"h4kor/owl-blogs"
2022-07-24 14:19:21 +00:00
"math/rand"
2022-09-04 15:10:40 +00:00
"net/url"
2022-07-24 14:19:21 +00:00
"time"
)
2022-09-04 13:32:37 +00:00
type MockHttpParser struct{}
2022-09-04 13:32:37 +00:00
func (*MockHttpParser) ParseHEntry(data []byte) (owl.ParsedHEntry, error) {
return owl.ParsedHEntry{Title: "Mock Title"}, nil
}
2022-09-04 13:32:37 +00:00
func (*MockHttpParser) ParseLinks(data []byte) ([]string, error) {
return []string{"http://example.com"}, nil
}
2022-09-04 15:10:40 +00:00
func (*MockHttpParser) GetWebmentionEndpoint(data []byte) (string, error) {
return "http://example.com/webmention", nil
}
type MockHttpRetriever struct{}
func (*MockHttpRetriever) Get(url string) ([]byte, error) {
return []byte(""), nil
}
2022-09-04 15:10:40 +00:00
func (m *MockHttpRetriever) Post(url string, data url.Values) ([]byte, error) {
return []byte(""), nil
}
2022-07-24 14:19:21 +00:00
func randomName() string {
rand.Seed(time.Now().UnixNano())
var letters = []rune("abcdefghijklmnopqrstuvwxyz")
b := make([]rune, 8)
for i := range b {
b[i] = letters[rand.Intn(len(letters))]
}
return string(b)
}
func testRepoName() string {
return "/tmp/" + randomName()
}
func randomUserName() string {
return randomName()
}
2022-07-21 17:44:07 +00:00
2022-08-03 14:55:48 +00:00
func getTestUser() owl.User {
repo, _ := owl.CreateRepository(testRepoName(), owl.RepoConfig{})
2022-07-21 17:44:07 +00:00
user, _ := repo.CreateUser(randomUserName())
return user
}
2022-07-23 15:19:47 +00:00
func getTestRepo(config owl.RepoConfig) owl.Repository {
repo, _ := owl.CreateRepository(testRepoName(), config)
2022-07-24 18:29:31 +00:00
return repo
}
2022-07-23 15:19:47 +00:00
func contains(s []string, e string) bool {
for _, a := range s {
if a == e {
return true
}
}
return false
}