mirror of
https://github.com/zitadel/zitadel.git
synced 2025-07-17 22:08:37 +00:00
31 lines
968 B
Go
31 lines
968 B
Go
![]() |
package integration
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
"testing"
|
||
|
"time"
|
||
|
|
||
|
"github.com/stretchr/testify/assert"
|
||
|
"github.com/stretchr/testify/require"
|
||
|
|
||
|
"github.com/zitadel/zitadel/pkg/grpc/feature/v2"
|
||
|
)
|
||
|
|
||
|
func EnsureInstanceFeature(t *testing.T, ctx context.Context, instance *Instance, features *feature.SetInstanceFeaturesRequest, assertFeatures func(t *assert.CollectT, got *feature.GetInstanceFeaturesResponse)) {
|
||
|
ctx = instance.WithAuthorizationToken(ctx, UserTypeIAMOwner)
|
||
|
_, err := instance.Client.FeatureV2.SetInstanceFeatures(ctx, features)
|
||
|
require.NoError(t, err)
|
||
|
retryDuration, tick := WaitForAndTickWithMaxDuration(ctx, 5*time.Minute)
|
||
|
require.EventuallyWithT(t,
|
||
|
func(tt *assert.CollectT) {
|
||
|
got, err := instance.Client.FeatureV2.GetInstanceFeatures(ctx, &feature.GetInstanceFeaturesRequest{
|
||
|
Inheritance: true,
|
||
|
})
|
||
|
require.NoError(tt, err)
|
||
|
assertFeatures(tt, got)
|
||
|
},
|
||
|
retryDuration,
|
||
|
tick,
|
||
|
"timed out waiting for ensuring instance feature")
|
||
|
}
|