Private
Public Access
1
0
Files
Kordophone/mock/README.md

41 lines
1.3 KiB
Markdown
Raw Normal View History

2025-09-06 19:52:37 -07:00
# Kordophone Mock Server (Go)
A lightweight mock of the Kordophone macOS server for local development and tests. It emulates the REST API and updates stream, and seeds itself with sample conversations/messages/attachments.
## Build & Run
Requirements: Go 1.20+
```bash
cd mock
go run ./... # quick run
# or build a binary
make # outputs ./kordophone-mock
./kordophone-mock
```
Flags:
- `--debug` — enable debug logging
- `--auth` — require authentication (Bearer token via `/authenticate`)
Listens on `http://localhost:5738` by default.
## API Surface (mocked)
- `GET /version` — server version
- `GET /status` — status (requires auth when enabled)
- `GET /conversations` — list conversations
- `GET /messages?guid=...&beforeDate=...&beforeMessageGUID=...&afterMessageGUID=...&limit=...` — list messages
- `POST /authenticate` — exchange username/password for a bearer token (when `--auth`)
- `POST /sendMessage` — send a message
- `POST /markConversation?guid=...` — mark read
- `GET /attachment?guid=...` — download attachment
- `POST /uploadAttachment?filename=...` — upload attachment
- `GET /pollUpdates?seq=...` — longpoll for updates
- `GET /updates` — WebSocket updates
Note: `/api/*` paths are redirected to the same endpoints for compatibility.