Skip to content

Commit 96d7731

Browse files
committed
derive the version label in tests from the operator version
1 parent 43207ec commit 96d7731

3 files changed

Lines changed: 17 additions & 4 deletions

File tree

rust/operator-binary/src/controller/build/resource/rbac.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ mod tests {
4848
use super::*;
4949
use crate::{
5050
controller::build::properties::test_support::MINIMAL_HDFS_YAML,
51-
test_support::deserialize_and_validate_cluster,
51+
test_support::{app_version_label, deserialize_and_validate_cluster},
5252
};
5353

5454
/// The cluster name is deliberately different from the product name (`hdfs`) so that
@@ -73,7 +73,7 @@ mod tests {
7373
"app.kubernetes.io/managed-by": "hdfs.stackable.tech_hdfs-operator-hdfs-controller",
7474
"app.kubernetes.io/name": "hdfs",
7575
"app.kubernetes.io/role-group": "none",
76-
"app.kubernetes.io/version": "3.4.0-stackable0.0.0-dev",
76+
"app.kubernetes.io/version": app_version_label("3.4.0"),
7777
"stackable.tech/vendor": "Stackable"
7878
},
7979
"name": "my-hdfs-serviceaccount",
@@ -108,7 +108,7 @@ mod tests {
108108
"app.kubernetes.io/managed-by": "hdfs.stackable.tech_hdfs-operator-hdfs-controller",
109109
"app.kubernetes.io/name": "hdfs",
110110
"app.kubernetes.io/role-group": "none",
111-
"app.kubernetes.io/version": "3.4.0-stackable0.0.0-dev",
111+
"app.kubernetes.io/version": app_version_label("3.4.0"),
112112
"stackable.tech/vendor": "Stackable"
113113
},
114114
"name": "my-hdfs-rolebinding",

rust/operator-binary/src/controller/build/resource/service.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ mod tests {
139139
use super::*;
140140
use crate::{
141141
controller::build::properties::test_support::validated_cluster, crd::HdfsNodeRole,
142+
test_support::app_version_label,
142143
};
143144

144145
#[test]
@@ -170,7 +171,7 @@ mod tests {
170171
"app.kubernetes.io/managed-by": "hdfs.stackable.tech_hdfs-operator-hdfs-controller",
171172
"app.kubernetes.io/name": "hdfs",
172173
"app.kubernetes.io/role-group": "default",
173-
"app.kubernetes.io/version": "3.4.0-stackable0.0.0-dev",
174+
"app.kubernetes.io/version": app_version_label("3.4.0"),
174175
"prometheus.io/scrape": "true",
175176
"stackable.tech/vendor": "Stackable"
176177
},

rust/operator-binary/src/test_support.rs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,18 @@ use crate::{
77
crd::{AnyNodeConfig, DataNodeConfig, HdfsNodeRole, v1alpha1},
88
};
99

10+
/// The expected `app.kubernetes.io/version` label value for the given product version.
11+
///
12+
/// The `-stackable` suffix carries the operator's own version, which is `0.0.0-dev` on main
13+
/// but rewritten by the release process — so tests must derive it rather than hardcode it,
14+
/// or they fail on release branches.
15+
pub fn app_version_label(product_version: &str) -> String {
16+
format!(
17+
"{product_version}-stackable{}",
18+
crate::built_info::PKG_VERSION
19+
)
20+
}
21+
1022
pub fn deserialize_cluster(spec: &str) -> v1alpha1::HdfsCluster {
1123
let deserializer = serde_yaml::Deserializer::from_str(spec);
1224
serde_yaml::with::singleton_map_recursive::deserialize(deserializer).expect("")

0 commit comments

Comments
 (0)