From 3f79bf8bbd11500826cf86141cd7ec9deebae987 Mon Sep 17 00:00:00 2001 From: Ian Howell <ian.howell0@gmail.com> Date: Thu, 11 Jun 2020 15:45:29 -0500 Subject: [PATCH] Make get-management-config print in order This causes the `airshipctl config get-management-config` command to print all management configurations in order. This fixes an issue where unit tests would randomly fail, since the output order from the command was not consistent. Change-Id: I83da272d56b90026dac8c07d7522119500935406 --- cmd/config/get_management_config.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/cmd/config/get_management_config.go b/cmd/config/get_management_config.go index 330ca4fc8..ba3330bd5 100644 --- a/cmd/config/get_management_config.go +++ b/cmd/config/get_management_config.go @@ -16,6 +16,7 @@ package config import ( "fmt" + "sort" "github.com/spf13/cobra" @@ -58,7 +59,15 @@ func NewGetManagementConfigCommand(rootSettings *environment.AirshipCTLSettings) return nil } - for key, config := range rootSettings.Config.ManagementConfiguration { + // Print all of the management configurations in order by name + keys := make([]string, 0, len(rootSettings.Config.ManagementConfiguration)) + for key := range rootSettings.Config.ManagementConfiguration { + keys = append(keys, key) + } + sort.Strings(keys) + + for _, key := range keys { + config := rootSettings.Config.ManagementConfiguration[key] fmt.Fprintf(cmd.OutOrStdout(), "name: %s\n%s\n", key, config.String()) }