mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-12 16:37:31 +00:00
fixup! fixup! fixup! fixup! fixup! fixup! Merge branch 'main' into import_export_merge
This commit is contained in:
@@ -221,35 +221,67 @@ func TestUpdateInstance(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestGetInstance(t *testing.T) {
|
func TestGetInstance(t *testing.T) {
|
||||||
tests := []struct {
|
instanceRepo := repository.InstanceRepository(pool)
|
||||||
|
type test struct {
|
||||||
name string
|
name string
|
||||||
testFunc func() *domain.Instance
|
testFunc func() *domain.Instance
|
||||||
|
conditionClauses []database.Condition
|
||||||
noInstanceReturned bool
|
noInstanceReturned bool
|
||||||
}{
|
}
|
||||||
{
|
|
||||||
name: "happy path",
|
|
||||||
testFunc: func() *domain.Instance {
|
|
||||||
instanceRepo := repository.InstanceRepository(pool)
|
|
||||||
instanceId := gofakeit.Name()
|
|
||||||
instanceName := gofakeit.Name()
|
|
||||||
|
|
||||||
ctx := context.Background()
|
tests := []test{
|
||||||
inst := domain.Instance{
|
func() test {
|
||||||
ID: instanceId,
|
instanceId := gofakeit.Name()
|
||||||
Name: instanceName,
|
return test{
|
||||||
DefaultOrgID: "defaultOrgId",
|
name: "happy path get using id",
|
||||||
IAMProjectID: "iamProject",
|
testFunc: func() *domain.Instance {
|
||||||
ConsoleClientID: "consoleCLient",
|
instanceName := gofakeit.Name()
|
||||||
ConsoleAppID: "consoleApp",
|
|
||||||
DefaultLanguage: "defaultLanguage",
|
|
||||||
}
|
|
||||||
|
|
||||||
// create instance
|
ctx := context.Background()
|
||||||
err := instanceRepo.Create(ctx, &inst)
|
inst := domain.Instance{
|
||||||
assert.NoError(t, err)
|
ID: instanceId,
|
||||||
return &inst
|
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",
|
name: "get non existent instance",
|
||||||
testFunc: func() *domain.Instance {
|
testFunc: func() *domain.Instance {
|
||||||
@@ -260,6 +292,7 @@ func TestGetInstance(t *testing.T) {
|
|||||||
}
|
}
|
||||||
return &inst
|
return &inst
|
||||||
},
|
},
|
||||||
|
conditionClauses: []database.Condition{instanceRepo.NameCondition(database.TextOperationEqual, "non-existent-instance-name")},
|
||||||
noInstanceReturned: true,
|
noInstanceReturned: true,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@@ -275,7 +308,7 @@ func TestGetInstance(t *testing.T) {
|
|||||||
|
|
||||||
// check instance values
|
// check instance values
|
||||||
returnedInstance, err := instanceRepo.Get(ctx,
|
returnedInstance, err := instanceRepo.Get(ctx,
|
||||||
instanceRepo.IDCondition(instance.ID),
|
tt.conditionClauses...,
|
||||||
)
|
)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
if tt.noInstanceReturned {
|
if tt.noInstanceReturned {
|
||||||
@@ -304,9 +337,10 @@ func TestListInstance(t *testing.T) {
|
|||||||
}
|
}
|
||||||
tests := []test{
|
tests := []test{
|
||||||
{
|
{
|
||||||
name: "happy path single instance",
|
name: "happy path single instance no filter",
|
||||||
testFunc: func() ([]*domain.Instance, database.PoolTest, func()) {
|
testFunc: func() ([]*domain.Instance, database.PoolTest, func()) {
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
|
// create new db to make sure no instances exist
|
||||||
pool, stop, err := newEmbeededDB()
|
pool, stop, err := newEmbeededDB()
|
||||||
assert.NoError(t, err)
|
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()) {
|
testFunc: func() ([]*domain.Instance, database.PoolTest, func()) {
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
|
// create new db to make sure no instances exist
|
||||||
pool, stop, err := newEmbeededDB()
|
pool, stop, err := newEmbeededDB()
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
@@ -496,11 +531,45 @@ func TestDeleteInstance(t *testing.T) {
|
|||||||
conditionClauses database.Condition
|
conditionClauses database.Condition
|
||||||
}
|
}
|
||||||
tests := []test{
|
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 {
|
func() test {
|
||||||
instanceRepo := repository.InstanceRepository(pool)
|
instanceRepo := repository.InstanceRepository(pool)
|
||||||
instanceName := gofakeit.Name()
|
instanceName := gofakeit.Name()
|
||||||
return test{
|
return test{
|
||||||
name: "happy path delete single instance",
|
name: "happy path delete single instance filter name",
|
||||||
testFunc: func() {
|
testFunc: func() {
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
|
|
||||||
|
@@ -1,77 +1,77 @@
|
|||||||
package repository_test
|
package repository_test
|
||||||
|
|
||||||
import (
|
// import (
|
||||||
"context"
|
// "context"
|
||||||
"testing"
|
// "testing"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
// "github.com/stretchr/testify/assert"
|
||||||
"go.uber.org/mock/gomock"
|
// "go.uber.org/mock/gomock"
|
||||||
|
|
||||||
"github.com/zitadel/zitadel/backend/v3/storage/database"
|
// "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/dbmock"
|
||||||
"github.com/zitadel/zitadel/backend/v3/storage/database/repository"
|
// "github.com/zitadel/zitadel/backend/v3/storage/database/repository"
|
||||||
)
|
// )
|
||||||
|
|
||||||
func TestQueryUser(t *testing.T) {
|
// func TestQueryUser(t *testing.T) {
|
||||||
t.Skip("tests are meant as examples and are not real tests")
|
// t.Skip("tests are meant as examples and are not real tests")
|
||||||
t.Run("User filters", func(t *testing.T) {
|
// t.Run("User filters", func(t *testing.T) {
|
||||||
client := dbmock.NewMockClient(gomock.NewController(t))
|
// client := dbmock.NewMockClient(gomock.NewController(t))
|
||||||
|
|
||||||
user := repository.UserRepository(client)
|
// user := repository.UserRepository(client)
|
||||||
u, err := user.Get(context.Background(),
|
// u, err := user.Get(context.Background(),
|
||||||
database.WithCondition(
|
// database.WithCondition(
|
||||||
database.And(
|
// database.And(
|
||||||
database.Or(
|
// database.Or(
|
||||||
user.IDCondition("test"),
|
// user.IDCondition("test"),
|
||||||
user.IDCondition("2"),
|
// user.IDCondition("2"),
|
||||||
),
|
// ),
|
||||||
user.UsernameCondition(database.TextOperationStartsWithIgnoreCase, "test"),
|
// user.UsernameCondition(database.TextOperationStartsWithIgnoreCase, "test"),
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
database.WithOrderBy(user.CreatedAtColumn()),
|
// database.WithOrderBy(user.CreatedAtColumn()),
|
||||||
)
|
// )
|
||||||
|
|
||||||
assert.NoError(t, err)
|
// assert.NoError(t, err)
|
||||||
assert.NotNil(t, u)
|
// assert.NotNil(t, u)
|
||||||
})
|
// })
|
||||||
|
|
||||||
t.Run("machine and human filters", func(t *testing.T) {
|
// t.Run("machine and human filters", func(t *testing.T) {
|
||||||
client := dbmock.NewMockClient(gomock.NewController(t))
|
// client := dbmock.NewMockClient(gomock.NewController(t))
|
||||||
|
|
||||||
user := repository.UserRepository(client)
|
// user := repository.UserRepository(client)
|
||||||
machine := user.Machine()
|
// machine := user.Machine()
|
||||||
human := user.Human()
|
// human := user.Human()
|
||||||
email, err := human.GetEmail(context.Background(), database.And(
|
// email, err := human.GetEmail(context.Background(), database.And(
|
||||||
user.UsernameCondition(database.TextOperationStartsWithIgnoreCase, "test"),
|
// user.UsernameCondition(database.TextOperationStartsWithIgnoreCase, "test"),
|
||||||
database.Or(
|
// database.Or(
|
||||||
machine.DescriptionCondition(database.TextOperationStartsWithIgnoreCase, "test"),
|
// machine.DescriptionCondition(database.TextOperationStartsWithIgnoreCase, "test"),
|
||||||
human.EmailVerifiedCondition(true),
|
// human.EmailVerifiedCondition(true),
|
||||||
database.IsNotNull(machine.DescriptionColumn()),
|
// database.IsNotNull(machine.DescriptionColumn()),
|
||||||
),
|
// ),
|
||||||
))
|
// ))
|
||||||
|
|
||||||
assert.NoError(t, err)
|
// assert.NoError(t, err)
|
||||||
assert.NotNil(t, email)
|
// assert.NotNil(t, email)
|
||||||
})
|
// })
|
||||||
}
|
// }
|
||||||
|
|
||||||
type dbInstruction string
|
// type dbInstruction string
|
||||||
|
|
||||||
func TestArg(t *testing.T) {
|
// func TestArg(t *testing.T) {
|
||||||
var bla any = "asdf"
|
// var bla any = "asdf"
|
||||||
instr, ok := bla.(dbInstruction)
|
// instr, ok := bla.(dbInstruction)
|
||||||
assert.False(t, ok)
|
// assert.False(t, ok)
|
||||||
assert.Empty(t, instr)
|
// assert.Empty(t, instr)
|
||||||
bla = dbInstruction("asdf")
|
// bla = dbInstruction("asdf")
|
||||||
instr, ok = bla.(dbInstruction)
|
// instr, ok = bla.(dbInstruction)
|
||||||
assert.True(t, ok)
|
// assert.True(t, ok)
|
||||||
assert.Equal(t, instr, dbInstruction("asdf"))
|
// assert.Equal(t, instr, dbInstruction("asdf"))
|
||||||
}
|
// }
|
||||||
|
|
||||||
func TestWriteUser(t *testing.T) {
|
// func TestWriteUser(t *testing.T) {
|
||||||
t.Skip("tests are meant as examples and are not real tests")
|
// t.Skip("tests are meant as examples and are not real tests")
|
||||||
t.Run("update user", func(t *testing.T) {
|
// t.Run("update user", func(t *testing.T) {
|
||||||
user := repository.UserRepository(nil)
|
// user := repository.UserRepository(nil)
|
||||||
user.Human().Update(context.Background(), user.IDCondition("test"), user.SetUsername("test"))
|
// user.Human().Update(context.Background(), user.IDCondition("test"), user.SetUsername("test"))
|
||||||
})
|
// })
|
||||||
}
|
// }
|
||||||
|
Reference in New Issue
Block a user