42 lines
828 B
Go
42 lines
828 B
Go
package usecase_test
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"github.com/google/go-cmp/cmp"
|
|
|
|
"source.toby3d.me/toby3d/home/internal/domain"
|
|
"source.toby3d.me/toby3d/home/internal/server/usecase"
|
|
)
|
|
|
|
func TestDo(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
site := domain.TestSite(t)
|
|
|
|
actual, err := usecase.NewServerUseCase().Do(context.Background(), *site)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
expect := &domain.Server{
|
|
Headers: []domain.Header{{
|
|
Path: "/**",
|
|
Headers: map[string]string{
|
|
"Link": `<https://auth.example.com/>; rel="indieauth-metadata", ` +
|
|
`<https://pub.example.com/>; rel="micropub"`,
|
|
},
|
|
}, {
|
|
Path: "/foo/bar",
|
|
Headers: map[string]string{
|
|
"X-Testing": `sample-text`,
|
|
},
|
|
}},
|
|
Redirects: make([]domain.Redirect, 0),
|
|
}
|
|
if diff := cmp.Diff(actual, expect); diff != "" {
|
|
t.Error(diff)
|
|
}
|
|
}
|