From 952483620d21a1744f4e9b01fb3f0fd208ed974b Mon Sep 17 00:00:00 2001 From: Cerebrovinny Date: Sun, 2 Feb 2025 11:29:28 +0000 Subject: [PATCH] vendor update test fixes --- pkg/list/list_vendor.go | 27 ++++++++++++++++++--------- pkg/list/list_vendor_test.go | 11 +++++++++-- 2 files changed, 27 insertions(+), 11 deletions(-) diff --git a/pkg/list/list_vendor.go b/pkg/list/list_vendor.go index 5974ee75c..388b92dfd 100644 --- a/pkg/list/list_vendor.go +++ b/pkg/list/list_vendor.go @@ -50,7 +50,7 @@ func processVendorFile(filePath string, atmosConfig schema.AtmosConfiguration) ( for _, source := range vendorConfig.Spec.Sources { vendorType := "Vendor Manifest" manifest := filepath.Clean(filePath) - folder := filepath.Join(atmosConfig.BasePath, "components", "terraform", source.Component) + folder := filepath.Join(atmosConfig.BasePath, source.Targets[0]) vendors = append(vendors, VendorInfo{ Component: source.Component, @@ -139,16 +139,25 @@ func FilterAndListVendors(listConfig schema.ListConfig, format string, delimiter allVendors = append(allVendors, vendors...) } - // Convert vendor info to rows + // Convert vendor info to rows based on header columns var rows [][]string for _, vendor := range allVendors { - rows = append(rows, []string{ - vendor.Component, - vendor.Type, - vendor.Manifest, - vendor.Folder, - vendor.Version, - }) + row := make([]string, len(header)) + for i, col := range header { + switch col { + case "Component": + row[i] = vendor.Component + case "Type": + row[i] = vendor.Type + case "Manifest": + row[i] = vendor.Manifest + case "Folder": + row[i] = vendor.Folder + case "Version": + row[i] = vendor.Version + } + } + rows = append(rows, row) } // Sort rows for consistent output diff --git a/pkg/list/list_vendor_test.go b/pkg/list/list_vendor_test.go index d0a937cb1..3f28507cb 100644 --- a/pkg/list/list_vendor_test.go +++ b/pkg/list/list_vendor_test.go @@ -201,8 +201,15 @@ components: }, }, { - name: "csv format with multiple vendors", - config: schema.ListConfig{}, + name: "csv format with multiple vendors", + config: schema.ListConfig{ + Columns: []schema.ListColumnConfig{ + {Name: "Component", Value: "{{ .atmos_component }}"}, + {Name: "Type", Value: "{{ .atmos_vendor_type }}"}, + {Name: "Manifest", Value: "{{ .atmos_vendor_file }}"}, + {Name: "Folder", Value: "{{ .atmos_vendor_target }}"}, + }, + }, format: "csv", delimiter: ",", wantErr: false,