home/internal/server/usecase/server_ucase_test.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)
}
}