From 1c8afb44080e8f767b8789c4955560b09e7cf744 Mon Sep 17 00:00:00 2001
From: Kim Christensen <kimworking@gmail.com>
Date: Thu, 9 Jan 2025 14:32:14 +0100
Subject: [PATCH 1/3] fix(parameters): improve parameter set table output
 format

- Add "PARAMETER SET" column to distinguish between parameter set name and parameter name
- Rename internal variable from paramsSets to result for clarity
- Include parameter set name in output rows for better identification
- Update table headers to reflect new column structure

Signed-off-by: Kim Christensen <kimworking@gmail.com>
---
 pkg/porter/parameters.go                      | 10 ++++-----
 tests/integration/parameters_test.go          | 21 +++++++++++++++++++
 tests/integration/params.json                 | 13 ++++++++++++
 .../testdata/parametersets/params.json        | 13 ++++++++++++
 4 files changed, 52 insertions(+), 5 deletions(-)
 create mode 100644 tests/integration/parameters_test.go
 create mode 100644 tests/integration/params.json
 create mode 100644 tests/integration/testdata/parametersets/params.json

diff --git a/pkg/porter/parameters.go b/pkg/porter/parameters.go
index 630372d84..697e8bd21 100644
--- a/pkg/porter/parameters.go
+++ b/pkg/porter/parameters.go
@@ -79,16 +79,16 @@ func (p *Porter) PrintParameters(ctx context.Context, opts ListOptions) error {
 		tp := dtprinter.DateTimePrinter{
 			Now: func() time.Time { return now },
 		}
-		paramsSets := [][]string{}
+		result := [][]string{}
 		for _, ps := range params {
 			for _, param := range ps.Parameters {
 				list := []string{}
-				list = append(list, ps.Namespace, param.Name, param.Source.Strategy, param.Source.Hint, tp.Format(ps.Status.Modified))
-				paramsSets = append(paramsSets, list)
+				list = append(list, ps.Namespace, ps.Name, param.Name, param.Source.Strategy, param.Source.Hint, tp.Format(ps.Status.Modified))
+				result = append(result, list)
 			}
 		}
-		return printer.PrintTableParameterSet(p.Out, paramsSets,
-			"NAMESPACE", "NAME", "TYPE", "VALUE", "MODIFIED")
+		return printer.PrintTableParameterSet(p.Out, result,
+			"NAMESPACE", "PARAMETER SET", "NAME", "TYPE", "VALUE", "MODIFIED")
 	default:
 		return fmt.Errorf("invalid format: %s", opts.Format)
 	}
diff --git a/tests/integration/parameters_test.go b/tests/integration/parameters_test.go
new file mode 100644
index 000000000..bd4a53b3d
--- /dev/null
+++ b/tests/integration/parameters_test.go
@@ -0,0 +1,21 @@
+//go:build integration
+
+package integration
+
+import (
+	"testing"
+
+	"get.porter.sh/porter/tests/tester"
+	"github.com/stretchr/testify/require"
+)
+
+func TestParametersOutputContainsParameterSetName(t *testing.T) {
+	test, err := tester.NewTest(t)
+	defer test.Close()
+	require.NoError(t, err, "test setup failed")
+	test.TestContext.AddTestFile("testdata/parametersets/params.json", "params.json")
+	test.RequirePorter("parameters", "apply", "params.json")
+
+	output, _ := test.RequirePorter("parameters", "list")
+	require.Contains(t, output, "integration-test")
+}
diff --git a/tests/integration/params.json b/tests/integration/params.json
new file mode 100644
index 000000000..293c96f19
--- /dev/null
+++ b/tests/integration/params.json
@@ -0,0 +1,13 @@
+{
+    "schemaType": "ParameterSet",
+    "schemaVersion": "1.0.1",
+    "name": "integration-test",
+    "parameters": [
+        {
+            "name": "name",
+            "source": {
+                "env": "FOO"
+            }
+        }
+    ]
+}
\ No newline at end of file
diff --git a/tests/integration/testdata/parametersets/params.json b/tests/integration/testdata/parametersets/params.json
new file mode 100644
index 000000000..293c96f19
--- /dev/null
+++ b/tests/integration/testdata/parametersets/params.json
@@ -0,0 +1,13 @@
+{
+    "schemaType": "ParameterSet",
+    "schemaVersion": "1.0.1",
+    "name": "integration-test",
+    "parameters": [
+        {
+            "name": "name",
+            "source": {
+                "env": "FOO"
+            }
+        }
+    ]
+}
\ No newline at end of file

