wiremock

3.8.0 • Public • Published

Wiremock NPM

NPM

This is Wiremock Standalone wrapped inside an NPM package. It relies only on dependencies found in NPM.

See: http://wiremock.org/docs/running-standalone/

Example - Command line

It can be used as a command line tool like this:

npx wiremock

Example - Mock API in frontend app

This example is in the repo in example-mock-api-with-express.

It starts a server with ExpressJS and delegates to a frontend and an API. When running npm run serve it will start this setup:

http://localhost:8080/
  |
  |
  |---[/api/*]-> http://localhost:8081/
  |
   \
    \-[*]------> http://localhost:8082/

So that:

  • http://localhost:8080/api/example Will serve the API with wiremock.
  • http://localhost:8080/whatever Will serve the frontend. This can be a Vue app or whatever.

Command line arguments

Available command line arguments npx wiremock --help:

Option                                  Description                             
------                                  -----------                             
--admin-api-basic-auth <String>         Require HTTP Basic authentication for   
                                          admin API calls with the supplied     
                                          credentials in username:password      
                                          format                                
--admin-api-require-https               Require HTTPS to be used to access the  
                                          admin API                             
--allow-proxy-targets <String>          Comma separated list of IP addresses,   
                                          IP ranges (hyphenated) and domain     
                                          name wildcards that can be proxied    
                                          to/recorded from. Is evaluated        
                                          before the list of denied addresses.  
--async-response-enabled <String>       Enable asynchronous response (default:  
                                          false)                                
--async-response-threads <String>       Number of asynchronous response         
                                          threads (default: 10)                 
--bind-address <String>                 The IP to listen connections            
--ca-keystore <String>                  Path to an alternative keystore         
                                          containing a Certificate Authority    
                                          private key & certificate for         
                                          generating certificates when          
                                          proxying HTTPS. Password is assumed   
                                          to be "password" if not specified.    
                                          (default: /home/bjerre/.wiremock/ca-  
                                          keystore.jks)                         
--ca-keystore-password <String>         Password for the alternative CA         
                                          keystore. (default: password)         
--ca-keystore-type <String>             Type of the alternative CA keystore     
                                          (jks or pkcs12). (default: jks)       
--container-threads <String>            The number of container threads         
--deny-proxy-targets <String>           Comma separated list of IP addresses,   
                                          IP ranges (hyphenated) and domain     
                                          name wildcards that cannot be         
                                          proxied to/recorded from. Is          
                                          evaluated after the list of allowed   
                                          addresses.                            
--disable-banner                        Disable print banner logo               
--disable-extensions-scanning           Prevent extensions from being scanned   
                                          and loaded from the classpath         
--disable-gzip                          Disable gzipping of request and         
                                          response bodies                       
--disable-http                          Disable the default HTTP listener.      
--disable-optimize-xml-factories-       Whether to disable optimize XML         
  loading                                 factories loading or not.             
--disable-request-logging               Disable logging of stub requests and    
                                          responses to the notifier. Useful     
                                          when performance testing.             
--disable-response-templating           Disable processing of responses with    
                                          Handlebars templates                  
--disable-strict-http-headers           Whether to disable strict HTTP header   
                                          handling of Jetty or not.             
--enable-browser-proxying               Allow wiremock to be set as a           
                                          browser's proxy server                
--enable-stub-cors                      Enable automatic sending of CORS        
                                          headers with stub responses.          
--extensions <String>                   Matching and/or response transformer    
                                          extension class names, comma          
                                          separated.                            
--filename-template <String>            Add filename template                   
--global-response-templating            Preprocess all responses with           
                                          Handlebars templates                  
--help                                  Print this message                      
--https-keystore <String>               Path to an alternative keystore for     
                                          HTTPS. Password is assumed to be      
                                          "password" if not specified.          
                                          (default: jar:file:/home/bjerre/.     
                                          npm/_npx/7a7511ad0e1cd094/node_modules/wiremock/build/wiremock-
                                          standalone-3.3.0.jar!/keystore)       
--https-port <String>                   If this option is present WireMock      
                                          will enable HTTPS on the specified    
                                          port                                  
--https-require-client-cert             Make the server require a trusted       
                                          client certificate to enable a        
                                          connection                            
--https-truststore <String>             Path to an alternative truststore for   
                                          HTTPS client certificates. Must have  
                                          a password of "password".             
--jetty-accept-queue-size <String>      The size of Jetty's accept queue size   
--jetty-acceptor-threads <String>       Number of Jetty acceptor threads        
--jetty-header-buffer-size <String>     Deprecated. The size of Jetty's buffer  
                                          for request headers                   
--jetty-header-request-size <String>    The size of Jetty's buffer for request  
                                          headers                               
--jetty-header-response-size <String>   The size of Jetty's buffer for          
                                          response headers                      
--jetty-idle-timeout <String>           Idle timeout in milliseconds for Jetty  
                                          connections                           
--jetty-stop-timeout <String>           Timeout in milliseconds for Jetty to    
                                          stop                                  
--key-manager-password <String>         Key manager password for use with the   
                                          alternative keystore. (default:       
                                          password)                             
--keystore-password <String>            Password for the alternative keystore.  
                                          (default: password)                   
--keystore-type <String>                The HTTPS keystore type. (default: JKS) 
--load-resources-from-classpath         Specifies path on the classpath for     
  <String>                                storing recordings (parent for        
                                          mappings and __files folders)         
--local-response-templating             Preprocess selected responses with      
                                          Handlebars templates                  
--logged-response-body-size-limit       Maximum size for response bodies        
  <String>                                stored in the request journal beyond  
                                          which truncation will be applied      
--match-headers <String>                Enable request header matching when     
                                          recording through a proxy             
--max-request-journal-entries <String>  Set maximum number of entries in        
                                          request journal (if enabled) to       
                                          discard old entries if the log        
                                          becomes too large. Default: no        
                                          discard                               
--max-template-cache-entries [String]   The maximum number of response          
                                          template fragments that can be        
                                          cached. Only has any effect when      
                                          templating is enabled. Defaults to    
                                          no limit.                             
--no-request-journal                    Disable the request journal (to avoid   
                                          heap growth when running wiremock     
                                          for long periods without reset)       
--permitted-system-keys [String]        A list of case-insensitive regular      
                                          expressions for names of permitted    
                                          system properties and environment     
                                          vars. Only has any effect when        
                                          templating is enabled. Defaults to    
                                          no limit.                             
--port <String>                         The port number for the server to       
                                          listen on (default: 8080). 0 for      
                                          dynamic port selection.               
--preserve-host-header                  Will transfer the original host header  
                                          from the client to the proxied        
                                          service                               
--print-all-network-traffic             Print all raw incoming and outgoing     
                                          network traffic to console            
--proxy-all <String>                    Will create a proxy mapping for /* to   
                                          the specified URL                     
--proxy-pass-through <String>           Flag to control browser proxy pass      
                                          through                               
--proxy-timeout <String>                Timeout in milliseconds for requests    
                                          to proxy                              
--proxy-via <String>                    Specifies a proxy server to use when    
                                          routing proxy mapped requests         
--record-mappings                       Enable recording of all (non-admin)     
                                          requests as mapping files             
--root-dir <String>                     Specifies path for storing recordings   
                                          (parent for mappings and __files      
                                          folders) (default: .)                 
--timeout                               The default global timeout.             
--trust-all-proxy-targets               Trust all certificates presented by     
                                          origins when browser proxying         
--trust-proxy-target <String>           Trust any certificate presented by      
                                          this origin when browser proxying     
--truststore-password <String>          Password for the trust store (default:  
                                          password)                             
--truststore-type <String>              The HTTPS trust store type (default:    
                                          JKS)                                  
--use-chunked-encoding <String>         Whether to use Transfer-Encoding:       
                                          chunked in responses. Can be set to   
                                          always, never or body_file.           
                                          (default: always)                     
--verbose                               Enable verbose logging to stdout 

Readme

Keywords

none

Package Sidebar

Install

npm i wiremock

Weekly Downloads

4,303

Version

3.8.0

License

Apache 2

Unpacked Size

17.1 MB

Total Files

5

Last publish

Collaborators

  • tomasbjerre