Skip to content

Commit 19efa0e

Browse files
committed
feat: add more tests
1 parent 6fbdea0 commit 19efa0e

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

internal/authenticator/builder_test.go

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import (
66
"github.com/snapp-incubator/soteria/internal/authenticator"
77
"github.com/snapp-incubator/soteria/internal/config"
88
"github.com/snapp-incubator/soteria/internal/topics"
9+
"github.com/snapp-incubator/soteria/pkg/acl"
10+
"github.com/snapp-incubator/soteria/pkg/validator"
911
"github.com/stretchr/testify/require"
1012
"go.opentelemetry.io/otel/trace/noop"
1113
"go.uber.org/zap"
@@ -67,6 +69,53 @@ func TestBuilderInvalidAuthenticator(t *testing.T) {
6769
require.ErrorIs(err, authenticator.ErrInvalidAuthenticator)
6870
}
6971

72+
func TestBuilderAutoAuthenticator(t *testing.T) {
73+
t.Parallel()
74+
75+
require := require.New(t)
76+
77+
b := authenticator.Builder{
78+
Tracer: noop.NewTracerProvider().Tracer(""),
79+
Vendors: []config.Vendor{
80+
{
81+
Jwt: config.JWT{
82+
IssName: "",
83+
SubName: "",
84+
SigningMethod: "",
85+
},
86+
Company: "auto",
87+
Type: "auto",
88+
AllowedAccessTypes: []string{"pub"},
89+
Topics: nil,
90+
HashIDMap: nil,
91+
IssEntityMap: nil,
92+
IssPeerMap: nil,
93+
Keys: nil,
94+
},
95+
},
96+
Logger: zap.NewNop(),
97+
ValidatorConfig: config.Validator{
98+
URL: "https://httpbin.org",
99+
Timeout: 0,
100+
},
101+
}
102+
103+
vendors, err := b.Authenticators()
104+
require.NoError(err)
105+
require.Len(vendors, 1)
106+
require.Contains(vendors, "auto")
107+
108+
a := vendors["auto"]
109+
require.Equal("auto", a.GetCompany())
110+
require.IsType(new(authenticator.AutoAuthenticator), a)
111+
require.True(a.ValidateAccessType(acl.Pub))
112+
require.False(a.ValidateAccessType(acl.Sub))
113+
114+
aa, ok := a.(*authenticator.AutoAuthenticator)
115+
require.True(ok)
116+
require.Equal(validator.New(b.ValidatorConfig.URL, b.ValidatorConfig.Timeout), aa.Validator)
117+
}
118+
70119
func TestBuilderInternalAuthenticator(t *testing.T) {
71120
t.Parallel()
72121

0 commit comments

Comments
 (0)