From 60407ed261b5004b6b43270726d07db8df3885ea Mon Sep 17 00:00:00 2001 From: adlerhurst <27845747+adlerhurst@users.noreply.github.com> Date: Mon, 28 Jul 2025 11:05:51 +0200 Subject: [PATCH] add trusted domain test cases --- .../repository/instance_domain_test.go | 84 ++++++++++++++++++- 1 file changed, 80 insertions(+), 4 deletions(-) diff --git a/backend/v3/storage/database/repository/instance_domain_test.go b/backend/v3/storage/database/repository/instance_domain_test.go index 27f594155f..788885751e 100644 --- a/backend/v3/storage/database/repository/instance_domain_test.go +++ b/backend/v3/storage/database/repository/instance_domain_test.go @@ -38,7 +38,7 @@ func TestAddInstanceDomain(t *testing.T) { err error }{ { - name: "happy path", + name: "happy path custom domain", instanceDomain: domain.AddInstanceDomain{ InstanceID: instanceID, Domain: gofakeit.DomainName(), @@ -47,6 +47,14 @@ func TestAddInstanceDomain(t *testing.T) { IsGenerated: gu.Ptr(false), }, }, + { + name: "happy path trusted domain", + instanceDomain: domain.AddInstanceDomain{ + InstanceID: instanceID, + Domain: gofakeit.DomainName(), + Type: domain.DomainTypeTrusted, + }, + }, { name: "add primary domain", instanceDomain: domain.AddInstanceDomain{ @@ -58,7 +66,7 @@ func TestAddInstanceDomain(t *testing.T) { }, }, { - name: "add domain without domain name", + name: "add custom domain without domain name", instanceDomain: domain.AddInstanceDomain{ InstanceID: instanceID, Domain: "", @@ -69,7 +77,16 @@ func TestAddInstanceDomain(t *testing.T) { err: new(database.CheckError), }, { - name: "add domain with same domain twice", + name: "add trusted domain without domain name", + instanceDomain: domain.AddInstanceDomain{ + InstanceID: instanceID, + Domain: "", + Type: domain.DomainTypeTrusted, + }, + err: new(database.CheckError), + }, + { + name: "add custom domain with same domain twice", testFunc: func(ctx context.Context, t *testing.T, domainRepo domain.InstanceDomainRepository) *domain.AddInstanceDomain { domainName := gofakeit.DomainName() @@ -89,12 +106,35 @@ func TestAddInstanceDomain(t *testing.T) { InstanceID: instanceID, Domain: domainName, Type: domain.DomainTypeCustom, - IsPrimary: gu.Ptr(true), + IsPrimary: gu.Ptr(false), IsGenerated: gu.Ptr(false), } }, err: new(database.UniqueError), }, + { + name: "add trusted domain with same domain twice", + testFunc: func(ctx context.Context, t *testing.T, domainRepo domain.InstanceDomainRepository) *domain.AddInstanceDomain { + domainName := gofakeit.DomainName() + + instanceDomain := &domain.AddInstanceDomain{ + InstanceID: instanceID, + Domain: domainName, + Type: domain.DomainTypeTrusted, + } + + err := domainRepo.Add(ctx, instanceDomain) + require.NoError(t, err) + + // return same domain again + return &domain.AddInstanceDomain{ + InstanceID: instanceID, + Domain: domainName, + Type: domain.DomainTypeTrusted, + } + }, + err: new(database.UniqueError), + }, { name: "add domain with non-existent instance", instanceDomain: domain.AddInstanceDomain{ @@ -116,6 +156,42 @@ func TestAddInstanceDomain(t *testing.T) { }, err: new(database.ForeignKeyError), }, + { + name: "add custom domain without primary", + instanceDomain: domain.AddInstanceDomain{ + Domain: gofakeit.DomainName(), + Type: domain.DomainTypeCustom, + IsGenerated: gu.Ptr(false), + }, + err: new(database.CheckError), + }, + { + name: "add custom domain without generated", + instanceDomain: domain.AddInstanceDomain{ + Domain: gofakeit.DomainName(), + Type: domain.DomainTypeCustom, + IsPrimary: gu.Ptr(false), + }, + err: new(database.CheckError), + }, + { + name: "add trusted domain with primary", + instanceDomain: domain.AddInstanceDomain{ + Domain: gofakeit.DomainName(), + Type: domain.DomainTypeTrusted, + IsPrimary: gu.Ptr(false), + }, + err: new(database.CheckError), + }, + { + name: "add trusted domain with generated", + instanceDomain: domain.AddInstanceDomain{ + Domain: gofakeit.DomainName(), + Type: domain.DomainTypeTrusted, + IsGenerated: gu.Ptr(false), + }, + err: new(database.CheckError), + }, } for _, test := range tests {