captains-log/backend/justfile
2025-09-22 01:58:06 -07:00

65 lines
1.4 KiB
Makefile

# Backend development commands for Captain's Log
export DATABASE_URL :="sqlite://local.db"
[working-directory: 'backend']
dev-backend:
cargo run
[working-directory: 'backend']
build-backend:
cargo build
[working-directory: 'backend']
test-unit-backend:
cargo test
[working-directory: 'backend']
fmt-backend:
cargo fmt
[working-directory: 'backend']
fmt-check-backend:
cargo fmt --check
[working-directory: 'backend']
lint-backend:
cargo clippy
[working-directory: 'backend']
clean-backend:
cargo clean
[working-directory: 'backend']
reset-db:
sqlx database drop
sqlx database create
sqlx migrate run
[working-directory: 'backend']
migrate:
sqlx migrate run
[working-directory: 'backend']
migrate-revert:
sqlx migrate revert
[working-directory: 'backend']
test-integration:
#!/usr/bin/env bash
set -e
cargo run &
SERVER_PID=$!
trap 'echo "Stopping server..."; kill -TERM $SERVER_PID 2>/dev/null || true; wait $SERVER_PID 2>/dev/null || true' EXIT
echo "Waiting for server to start..."
printf 'GET http://localhost:3000/health\nHTTP 200' | hurl --retry 30 > /dev/null
echo "Running integration tests..."
hurl --test --error-format long --variable host=http://localhost:3000 tests/api/*.hurl
[working-directory: 'backend']
test-coverage:
cargo tarpaulin --out Html --output-dir coverage