fixup! fixup! fixup! fixup! fixup! fixup! Merge branch 'main' into import_export_merge

This commit is contained in:
Iraq Jaber
2025-06-06 16:43:09 +02:00
parent d6c5783dc0
commit 552f091250
2 changed files with 161 additions and 92 deletions

View File

@@ -221,35 +221,67 @@ func TestUpdateInstance(t *testing.T) {
}
func TestGetInstance(t *testing.T) {
tests := []struct {
instanceRepo := repository.InstanceRepository(pool)
type test struct {
name string
testFunc func() *domain.Instance
conditionClauses []database.Condition
noInstanceReturned bool
}{
{
name: "happy path",
testFunc: func() *domain.Instance {
instanceRepo := repository.InstanceRepository(pool)
instanceId := gofakeit.Name()
instanceName := gofakeit.Name()
}
ctx := context.Background()
inst := domain.Instance{
ID: instanceId,
Name: instanceName,
DefaultOrgID: "defaultOrgId",
IAMProjectID: "iamProject",
ConsoleClientID: "consoleCLient",
ConsoleAppID: "consoleApp",
DefaultLanguage: "defaultLanguage",
}
tests := []test{
func() test {
instanceId := gofakeit.Name()
return test{
name: "happy path get using id",
testFunc: func() *domain.Instance {
instanceName := gofakeit.Name()
// create instance
err := instanceRepo.Create(ctx, &inst)
assert.NoError(t, err)
return &inst
},
},
ctx := context.Background()
inst := domain.Instance{
ID: instanceId,
Name: instanceName,
DefaultOrgID: "defaultOrgId",
IAMProjectID: "iamProject",
ConsoleClientID: "consoleCLient",
ConsoleAppID: "consoleApp",
DefaultLanguage: "defaultLanguage",
}
// create instance
err := instanceRepo.Create(ctx, &inst)
assert.NoError(t, err)
return &inst
},
conditionClauses: []database.Condition{instanceRepo.IDCondition(instanceId)},
}
}(),
func() test {
instanceName := gofakeit.Name()
return test{
name: "happy path get using name",
testFunc: func() *domain.Instance {
instanceId := gofakeit.Name()
ctx := context.Background()
inst := domain.Instance{
ID: instanceId,
Name: instanceName,
DefaultOrgID: "defaultOrgId",
IAMProjectID: "iamProject",
ConsoleClientID: "consoleCLient",
ConsoleAppID: "consoleApp",
DefaultLanguage: "defaultLanguage",
}
// create instance
err := instanceRepo.Create(ctx, &inst)
assert.NoError(t, err)
return &inst
},
conditionClauses: []database.Condition{instanceRepo.NameCondition(database.TextOperationEqual, instanceName)},
}
}(),
{
name: "get non existent instance",
testFunc: func() *domain.Instance {
@@ -260,6 +292,7 @@ func TestGetInstance(t *testing.T) {
}
return &inst
},
conditionClauses: []database.Condition{instanceRepo.NameCondition(database.TextOperationEqual, "non-existent-instance-name")},
noInstanceReturned: true,
},
}
@@ -275,7 +308,7 @@ func TestGetInstance(t *testing.T) {
// check instance values
returnedInstance, err := instanceRepo.Get(ctx,
instanceRepo.IDCondition(instance.ID),
tt.conditionClauses...,
)
assert.NoError(t, err)
if tt.noInstanceReturned {
@@ -304,9 +337,10 @@ func TestListInstance(t *testing.T) {
}
tests := []test{
{
name: "happy path single instance",
name: "happy path single instance no filter",
testFunc: func() ([]*domain.Instance, database.PoolTest, func()) {
ctx := context.Background()
// create new db to make sure no instances exist
pool, stop, err := newEmbeededDB()
assert.NoError(t, err)
@@ -339,9 +373,10 @@ func TestListInstance(t *testing.T) {
},
},
{
name: "happy path multiple instance",
name: "happy path multiple instance no filter",
testFunc: func() ([]*domain.Instance, database.PoolTest, func()) {
ctx := context.Background()
// create new db to make sure no instances exist
pool, stop, err := newEmbeededDB()
assert.NoError(t, err)
@@ -496,11 +531,45 @@ func TestDeleteInstance(t *testing.T) {
conditionClauses database.Condition
}
tests := []test{
func() test {
instanceRepo := repository.InstanceRepository(pool)
instanceId := gofakeit.Name()
return test{
name: "happy path delete single instance filter id",
testFunc: func() {
ctx := context.Background()
noOfInstances := 1
instances := make([]*domain.Instance, noOfInstances)
for i := range noOfInstances {
instanceName := gofakeit.Name()
inst := domain.Instance{
ID: instanceId,
Name: instanceName,
DefaultOrgID: "defaultOrgId",
IAMProjectID: "iamProject",
ConsoleClientID: "consoleCLient",
ConsoleAppID: "consoleApp",
DefaultLanguage: "defaultLanguage",
}
// create instance
err := instanceRepo.Create(ctx, &inst)
assert.NoError(t, err)
instances[i] = &inst
}
},
conditionClauses: instanceRepo.IDCondition(instanceId),
}
}(),
func() test {
instanceRepo := repository.InstanceRepository(pool)
instanceName := gofakeit.Name()
return test{
name: "happy path delete single instance",
name: "happy path delete single instance filter name",
testFunc: func() {
ctx := context.Background()

View File

@@ -1,77 +1,77 @@
package repository_test
import (
"context"
"testing"
// import (
// "context"
// "testing"
"github.com/stretchr/testify/assert"
"go.uber.org/mock/gomock"
// "github.com/stretchr/testify/assert"
// "go.uber.org/mock/gomock"
"github.com/zitadel/zitadel/backend/v3/storage/database"
"github.com/zitadel/zitadel/backend/v3/storage/database/dbmock"
"github.com/zitadel/zitadel/backend/v3/storage/database/repository"
)
// "github.com/zitadel/zitadel/backend/v3/storage/database"
// "github.com/zitadel/zitadel/backend/v3/storage/database/dbmock"
// "github.com/zitadel/zitadel/backend/v3/storage/database/repository"
// )
func TestQueryUser(t *testing.T) {
t.Skip("tests are meant as examples and are not real tests")
t.Run("User filters", func(t *testing.T) {
client := dbmock.NewMockClient(gomock.NewController(t))
// func TestQueryUser(t *testing.T) {
// t.Skip("tests are meant as examples and are not real tests")
// t.Run("User filters", func(t *testing.T) {
// client := dbmock.NewMockClient(gomock.NewController(t))
user := repository.UserRepository(client)
u, err := user.Get(context.Background(),
database.WithCondition(
database.And(
database.Or(
user.IDCondition("test"),
user.IDCondition("2"),
),
user.UsernameCondition(database.TextOperationStartsWithIgnoreCase, "test"),
),
),
database.WithOrderBy(user.CreatedAtColumn()),
)
// user := repository.UserRepository(client)
// u, err := user.Get(context.Background(),
// database.WithCondition(
// database.And(
// database.Or(
// user.IDCondition("test"),
// user.IDCondition("2"),
// ),
// user.UsernameCondition(database.TextOperationStartsWithIgnoreCase, "test"),
// ),
// ),
// database.WithOrderBy(user.CreatedAtColumn()),
// )
assert.NoError(t, err)
assert.NotNil(t, u)
})
// assert.NoError(t, err)
// assert.NotNil(t, u)
// })
t.Run("machine and human filters", func(t *testing.T) {
client := dbmock.NewMockClient(gomock.NewController(t))
// t.Run("machine and human filters", func(t *testing.T) {
// client := dbmock.NewMockClient(gomock.NewController(t))
user := repository.UserRepository(client)
machine := user.Machine()
human := user.Human()
email, err := human.GetEmail(context.Background(), database.And(
user.UsernameCondition(database.TextOperationStartsWithIgnoreCase, "test"),
database.Or(
machine.DescriptionCondition(database.TextOperationStartsWithIgnoreCase, "test"),
human.EmailVerifiedCondition(true),
database.IsNotNull(machine.DescriptionColumn()),
),
))
// user := repository.UserRepository(client)
// machine := user.Machine()
// human := user.Human()
// email, err := human.GetEmail(context.Background(), database.And(
// user.UsernameCondition(database.TextOperationStartsWithIgnoreCase, "test"),
// database.Or(
// machine.DescriptionCondition(database.TextOperationStartsWithIgnoreCase, "test"),
// human.EmailVerifiedCondition(true),
// database.IsNotNull(machine.DescriptionColumn()),
// ),
// ))
assert.NoError(t, err)
assert.NotNil(t, email)
})
}
// assert.NoError(t, err)
// assert.NotNil(t, email)
// })
// }
type dbInstruction string
// type dbInstruction string
func TestArg(t *testing.T) {
var bla any = "asdf"
instr, ok := bla.(dbInstruction)
assert.False(t, ok)
assert.Empty(t, instr)
bla = dbInstruction("asdf")
instr, ok = bla.(dbInstruction)
assert.True(t, ok)
assert.Equal(t, instr, dbInstruction("asdf"))
}
// func TestArg(t *testing.T) {
// var bla any = "asdf"
// instr, ok := bla.(dbInstruction)
// assert.False(t, ok)
// assert.Empty(t, instr)
// bla = dbInstruction("asdf")
// instr, ok = bla.(dbInstruction)
// assert.True(t, ok)
// assert.Equal(t, instr, dbInstruction("asdf"))
// }
func TestWriteUser(t *testing.T) {
t.Skip("tests are meant as examples and are not real tests")
t.Run("update user", func(t *testing.T) {
user := repository.UserRepository(nil)
user.Human().Update(context.Background(), user.IDCondition("test"), user.SetUsername("test"))
})
}
// func TestWriteUser(t *testing.T) {
// t.Skip("tests are meant as examples and are not real tests")
// t.Run("update user", func(t *testing.T) {
// user := repository.UserRepository(nil)
// user.Human().Update(context.Background(), user.IDCondition("test"), user.SetUsername("test"))
// })
// }