github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/pkg/cli/cmd/infrastructure/loader_adapter_test.go (about) 1 /* 2 Copyright (C) 2022-2023 ApeCloud Co., Ltd 3 4 This file is part of KubeBlocks project 5 6 This program is free software: you can redistribute it and/or modify 7 it under the terms of the GNU Affero General Public License as published by 8 the Free Software Foundation, either version 3 of the License, or 9 (at your option) any later version. 10 11 This program is distributed in the hope that it will be useful 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU Affero General Public License for more details. 15 16 You should have received a copy of the GNU Affero General Public License 17 along with this program. If not, see <http://www.gnu.org/licenses/>. 18 */ 19 20 package infrastructure 21 22 import ( 23 "testing" 24 25 kubekeyapiv1alpha2 "github.com/kubesphere/kubekey/v3/cmd/kk/apis/kubekey/v1alpha2" 26 27 "github.com/1aal/kubeblocks/pkg/cli/cmd/infrastructure/types" 28 "github.com/1aal/kubeblocks/pkg/configuration/container" 29 ) 30 31 func TestCreateClusterWithOptions(t *testing.T) { 32 tests := []struct { 33 name string 34 args *createOptions 35 want *kubekeyapiv1alpha2.ClusterSpec 36 wantErr bool 37 }{{ 38 name: "generateClusterTest", 39 args: &createOptions{ 40 version: types.InfraVersionInfo{}, 41 criType: string(container.ContainerdType), 42 clusterOptions: clusterOptions{ 43 clusterName: "for_test", 44 Cluster: types.Cluster{ 45 Nodes: []types.ClusterNode{ 46 { 47 Name: "node1", 48 Address: "127.0.0.1", 49 InternalAddress: "127.0.0.1", 50 }, { 51 Name: "node2", 52 Address: "127.0.0.2", 53 InternalAddress: "127.0.0.2", 54 }, 55 }, 56 User: types.ClusterUser{ 57 Name: "test", 58 Password: "test", 59 }, 60 RoleGroup: types.RoleGroup{ 61 ETCD: []string{"node1"}, 62 Master: []string{"node1"}, 63 Worker: []string{"node2"}, 64 }, 65 }, 66 }, 67 }, 68 }} 69 for _, tt := range tests { 70 t.Run(tt.name, func(t *testing.T) { 71 tt.args.Cluster.Kubernetes.AutoDefaultFill() 72 got, err := createClusterWithOptions(buildTemplateParams(tt.args)) 73 if (err != nil) != tt.wantErr { 74 t.Errorf("createClusterWithOptions() error = %v, wantErr %v", err, tt.wantErr) 75 return 76 } 77 if got == nil { 78 t.Errorf("createClusterWithOptions() got = %v, want %v", got, tt.want) 79 } 80 }) 81 } 82 }