Skip to content

Commit 7a042a2

Browse files
authored
test: add alias tests that can be used as examples (#391)
Adds examples for pascalcase and command
1 parent 2ad4e60 commit 7a042a2

File tree

3 files changed

+36
-10
lines changed

3 files changed

+36
-10
lines changed

aliases/alias.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,10 +120,10 @@ func generateAliasesFromCommand(a options.Alias, flag, dir string) ([]string, er
120120
cmd.Dir = dir
121121
stdout, err := cmd.Output()
122122
if err != nil {
123-
return nil, fmt.Errorf("filepattern '%s': failed to execute alias command: %w", a.Name, err)
123+
return nil, fmt.Errorf("command '%s': failed to execute alias command: %w", a.Name, err)
124124
}
125125
if err := json.Unmarshal(stdout, &ret); err != nil {
126-
return nil, fmt.Errorf("filepattern '%s': could not unmarshal json output of alias command: %w", a.Name, err)
126+
return nil, fmt.Errorf("command '%s': could not unmarshal json output of alias command: %w", a.Name, err)
127127
}
128128

129129
return ret, err

aliases/alias_test.go

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"testing"
66

77
"github.com/stretchr/testify/assert"
8+
"github.com/stretchr/testify/require"
89

910
"github.com/launchdarkly/ld-find-code-refs/v2/internal/log"
1011
o "github.com/launchdarkly/ld-find-code-refs/v2/options"
@@ -40,7 +41,6 @@ func Test_GenerateAliases(t *testing.T) {
4041
flags []string
4142
aliases []o.Alias
4243
want map[string][]string
43-
wantErr error
4444
}{
4545
{
4646
name: "literals",
@@ -73,6 +73,14 @@ func Test_GenerateAliases(t *testing.T) {
7373
},
7474
want: map[string][]string{testFlagKey: slice("SomeFlag")},
7575
},
76+
{
77+
name: "PascalCase alias",
78+
flags: slice("some_flag"),
79+
aliases: []o.Alias{
80+
alias(o.PascalCase),
81+
},
82+
want: map[string][]string{"some_flag": slice("SomeFlag")},
83+
},
7684
{
7785
name: "file exact pattern",
7886
flags: slice(testFlagKey),
@@ -89,19 +97,29 @@ func Test_GenerateAliases(t *testing.T) {
8997
},
9098
want: map[string][]string{testWildFlagKey: slice("WILD_FLAG", "WILD_FLAG_SECOND_ALIAS"), testFlagKey: slice("SOME_FLAG")},
9199
},
92-
// TODO
93-
// {
94-
// name: "command",
95-
// flags: slice(testFlagKey),
96-
// aliases: []o.Alias{cmd(`echo '["SOME_FLAG"]'`, 0)},
97-
// },
100+
{
101+
name: "command",
102+
flags: slice(testFlagKey),
103+
aliases: []o.Alias{
104+
cmd(`echo ["SOME_FLAG"]`, 0),
105+
},
106+
want: map[string][]string{testFlagKey: slice("SOME_FLAG")},
107+
},
108+
{
109+
name: "command, custom pascalcase",
110+
flags: slice("some_flag"),
111+
aliases: []o.Alias{
112+
cmd(`python3 ./aliases-test.py`, 5),
113+
},
114+
want: map[string][]string{"some_flag": slice("Some_Flag")},
115+
},
98116
}
99117

100118
for _, tt := range specs {
101119
t.Run(tt.name, func(t *testing.T) {
102120
aliases, err := GenerateAliases(tt.flags, tt.aliases, "")
121+
require.NoError(t, err)
103122
assert.Equal(t, tt.want, aliases)
104-
assert.Equal(t, tt.wantErr, err)
105123
})
106124
}
107125
}

aliases/aliases-test.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#! /usr/bin/env python
2+
import sys,json
3+
for flag_key in sys.stdin:
4+
flag_key = flag_key.strip()
5+
alias = '_'.join([word.capitalize() for word in flag_key.split('_')])
6+
aliases = json.dumps([alias])
7+
print(aliases)
8+
break

0 commit comments

Comments
 (0)