From b5caf34c2c8ad2b896129eaf3710cc048719b658 Mon Sep 17 00:00:00 2001
From: Kim Christensen <kimworking@gmail.com>
Date: Mon, 20 Jan 2025 14:39:41 +0100
Subject: [PATCH 2/3] fix: Unit test

Signed-off-by: Kim Christensen <kimworking@gmail.com>
---
 pkg/porter/testdata/parameters/mypsettable.txt | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pkg/porter/testdata/parameters/mypsettable.txt b/pkg/porter/testdata/parameters/mypsettable.txt
index 4f085efff..9fddc3838 100644
--- a/pkg/porter/testdata/parameters/mypsettable.txt
+++ b/pkg/porter/testdata/parameters/mypsettable.txt
@@ -1,4 +1,4 @@
----------------------------------------------------
-  NAMESPACE  NAME  TYPE    VALUE       MODIFIED    
----------------------------------------------------
-             foo   secret  foo_secret  1983-04-18  
+------------------------------------------------------------------
+  NAMESPACE  PARAMETER SET  NAME  TYPE    VALUE       MODIFIED    
+------------------------------------------------------------------
+             mypset         foo   secret  foo_secret  1983-04-18  

From 9d22a26dc12942495c7e1b7f876c79f6145c14d8 Mon Sep 17 00:00:00 2001
From: Kim Christensen <kimworking@gmail.com>
Date: Mon, 20 Jan 2025 14:43:32 +0100
Subject: [PATCH 3/3] test: Remove integration test as this is already covered
 by unit tests

Signed-off-by: Kim Christensen <kimworking@gmail.com>
---
 tests/integration/parameters_test.go          | 21 -------------------
 tests/integration/params.json                 | 13 ------------
 .../testdata/parametersets/params.json        | 13 ------------
 3 files changed, 47 deletions(-)
 delete mode 100644 tests/integration/parameters_test.go
 delete mode 100644 tests/integration/params.json
 delete mode 100644 tests/integration/testdata/parametersets/params.json

diff --git a/tests/integration/parameters_test.go b/tests/integration/parameters_test.go
deleted file mode 100644
index bd4a53b3d..000000000
--- a/tests/integration/parameters_test.go
+++ /dev/null
@@ -1,21 +0,0 @@
-//go:build integration
-
-package integration
-
-import (
-	"testing"
-
-	"get.porter.sh/porter/tests/tester"
-	"github.com/stretchr/testify/require"
-)
-
-func TestParametersOutputContainsParameterSetName(t *testing.T) {
-	test, err := tester.NewTest(t)
-	defer test.Close()
-	require.NoError(t, err, "test setup failed")
-	test.TestContext.AddTestFile("testdata/parametersets/params.json", "params.json")
-	test.RequirePorter("parameters", "apply", "params.json")
-
-	output, _ := test.RequirePorter("parameters", "list")
-	require.Contains(t, output, "integration-test")
-}
diff --git a/tests/integration/params.json b/tests/integration/params.json
deleted file mode 100644
index 293c96f19..000000000
--- a/tests/integration/params.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-    "schemaType": "ParameterSet",
-    "schemaVersion": "1.0.1",
-    "name": "integration-test",
-    "parameters": [
-        {
-            "name": "name",
-            "source": {
-                "env": "FOO"
-            }
-        }
-    ]
-}
\ No newline at end of file
diff --git a/tests/integration/testdata/parametersets/params.json b/tests/integration/testdata/parametersets/params.json
deleted file mode 100644
index 293c96f19..000000000
--- a/tests/integration/testdata/parametersets/params.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-    "schemaType": "ParameterSet",
-    "schemaVersion": "1.0.1",
-    "name": "integration-test",
-    "parameters": [
-        {
-            "name": "name",
-            "source": {
-                "env": "FOO"
-            }
-        }
-    ]
-}
\ No newline at end of file