- clients/README.md: canonical API surface and error type reference - clients/testdata/: shared JSON response fixtures - clients/go/: mciasgoclient package; net/http + TLS 1.2+; sync.RWMutex token state; DisallowUnknownFields on all decoders; 25 tests pass - clients/rust/: async mcias-client crate; reqwest+rustls (no OpenSSL); thiserror MciasError enum; Arc<RwLock> token state; 22+1 tests pass; cargo clippy -D warnings clean - clients/lisp/: ASDF mcias-client; dexador HTTP, yason JSON; mcias-error condition hierarchy; Hunchentoot mock-dispatcher; 37 fiveam checks pass on SBCL 2.6.1; yason boolean normalisation in validate-token - clients/python/: mcias_client package (Python 3.11+); httpx sync; py.typed; dataclasses; 32 pytest tests; mypy --strict + ruff clean - test/mock/mockserver.go: in-memory mock server for Go client tests - ARCHITECTURE.md §19: updated per-language notes to match implementation - PROGRESS.md: Phase 9 marked complete - .gitignore: exclude clients/rust/target/, python .venv, .pytest_cache, .fasl files Security: token never logged or exposed in error messages in any library; TLS enforced in all four languages; token stored under lock/mutex/RwLock
26 lines
999 B
Common Lisp
26 lines
999 B
Common Lisp
(defsystem "mcias-client"
|
|
:version "0.1.0"
|
|
:author "Kyle Isom"
|
|
:description "Common Lisp client for the MCIAS identity and access management API"
|
|
:license "MIT"
|
|
:depends-on ("dexador"
|
|
"yason"
|
|
"cl-ppcre"
|
|
"alexandria")
|
|
:components ((:file "package")
|
|
(:file "conditions" :depends-on ("package"))
|
|
(:file "client" :depends-on ("package" "conditions")))
|
|
:in-order-to ((test-op (test-op "mcias-client/tests"))))
|
|
(defsystem "mcias-client/tests"
|
|
:version "0.1.0"
|
|
:description "Tests for mcias-client"
|
|
:depends-on ("mcias-client"
|
|
"fiveam"
|
|
"hunchentoot"
|
|
"babel")
|
|
:components ((:file "tests/package")
|
|
(:file "tests/mock-server" :depends-on ("tests/package"))
|
|
(:file "tests/client-tests" :depends-on ("tests/package" "tests/mock-server")))
|
|
:perform (test-op (op c)
|
|
(uiop:symbol-call :mcias-client-tests :run-all-tests)))
|