Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
gitpod-io
GitHub Repository: gitpod-io/gitpod
Path: blob/main/components/public-api-server/pkg/origin/middleware_test.go
2500 views
1
// Copyright (c) 2023 Gitpod GmbH. All rights reserved.
2
// Licensed under the GNU Affero General Public License (AGPL).
3
// See License.AGPL.txt in the project root for license information.
4
5
package origin
6
7
import (
8
"context"
9
"testing"
10
11
"github.com/bufbuild/connect-go"
12
"github.com/stretchr/testify/require"
13
)
14
15
func TestInterceptor_Unary(t *testing.T) {
16
requestPaylaod := "request"
17
origin := "my-origin"
18
19
type response struct {
20
origin string
21
}
22
23
handler := connect.UnaryFunc(func(ctx context.Context, ar connect.AnyRequest) (connect.AnyResponse, error) {
24
origin := FromContext(ctx)
25
return connect.NewResponse(&response{origin: origin}), nil
26
})
27
28
ctx := context.Background()
29
request := connect.NewRequest(&requestPaylaod)
30
request.Header().Add("Origin", origin)
31
32
interceptor := NewInterceptor()
33
resp, err := interceptor.WrapUnary(handler)(ctx, request)
34
require.NoError(t, err)
35
require.Equal(t, &response{origin: origin}, resp.Any())
36
}
37
38