Skip to content

Commit 093e453

Browse files
committed
Add coverage for package secret
1 parent d6b56f6 commit 093e453

File tree

2 files changed

+66
-0
lines changed

2 files changed

+66
-0
lines changed

CONTRIBUTING.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@ make test
3333

3434
# Run integration tests (requires Docker plugin to be installed)
3535
make integration
36+
37+
# Run integration tests with console output
38+
docker buildx build --build-arg GO_LDFLAGS --build-arg DOCKER_MCP_PLUGIN_BINARY --target=test --progress=plain --no-cache .
39+
3640
```
3741

3842
### Unit Test Coverage
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
package secret
2+
3+
import (
4+
"errors"
5+
"testing"
6+
7+
"github.com/stretchr/testify/assert"
8+
)
9+
10+
func TestGetSecretKey(t *testing.T) {
11+
result := getSecretKey("mykey")
12+
assert.Equal(t, "sm_mykey", result)
13+
}
14+
15+
func TestParseArg(t *testing.T) {
16+
// Test key=value parsing
17+
secret, err := ParseArg("key=value", SetOpts{Provider: Credstore})
18+
assert.NoError(t, err)
19+
assert.Equal(t, "key", secret.key)
20+
assert.Equal(t, "value", secret.val)
21+
22+
// Test key-only for non-direct providers
23+
secret, err = ParseArg("keyname", SetOpts{Provider: "oauth/github"})
24+
assert.NoError(t, err)
25+
assert.Equal(t, "keyname", secret.key)
26+
assert.Equal(t, "", secret.val)
27+
28+
// Test error on key=value with non-direct provider
29+
_, err = ParseArg("key=value", SetOpts{Provider: "oauth/github"})
30+
assert.Error(t, err)
31+
}
32+
33+
func TestIsDirectValueProvider(t *testing.T) {
34+
assert.True(t, isDirectValueProvider(""))
35+
assert.True(t, isDirectValueProvider(Credstore))
36+
assert.False(t, isDirectValueProvider("oauth/github"))
37+
}
38+
39+
func TestIsValidProvider(t *testing.T) {
40+
// Valid providers
41+
assert.True(t, IsValidProvider(""))
42+
assert.True(t, IsValidProvider(Credstore))
43+
assert.True(t, IsValidProvider("oauth/github"))
44+
assert.True(t, IsValidProvider("oauth/google"))
45+
46+
// Invalid providers
47+
assert.False(t, IsValidProvider("invalid"))
48+
assert.False(t, IsValidProvider("oauth"))
49+
}
50+
51+
func TestIsErrDecryption(t *testing.T) {
52+
// Test decryption error detection
53+
decryptErr := errors.New("gpg: decryption failed: No secret key")
54+
assert.True(t, isErrDecryption(decryptErr))
55+
56+
// Test other errors
57+
otherErr := errors.New("some other error")
58+
assert.False(t, isErrDecryption(otherErr))
59+
60+
// Test nil
61+
assert.False(t, isErrDecryption(nil))
62+
}

0 commit comments

Comments
 (0)