mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-11 19:07:30 +00:00
chore!: Introduce ZITADEL v3 (#9645)
This PR summarizes multiple changes specifically only available with ZITADEL v3: - feat: Web Keys management (https://github.com/zitadel/zitadel/pull/9526) - fix(cmd): ensure proper working of mirror (https://github.com/zitadel/zitadel/pull/9509) - feat(Authz): system user support for permission check v2 (https://github.com/zitadel/zitadel/pull/9640) - chore(license): change from Apache to AGPL (https://github.com/zitadel/zitadel/pull/9597) - feat(console): list v2 sessions (https://github.com/zitadel/zitadel/pull/9539) - fix(console): add loginV2 feature flag (https://github.com/zitadel/zitadel/pull/9682) - fix(feature flags): allow reading "own" flags (https://github.com/zitadel/zitadel/pull/9649) - feat(console): add Actions V2 UI (https://github.com/zitadel/zitadel/pull/9591) BREAKING CHANGE - feat(webkey): migrate to v2beta API (https://github.com/zitadel/zitadel/pull/9445) - chore!: remove CockroachDB Support (https://github.com/zitadel/zitadel/pull/9444) - feat(actions): migrate to v2beta API (https://github.com/zitadel/zitadel/pull/9489) --------- Co-authored-by: Livio Spring <livio.a@gmail.com> Co-authored-by: Stefan Benz <46600784+stebenz@users.noreply.github.com> Co-authored-by: Silvan <27845747+adlerhurst@users.noreply.github.com> Co-authored-by: Ramon <mail@conblem.me> Co-authored-by: Elio Bischof <elio@zitadel.com> Co-authored-by: Kenta Yamaguchi <56732734+KEY60228@users.noreply.github.com> Co-authored-by: Harsha Reddy <harsha.reddy@klaviyo.com> Co-authored-by: Livio Spring <livio@zitadel.com> Co-authored-by: Max Peintner <max@caos.ch> Co-authored-by: Iraq <66622793+kkrime@users.noreply.github.com> Co-authored-by: Florian Forster <florian@zitadel.com> Co-authored-by: Tim Möhlmann <tim+github@zitadel.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Max Peintner <peintnerm@gmail.com>
This commit is contained in:
@@ -7,6 +7,7 @@ import (
|
||||
"crypto/rand"
|
||||
"io"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/go-jose/go-jose/v4"
|
||||
"github.com/stretchr/testify/assert"
|
||||
@@ -610,7 +611,7 @@ func TestCommands_DeleteWebKey(t *testing.T) {
|
||||
name string
|
||||
fields fields
|
||||
args args
|
||||
want *domain.ObjectDetails
|
||||
want time.Time
|
||||
wantErr error
|
||||
}{
|
||||
{
|
||||
@@ -624,14 +625,73 @@ func TestCommands_DeleteWebKey(t *testing.T) {
|
||||
wantErr: io.ErrClosedPipe,
|
||||
},
|
||||
{
|
||||
name: "not found error",
|
||||
name: "not found",
|
||||
fields: fields{
|
||||
eventstore: expectEventstore(
|
||||
expectFilter(),
|
||||
),
|
||||
},
|
||||
args: args{"key1"},
|
||||
wantErr: zerrors.ThrowNotFound(nil, "COMMAND-ooCa7", "Errors.WebKey.NotFound"),
|
||||
args: args{"key1"},
|
||||
want: time.Time{},
|
||||
},
|
||||
{
|
||||
name: "previously deleted",
|
||||
fields: fields{
|
||||
eventstore: expectEventstore(
|
||||
expectFilter(
|
||||
eventFromEventPusher(mustNewWebkeyAddedEvent(ctx,
|
||||
webkey.NewAggregate("key1", "instance1"),
|
||||
&crypto.CryptoValue{
|
||||
CryptoType: crypto.TypeEncryption,
|
||||
Algorithm: "alg",
|
||||
KeyID: "encKey",
|
||||
Crypted: []byte("crypted"),
|
||||
},
|
||||
&jose.JSONWebKey{
|
||||
Key: &key.PublicKey,
|
||||
KeyID: "key1",
|
||||
Algorithm: string(jose.ES384),
|
||||
Use: crypto.KeyUsageSigning.String(),
|
||||
},
|
||||
&crypto.WebKeyECDSAConfig{
|
||||
Curve: crypto.EllipticCurveP384,
|
||||
},
|
||||
)),
|
||||
eventFromEventPusher(webkey.NewActivatedEvent(ctx,
|
||||
webkey.NewAggregate("key1", "instance1"),
|
||||
)),
|
||||
eventFromEventPusher(mustNewWebkeyAddedEvent(ctx,
|
||||
webkey.NewAggregate("key2", "instance1"),
|
||||
&crypto.CryptoValue{
|
||||
CryptoType: crypto.TypeEncryption,
|
||||
Algorithm: "alg",
|
||||
KeyID: "encKey",
|
||||
Crypted: []byte("crypted"),
|
||||
},
|
||||
&jose.JSONWebKey{
|
||||
Key: &key.PublicKey,
|
||||
KeyID: "key2",
|
||||
Algorithm: string(jose.ES384),
|
||||
Use: crypto.KeyUsageSigning.String(),
|
||||
},
|
||||
&crypto.WebKeyECDSAConfig{
|
||||
Curve: crypto.EllipticCurveP384,
|
||||
},
|
||||
)),
|
||||
eventFromEventPusher(webkey.NewActivatedEvent(ctx,
|
||||
webkey.NewAggregate("key2", "instance1"),
|
||||
)),
|
||||
eventFromEventPusher(webkey.NewDeactivatedEvent(ctx,
|
||||
webkey.NewAggregate("key1", "instance1"),
|
||||
)),
|
||||
eventFromEventPusher(webkey.NewRemovedEvent(ctx,
|
||||
webkey.NewAggregate("key1", "instance1"),
|
||||
)),
|
||||
),
|
||||
),
|
||||
},
|
||||
args: args{"key1"},
|
||||
want: time.Time{},
|
||||
},
|
||||
{
|
||||
name: "key active error",
|
||||
@@ -722,10 +782,7 @@ func TestCommands_DeleteWebKey(t *testing.T) {
|
||||
),
|
||||
},
|
||||
args: args{"key1"},
|
||||
want: &domain.ObjectDetails{
|
||||
ResourceOwner: "instance1",
|
||||
ID: "key1",
|
||||
},
|
||||
want: time.Time{},
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
|
Reference in New Issue
Block a user