Skip to content

Commit a693287

Browse files
authored
Merge pull request #29 from carapace-sh/add-test
added test
2 parents 6048a62 + 883b03e commit a693287

7 files changed

Lines changed: 542 additions & 4 deletions

File tree

.github/workflows/aws-template.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: aws template
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
service:
7+
required: true
8+
type: string
9+
10+
jobs:
11+
compare:
12+
runs-on: ubuntu-latest
13+
container: amazon/aws-cli:2.32.2
14+
15+
steps:
16+
- uses: actions/download-artifact@v6
17+
with:
18+
name: carapace-aws
19+
path: /usr/local/bin/
20+
21+
- name: fix permissions
22+
run: chmod +x /usr/local/bin/carapace-aws*
23+
24+
- name: run carapace-aws.test
25+
run: SERVICE=${{ inputs.service }} carapace-aws.test

.github/workflows/aws.yml

Lines changed: 447 additions & 0 deletions
Large diffs are not rendered by default.

.github/workflows/go.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
run: go generate ./...
2828

2929
- name: Build
30-
run: go build -v ./...
30+
run: ls cmd/ | xargs -I'{}' sh -c "cd ./cmd/{} && go build -v ."
3131

3232
- name: Test
3333
run: go test -v -coverprofile=profile.cov ./...

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
cmd/carapace-aws/carapace-aws
2+
cmd/carapace-aws/carapace-aws.test
23
cmd/carapace-aws/cmd/botocore/botocore_generated.go
34
dist
45
docs/book

cmd/carapace-aws/main_test.go

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
//go:build integration
2+
3+
package main
4+
5+
import (
6+
"fmt"
7+
"os"
8+
"strings"
9+
"testing"
10+
11+
"github.com/carapace-sh/carapace"
12+
"github.com/carapace-sh/carapace-aws/cmd/carapace-aws/cmd/botocore"
13+
"github.com/carapace-sh/carapace-bridge/pkg/actions/bridge"
14+
)
15+
16+
func TestService(t *testing.T) {
17+
serviceToTest := os.Getenv("SERVICE")
18+
for service := range botocore.Services() {
19+
t.Run(service, func(t *testing.T) {
20+
if serviceToTest != "" && service != serviceToTest { // TODO env var to only test a specific service
21+
t.SkipNow()
22+
}
23+
24+
patch := carapace.DiffPatch(
25+
bridge.ActionAws("aws"),
26+
bridge.ActionCarapaceBin("aws"),
27+
carapace.NewContext(service, ""),
28+
)
29+
for _, line := range patch {
30+
switch {
31+
case strings.HasPrefix(line, "-"):
32+
fmt.Printf("\033[0;31m%v\033[0m\n", line)
33+
t.Fail()
34+
case strings.HasPrefix(line, "+"):
35+
fmt.Printf("\033[0;32m%v\033[0m\n", line)
36+
t.Fail()
37+
}
38+
}
39+
40+
for operation := range botocore.Operations("ec2") {
41+
t.Run(operation, func(t *testing.T) {
42+
t.Parallel()
43+
patch := carapace.DiffPatch(
44+
bridge.ActionAws("aws"),
45+
bridge.ActionCarapaceBin("aws"),
46+
carapace.NewContext(service, operation, "--"),
47+
)
48+
for _, line := range patch {
49+
switch {
50+
case strings.HasPrefix(line, "-"):
51+
fmt.Printf("\033[0;31m%v\033[0m\n", line)
52+
t.Fail()
53+
case strings.HasPrefix(line, "+"):
54+
fmt.Printf("\033[0;32m%v\033[0m\n", line)
55+
t.Fail()
56+
}
57+
}
58+
})
59+
}
60+
})
61+
}
62+
}

go.mod

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ go 1.23.1
44

55
require (
66
github.com/JohannesKaufmann/html-to-markdown/v2 v2.4.0
7-
github.com/carapace-sh/carapace v1.10.2
7+
github.com/carapace-sh/carapace v1.10.3-0.20251121151734-35d09b66ce03
8+
github.com/carapace-sh/carapace-bridge v1.4.9-0.20251121151755-1d6615a99cba
89
github.com/carapace-sh/carapace-spec v1.3.5
910
github.com/neurosnap/sentences v1.1.2
1011
github.com/spf13/cobra v1.10.1

go.sum

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@ github.com/JohannesKaufmann/dom v0.2.0 h1:1bragmEb19K8lHAqgFgqCpiPCFEZMTXzOIEjux
22
github.com/JohannesKaufmann/dom v0.2.0/go.mod h1:57iSUl5RKric4bUkgos4zu6Xt5LMHUnw3TF1l5CbGZo=
33
github.com/JohannesKaufmann/html-to-markdown/v2 v2.4.0 h1:C0/TerKdQX9Y9pbYi1EsLr5LDNANsqunyI/btpyfCg8=
44
github.com/JohannesKaufmann/html-to-markdown/v2 v2.4.0/go.mod h1:OLaKh+giepO8j7teevrNwiy/fwf8LXgoc9g7rwaE1jk=
5-
github.com/carapace-sh/carapace v1.10.2 h1:2E4i2ZCjjROSinQrS+AIWTYk0YAaolDJppULLZmXmj8=
6-
github.com/carapace-sh/carapace v1.10.2/go.mod h1:gdyqmVIQJFlcHn4D7BkgyjRU5LlluDXBaiRSdV6GY88=
5+
github.com/carapace-sh/carapace v1.10.3-0.20251121151734-35d09b66ce03 h1:KhLGaJ6CV3ly9GD6SeT6fFGzoneeJtF/hqYiNvAF+kY=
6+
github.com/carapace-sh/carapace v1.10.3-0.20251121151734-35d09b66ce03/go.mod h1:gdyqmVIQJFlcHn4D7BkgyjRU5LlluDXBaiRSdV6GY88=
7+
github.com/carapace-sh/carapace-bridge v1.4.9-0.20251121151755-1d6615a99cba h1:wRKtTniKuAb43EBw0YlySaG6kLLp874V0aC7UvK19Kg=
8+
github.com/carapace-sh/carapace-bridge v1.4.9-0.20251121151755-1d6615a99cba/go.mod h1:5pjJSa9xLmJafNACZSoAMs3uGD4KVbXMqzYIk/r8CkA=
79
github.com/carapace-sh/carapace-shlex v1.1.1 h1:ccmNeetAYZOk4IcV36youFDsXusT9uCNW2Njkw+QS+Q=
810
github.com/carapace-sh/carapace-shlex v1.1.1/go.mod h1:lJ4ZsdxytE0wHJ8Ta9S7Qq0XpjgjU0mdfCqiI2FHx7M=
911
github.com/carapace-sh/carapace-spec v1.3.5 h1:F/OS1CQciwTtyZbaPsOz5jQwtzbjHUoPCjCClELbb+s=

0 commit comments

Comments
 (0)