Skip to content

Commit

Permalink
feat: add more tests
Browse files Browse the repository at this point in the history
  • Loading branch information
1995parham committed Oct 23, 2024
1 parent 6fbdea0 commit 19efa0e
Showing 1 changed file with 49 additions and 0 deletions.
49 changes: 49 additions & 0 deletions internal/authenticator/builder_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ import (
"github.com/snapp-incubator/soteria/internal/authenticator"
"github.com/snapp-incubator/soteria/internal/config"
"github.com/snapp-incubator/soteria/internal/topics"
"github.com/snapp-incubator/soteria/pkg/acl"
"github.com/snapp-incubator/soteria/pkg/validator"
"github.com/stretchr/testify/require"
"go.opentelemetry.io/otel/trace/noop"
"go.uber.org/zap"
Expand Down Expand Up @@ -67,6 +69,53 @@ func TestBuilderInvalidAuthenticator(t *testing.T) {
require.ErrorIs(err, authenticator.ErrInvalidAuthenticator)
}

func TestBuilderAutoAuthenticator(t *testing.T) {
t.Parallel()

require := require.New(t)

b := authenticator.Builder{
Tracer: noop.NewTracerProvider().Tracer(""),
Vendors: []config.Vendor{
{
Jwt: config.JWT{
IssName: "",
SubName: "",
SigningMethod: "",
},
Company: "auto",
Type: "auto",
AllowedAccessTypes: []string{"pub"},
Topics: nil,
HashIDMap: nil,
IssEntityMap: nil,
IssPeerMap: nil,
Keys: nil,
},
},
Logger: zap.NewNop(),
ValidatorConfig: config.Validator{
URL: "https://httpbin.org",
Timeout: 0,
},
}

vendors, err := b.Authenticators()
require.NoError(err)
require.Len(vendors, 1)
require.Contains(vendors, "auto")

a := vendors["auto"]
require.Equal("auto", a.GetCompany())
require.IsType(new(authenticator.AutoAuthenticator), a)
require.True(a.ValidateAccessType(acl.Pub))
require.False(a.ValidateAccessType(acl.Sub))

aa, ok := a.(*authenticator.AutoAuthenticator)
require.True(ok)
require.Equal(validator.New(b.ValidatorConfig.URL, b.ValidatorConfig.Timeout), aa.Validator)
}

func TestBuilderInternalAuthenticator(t *testing.T) {
t.Parallel()

Expand Down

0 comments on commit 19efa0e

Please sign in to comment.