Simple and efficient HTTP mock server with specification written in yaml
, edn
or OpenAPI
.
💾 Download the
.jar
file with the latest version of moclojer to test on your computer here.
📖 See the complete documentation for moclojer here, if you want to contribute (or complement) the documentation, it is here.
YAML
example
# This mock register route: GET /hello/:username
- endpoint:
# Note: the method could be omitted because GET is the default
method: GET
path: /hello/:username
response:
# Note: the status could be omitted because 200 is the default
status: 200
headers:
Content-Type: application/json
# Note: the body will receive the value passed in the url using the
# :username placeholder
body: >
{
"hello": "{{path-params.username}}!"
}
ghcr.io/moclojer/moclojer:latest
8000
, if you want to change the port set the environment variable PORT
docker run -it \
-p 8000:8000 -v $(pwd)/moclojer.yml:/app/moclojer.yml \
ghcr.io/moclojer/moclojer:latest
we Two available versions:
dev
: main branch docker imagelatest
: latest stable version imageWe distribute via the .jar
file, you need to have Java installed on your operating system.
bash < <(curl -s https://raw.githubusercontent.com/moclojer/moclojer/main/install.sh)
If you are using Linux you maybe need
sudo
.
clj -M:run [OPTIONS]
java -jar moclojer.jar [OPTIONS]
moclojer_Linux [OPTIONS]
parameter | description |
---|---|
-c, --config | Config path or the CONFIG environment variable. [default: ~/.config/moclojer.yml ] |
-m, --mocks | OpenAPI v3 mocks path or the MOCKS environment variable. |
-h, --help | Show help information |
-v, --version | Show version information |
sentry: set environment var SENTRY_DSN
(sentry doc), automatic send backtrace to <sentry.io>
Config uses
XDG_CONFIG_HOME
to fetch the default moclojer configuration file, if you want to set a different directory you must use the-c
or environment variableCONFIG
moclojer is written in Clojure, to run the commands below we assume you have clojure installed on your operating system.
run:
clj -M:run
test:
clj -M:test
if you want to run a specific test:
clj -M:test -n com.moclojer.external-body.excel-test
moclojer.jar
generate:
clj -A:dev -M --report stderr -m com.moclojer.build
We distribute the library via Clojars.
com.moclojer/moclojer {:mvn/version "0.3.0"}
[com.moclojer/moclojer "0.3.0"]
git
in deps.edn
{:deps
{com.moclojer/moclojer {:git/url "https://github.com/moclojer/moclojer.git"
:git/tag "v0.3.0"
:git/sha "84df7980a56789d1f0b03b9ee06086e4b33f28f1"}}}
(ns my-app.core
(:require [com.moclojer.adapters :as adapters]
[com.moclojer.server :as server]))
(def *router
"create a router from a config map"
(adapters/generate-routes
[{:endpoint
{:method "GET"
:path "/example"
:response {:status 200
:headers {:Content-Type "application/json"}
:body {:id 123}}}}]))
(defn -main
"start the server"
[& args]
(server/start-server! *router))
Can you improve this documentation? These fine people already did:
Avelino, matheusfrancisco, Matheus Francisco, Rafael Delboni, Rodrigo Campos, Vinnie Mesel & Enzzo CavalloEdit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close