Skip to content
/ komock Public

KoMock - Simple HTTP/Consul/SpringConfig http server framework written in Kotlin. Wiremock use cases

License

Notifications You must be signed in to change notification settings

laviua/komock

Repository files navigation

Komock Build Status GitHub license Maven Central Code Climate

Here is HTTP/Consul/SpringConfig mocker framework written in Kotlin.

This tiny framework is very useful if you need to create REST based client for API service.
We use this framework for develop microservices or API integration with third party systems.

Main features:

  • Configurable response for any kind of HTTP request/response with wildcards, cookies and custom headers.
  • SSL support
  • Virtual Host support
  • Consul discovery service support.
  • Ability to work like a simple Spring Configuration Server
  • Header based security
  • Variables in the response by request parameters
  • Callback support

Download

Binaries are available at https://github.com/laviua/komock/releases/latest

Changelog

Maven Central repository

<dependency>
    <groupId>ua.com.lavi</groupId>
    <artifactId>komock-core</artifactId>
    <version>RELEASE</version>
</dependency>

How to use

Run standalone application:

  1. Extract release version from https://github.com/laviua/komock/releases/latest :

     komock-app-x.x.x.zip
    
  2. Run

     bin\komock-app /path/your_config.yaml
    

Examples

Simple http server https://github.com/laviua/komock/wiki/Simple-http-server-(Java)

Oauth2 server https://github.com/laviua/komock/wiki/Oauth2-server

Consul service registration https://github.com/laviua/komock/wiki/Consul

Spring config server https://github.com/laviua/komock/wiki/Spring-config-server

Unit testing https://github.com/laviua/komock/wiki/Unit-Testing-with-request-capturing-(Java)

Full config Callbacks, Mask patterns, cookies, virtualhosts, etc Look at self-describable configuration file Link:

HTTPS / SSL:

You can use your personal keystore. Just create it by the following command and set filename with password in the configuration file (secure section):

keytool -genkey -alias replserver -keyalg RSA -keystore mock_keystore.jks -dname "CN=Mark Smith, OU=JavaSoft, O=Sun, L=Cupertino, S=California, C=US" -storepass mockpassword -keypass mockpassword

ssl:
  enabled: true
  keyStoreLocation: mock_keystore.jks
  keyStorePassword: mockpassword

License

Licensed under Apache 2 License