@@ -249,7 +249,7 @@ impl ValidatedCluster {
249249 ) -> ResourceNames {
250250 ResourceNames {
251251 cluster_name : self . name . clone ( ) ,
252- role_name : Self :: role_name ( role) ,
252+ role_name : role. into ( ) ,
253253 role_group_name : role_group_name. clone ( ) ,
254254 }
255255 }
@@ -288,10 +288,6 @@ impl ValidatedCluster {
288288 }
289289
290290 /// A [`TrinoRole`] as a type-safe [`RoleName`].
291- fn role_name ( role : & TrinoRole ) -> RoleName {
292- RoleName :: from_str ( & role. to_string ( ) ) . expect ( "a TrinoRole is a valid RFC 1123 role name" )
293- }
294-
295291 fn recommended_labels_with (
296292 & self ,
297293 version : & ProductVersion ,
@@ -311,7 +307,7 @@ impl ValidatedCluster {
311307
312308 /// Recommended labels for a role-group resource (using the resolved product version).
313309 pub fn recommended_labels ( & self , role : & TrinoRole , role_group_name : & RoleGroupName ) -> Labels {
314- self . recommended_labels_for ( & Self :: role_name ( role) , role_group_name)
310+ self . recommended_labels_for ( & role. into ( ) , role_group_name)
315311 }
316312
317313 /// Recommended labels for a resource that is not tied to a concrete [`TrinoRole`] (e.g. the
@@ -331,21 +327,12 @@ impl ValidatedCluster {
331327 role : & TrinoRole ,
332328 role_group_name : & RoleGroupName ,
333329 ) -> Labels {
334- self . recommended_labels_with (
335- & UNVERSIONED_PRODUCT_VERSION ,
336- & Self :: role_name ( role) ,
337- role_group_name,
338- )
330+ self . recommended_labels_with ( & UNVERSIONED_PRODUCT_VERSION , & role. into ( ) , role_group_name)
339331 }
340332
341333 /// Selector labels matching the pods of a role group.
342334 pub fn role_group_selector ( & self , role : & TrinoRole , role_group_name : & RoleGroupName ) -> Labels {
343- role_group_selector (
344- self ,
345- & product_name ( ) ,
346- & Self :: role_name ( role) ,
347- role_group_name,
348- )
335+ role_group_selector ( self , & product_name ( ) , & role. into ( ) , role_group_name)
349336 }
350337}
351338
@@ -468,17 +455,18 @@ pub(crate) fn validated_cluster() -> ValidatedCluster {
468455
469456#[ cfg( test) ]
470457mod tests {
458+ use stackable_operator:: v2:: types:: operator:: RoleName ;
471459 use strum:: IntoEnumIterator ;
472460
473- use super :: ValidatedCluster ;
474461 use crate :: crd:: TrinoRole ;
475462
476- /// Locks the invariant behind the `expect` in [`ValidatedCluster::role_name`]: every
477- /// `TrinoRole` variant (present and future) must serialise to a valid `RoleName`.
463+ /// Locks the invariant behind the `expect` in the `From<TrinoRole> for RoleName` impls:
464+ /// every `TrinoRole` variant (present and future) must serialise to a valid `RoleName`.
478465 #[ test]
479466 fn every_trino_role_serialises_to_a_valid_role_name ( ) {
480467 for role in TrinoRole :: iter ( ) {
481- ValidatedCluster :: role_name ( & role) ;
468+ let _: RoleName = ( & role) . into ( ) ;
469+ let _: RoleName = role. into ( ) ;
482470 }
483471 }
484472}
0 commit comments