skills/pilinux/gorest/db-infra-mocks

db-infra-mocks

SKILL.md

DB Infrastructure Mocks

When to Use

  • Integration dependencies (RDBMS, Redis, MongoDB) prevent running tests or local development and you need safe, testable alternatives.

Responsibilities

  • Locate where clients and connections are constructed and consumed (database/ package).
  • Propose interface-based seams and minimal mock implementations.
  • Provide migration path and verification steps so production behavior remains unchanged.

Rules

  • Prefer small interfaces and constructor injection over large refactors.
  • Make tests deterministic and avoid network calls.
  • Provide unit and integration verification steps for any change.

Project-Specific Details

  • RDBMS connections: gdb.InitDB() / gdb.GetDB() (GORM *gorm.DB).
  • Redis connections: gdb.InitRedis() / gdb.GetRedis() (radix v4 radix.Client).
  • MongoDB connections: gdb.InitMongo() / gdb.GetMongo() (*mongo.Client from official driver v2).
  • Close all: gdb.CloseAllDB().

Recommended Approaches

  • RDBMS: Use SQLite in-memory (driver: "sqlite3") for simple GORM-backed tests.
  • Redis: Use a radix v4 compatible mock or inject an interface wrapper around radix.Client.
  • MongoDB: Inject a mock repository interface or use a local test MongoDB instance.

Output

  • Dependency map with path:line of client construction and usage.
  • Recommended seam (interface signature) and where to inject it.
  • Example mock/test code snippet and verification commands.

Related Skills

  • test-runner, patch-applier, migration-helper
Weekly Installs
4
Repository
pilinux/gorest
GitHub Stars
487
First Seen
14 days ago
Installed on
cline4
gemini-cli4
github-copilot4
codex4
kimi-cli4
cursor4