Skip to content

Commit 431752b

Browse files
committed
refactor: cover override from 11-assert and delete assert
1 parent 6b040e0 commit 431752b

2 files changed

Lines changed: 45 additions & 18 deletions

File tree

rust/operator-binary/src/zk_controller/build/resource/statefulset.rs

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -780,4 +780,49 @@ mod tests {
780780
.expect("ZK_SERVER_HEAP env var");
781781
assert_eq!(heap.value.as_deref(), Some("409"));
782782
}
783+
784+
#[test]
785+
fn env_overrides_apply_with_role_group_precedence() {
786+
// Candidate #4: `envOverrides` land on the zookeeper container, with the rolegroup value
787+
// winning over the role value on conflict. Mirrors the kuttl smoke `11-assert` setup:
788+
// COMMON_VAR is set at both levels (group wins), ROLE_VAR only at the role, GROUP_VAR only
789+
// at the group.
790+
let sts = build_sts(
791+
r#"
792+
apiVersion: zookeeper.stackable.tech/v1alpha1
793+
kind: ZookeeperCluster
794+
metadata:
795+
name: simple-zookeeper
796+
spec:
797+
image:
798+
productVersion: "3.9.5"
799+
servers:
800+
envOverrides:
801+
COMMON_VAR: role-value
802+
ROLE_VAR: role-value
803+
roleGroups:
804+
primary:
805+
replicas: 1
806+
envOverrides:
807+
COMMON_VAR: group-value
808+
GROUP_VAR: group-value
809+
"#,
810+
"primary",
811+
);
812+
813+
let env = zookeeper_container(&sts).env.as_ref().unwrap();
814+
let env_value = |name: &str| {
815+
env.iter()
816+
.find(|e| e.name == name)
817+
.unwrap_or_else(|| panic!("missing env var {name}"))
818+
.value
819+
.as_deref()
820+
};
821+
822+
// Rolegroup value overrides the role value on conflict.
823+
assert_eq!(env_value("COMMON_VAR"), Some("group-value"));
824+
// Role-only and group-only overrides are both present.
825+
assert_eq!(env_value("ROLE_VAR"), Some("role-value"));
826+
assert_eq!(env_value("GROUP_VAR"), Some("group-value"));
827+
}
783828
}

tests/templates/kuttl/smoke/11-assert.yaml

Lines changed: 0 additions & 18 deletions
This file was deleted.

0 commit comments

Comments
 (0)