// Copyright 2022 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package krmtotf_test import ( "testing" "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/krmtotf" ) func TestKRMNameToTerraformID(t *testing.T) { tests := []struct { name string krmName string want string }{ { name: "only alphanumerics", krmName: "badabingbadazoom128", want: "badabingbadazoom128", }, { name: "dashes should become underscores", krmName: "x-y-z", want: "x_y_z", }, { name: "dots should become underscores", krmName: "x.y.z", want: "x_y_z", }, { name: "dashes and dots in same string", krmName: "x.y-z", want: "x_y_z", }, } for _, tc := range tests { tc := tc t.Run(tc.name, func(t *testing.T) { t.Parallel() got := krmtotf.KRMNameToTerraformID(tc.krmName) if got != tc.want { t.Errorf("KRMNameToTerraformId(%v) = %v, want: %v", tc.krmName, got, tc.want) } }) } }