Skip to content

Commit

Permalink
[config] sort config:show by key name
Browse files Browse the repository at this point in the history
resolves: #3293
  • Loading branch information
alexquick committed Oct 27, 2018
1 parent ba4db26 commit 34efbbd
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 3 deletions.
14 changes: 11 additions & 3 deletions plugins/config/environment.go
Expand Up @@ -240,9 +240,17 @@ func prettyPrintEnvEntries(prefix string, entries map[string]string) string {
colConfig := columnize.DefaultConfig()
colConfig.Prefix = prefix
colConfig.Delim = "\x00"
lines := make([]string, 0, len(entries))
for k, v := range entries {
lines = append(lines, fmt.Sprintf("%s:\x00%s", k, v))

//some keys may be prefixes of each other so we need to sort them rather than the resulting lines
keys := make([]string, 0, len(entries))
for k := range entries {
keys = append(keys, k)
}
sort.Strings(keys)

lines := make([]string, 0, len(keys))
for _, k := range keys {
lines = append(lines, fmt.Sprintf("%s:\x00%s", k, entries[k]))
}
return columnize.Format(lines, colConfig)
}
Expand Down
1 change: 1 addition & 0 deletions plugins/config/environment_test.go
Expand Up @@ -56,6 +56,7 @@ func TestExport(t *testing.T) {
Expect(e.Export(ExportFormatDockerArgs)).To(Equal("--env=BAR='BAZ' --env=BAZ='a\nb' --env=FOO='b'\\''ar '"))
Expect(e.Export(ExportFormatShell)).To(Equal("BAR='BAZ' BAZ='a\nb' FOO='b'\\''ar '"))
Expect(e.Export(ExportFormatExports)).To(Equal("export BAR='BAZ'\nexport BAZ='a\nb'\nexport FOO='b'\\''ar '"))
Expect(e.Export(ExportFormatPretty)).To(Equal("BAR: BAZ\nBAZ: a\nb\nFOO: b'ar"))
}

func TestGet(t *testing.T) {
Expand Down
13 changes: 13 additions & 0 deletions tests/unit/20_config.bats
Expand Up @@ -145,3 +145,16 @@ teardown() {
echo "status: "$status
assert_success
}

@test "(config) config:show" {
run bash -c "dokku --app $TEST_APP config:set zKey=true bKey=true BKEY=true aKey=true"
echo "output: "$output
echo "status: "$status
assert_success

run bash -c "dokku --app $TEST_APP config:show"
echo "output: "$output
echo "status: "$stat

assert_output "=====> $TEST_APP env vars"$'\nBKEY: true\naKey: true\nbKey: true\nzKey: true'
}

0 comments on commit 34efbbd

Please sign in to comment.