cli/pkg/plugin/plugin_test.go
Snider 32a3613a3a feat: add collect, config, crypt, plugin packages and fix all lint issues
Add four new infrastructure packages with CLI commands:
- pkg/config: layered configuration (defaults → file → env → flags)
- pkg/crypt: crypto primitives (Argon2id, AES-GCM, ChaCha20, HMAC, checksums)
- pkg/plugin: plugin system with GitHub-based install/update/remove
- pkg/collect: collection subsystem (GitHub, BitcoinTalk, market, papers, excavate)

Fix all golangci-lint issues across the entire codebase (~100 errcheck,
staticcheck SA1012/SA1019/ST1005, unused, ineffassign fixes) so that
`core go qa` passes with 0 issues.

Closes #167, #168, #170, #250, #251, #252, #253, #254, #255, #256

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 11:32:41 +00:00

39 lines
781 B
Go

package plugin
import (
"context"
"testing"
"github.com/stretchr/testify/assert"
)
func TestBasePlugin_Good(t *testing.T) {
p := &BasePlugin{
PluginName: "test-plugin",
PluginVersion: "1.0.0",
}
assert.Equal(t, "test-plugin", p.Name())
assert.Equal(t, "1.0.0", p.Version())
ctx := context.Background()
assert.NoError(t, p.Init(ctx))
assert.NoError(t, p.Start(ctx))
assert.NoError(t, p.Stop(ctx))
}
func TestBasePlugin_Good_EmptyFields(t *testing.T) {
p := &BasePlugin{}
assert.Equal(t, "", p.Name())
assert.Equal(t, "", p.Version())
ctx := context.Background()
assert.NoError(t, p.Init(ctx))
assert.NoError(t, p.Start(ctx))
assert.NoError(t, p.Stop(ctx))
}
func TestBasePlugin_Good_ImplementsPlugin(t *testing.T) {
var _ Plugin = &BasePlugin{}
}