mirror of
https://github.com/projectcapsule/capsule.git
synced 2026-08-21 13:36:41 +00:00
* feat: add leader-election tuning Signed-off-by: Oliver Baehler <oliver@sudo-i.net> * feat: add leader-election tuning Signed-off-by: Oliver Baehler <oliver@sudo-i.net> * feat: add tracing for admission Signed-off-by: Oliver Baehler <oliver@sudo-i.net> * feat: add tracing for admission Signed-off-by: Oliver Baehler <oliver@sudo-i.net> * add tenant --------- Signed-off-by: Oliver Baehler <oliver@sudo-i.net>
54 lines
1.6 KiB
Go
54 lines
1.6 KiB
Go
// Copyright 2020-2026 Project Capsule Authors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package admission_test
|
|
|
|
import (
|
|
"reflect"
|
|
"testing"
|
|
|
|
capsuleadmission "github.com/projectcapsule/capsule/pkg/runtime/admission"
|
|
jsonpatch "gomodules.xyz/jsonpatch/v2"
|
|
"sigs.k8s.io/controller-runtime/pkg/webhook/admission"
|
|
)
|
|
|
|
func TestAccumulateAdmissionResponse(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
seed := []jsonpatch.JsonPatchOperation{
|
|
jsonpatch.NewOperation("add", "/metadata/labels/existing", "true"),
|
|
}
|
|
|
|
got, response := capsuleadmission.AccumulateAdmissionResponse(seed, nil)
|
|
if response != nil {
|
|
t.Fatalf("nil response returned admission response %#v", response)
|
|
}
|
|
if !reflect.DeepEqual(got, seed) {
|
|
t.Fatalf("nil response patches = %#v, want %#v", got, seed)
|
|
}
|
|
|
|
denied := admission.Denied("stop")
|
|
got, response = capsuleadmission.AccumulateAdmissionResponse(seed, &denied)
|
|
if response != &denied {
|
|
t.Fatalf("denied response = %#v, want original response", response)
|
|
}
|
|
if !reflect.DeepEqual(got, seed) {
|
|
t.Fatalf("denied patches = %#v, want %#v", got, seed)
|
|
}
|
|
|
|
patches := []jsonpatch.JsonPatchOperation{
|
|
jsonpatch.NewOperation("add", "/metadata/labels/new", "value"),
|
|
jsonpatch.NewOperation("replace", "/metadata/name", "renamed"),
|
|
}
|
|
allowed := admission.Patched("mutated", patches...)
|
|
got, response = capsuleadmission.AccumulateAdmissionResponse(seed, &allowed)
|
|
if response != nil {
|
|
t.Fatalf("allowed response returned admission response %#v", response)
|
|
}
|
|
|
|
want := append(append([]jsonpatch.JsonPatchOperation{}, seed...), patches...)
|
|
if !reflect.DeepEqual(got, want) {
|
|
t.Fatalf("allowed patches = %#v, want %#v", got, want)
|
|
}
|
|
}
|