39 lines
946 B
Go
39 lines
946 B
Go
package usecase_test
|
|
|
|
import (
|
|
"context"
|
|
"sync"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
repository "source.toby3d.me/website/oauth/internal/client/repository/memory"
|
|
"source.toby3d.me/website/oauth/internal/client/usecase"
|
|
"source.toby3d.me/website/oauth/internal/model"
|
|
)
|
|
|
|
func TestDiscovery(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
require := require.New(t)
|
|
assert := assert.New(t)
|
|
store := new(sync.Map)
|
|
client := &model.Client{
|
|
ID: "http://127.0.0.1:2368/",
|
|
Name: "Example App",
|
|
Logo: "http://127.0.0.1:2368/logo.png",
|
|
URL: "http://127.0.0.1:2368/",
|
|
RedirectURI: []model.URL{
|
|
"https://app.example.com/redirect",
|
|
"http://127.0.0.1:2368/redirect",
|
|
},
|
|
}
|
|
|
|
store.Store(string(client.ID), client)
|
|
|
|
result, err := usecase.NewClientUseCase(repository.NewMemoryClientRepository(store)).Discovery(context.TODO(),
|
|
client.ID)
|
|
require.NoError(err)
|
|
assert.Equal(client, result)
|
|
}
|