# DB Infra Mocks

> Propose minimal seams and local substitutes so tests run without real RDBMS/Redis/Mongo infrastructure.

- Skill: `pilinux/db-infra-mocks` (Agent Skill)
- Install (CLI): `npx skillmds@latest add pilinux/db-infra-mocks`
- Raw SKILL.md: https://api.skillmd.com/api/skills/pilinux/db-infra-mocks/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- License: MIT
- Author: pilinux (https://skillmd.com/u/pilinux)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/pilinux/db-infra-mocks

---


# 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`

