- add
--content-lengthfor max request content length in standalone server
- HTTP and HTTPS with JSON configuration from file/class path
req.client.portis supported in templatesameSitecookie attribute is supportedcorsin response is supported for CORSallowOrigin(Access-Control-Allow-Credentials)allowCredentials(Access-Control-Allow-Credentials)exposeHeaders(Access-Control-Expose-Headers)maxAge(Access-Control-Max-Age)allowMethods(Access-Control-Allow-Methods)allowHeaders(Access-Control-Allow-Headers)
pathis introduced for urireq.xmlis supported in templatereq.client.addressis supported in templatereq.pathis supported in template
- add
-qfor quiet mode in standalone server
- enhance log with query parameters
- event action log is supported
conditionalJava API allows you to write your own matcherrandomtemplate function supports start and end as rangestructAPI for JSON and XML which matches only struct no matter what content is.
- restart with configuration when new configuration is illegal. #304
- enhance log with query parameters
xmlreturns ContentResource which is A BREAK CHANGE.
connectedAPI return content when client connects to websocket serverrequestmatch request contentresponsereturn response contentjoinadd client to specific groupbroadcastbroadcast message to all subscriber.groupbroadcast message to specific group
transformJava API allows you transform your content.binaryJava API return binary message.jsonJava API return pojo dynamically.text,binary,json,varwith function, Java API allows you write your own response content.
- Return application/json header for
jsonAPI with text and resource.
- Upgrade minimal Java version to Java 8.
recordandreplaysupport dynamic stub server.groupidentifiermodifiertape
cycleAPI returns response as a cycle.nowas template function is supported in templaterandomas template function is supported in templatereq.jsonis supported in templatefailoverandplaybackstatus API is supported.headerreturns HttpHeader instead of ResponseHandler.getandpostfor event action supports HTTP header.
- Support multiple HTTP headers with same name
- Support proxy PATCH method
- Dump HTTP message even if Content Length header is missing
- Upgrade minimal Java version to Java 7
jsonAPI returns resource, so it can be used for both request and response.andAPI for Response Handler
seqis supported finallyjsonin Post event
- Glob syntax is supported for include files in global setting
- Glob syntax is supported for CLI '-c' argument
- Template for Event action
- Remove publish API with Optional, e.g. file and pathResource
- Proxy with content resource as url
- Add cookie attribute API
- HTTPS JUnit runner for POJO, JSON and from path resource
- Http JSON runner with path resource
- Socket JSON runner with path resource
- Fix: get Moco standalone version from manifest
- Fix: merge server with port
- Fix: set charset from http request
- Fix: parse json with charset
- Fix: fail to load configuration with multiple modification
- Fix: allowed empty query
- Fix: make request hit and moco monitor thread safe
- Fix: parse form with charset
- JUnit Integration
- get
- post
- put
- delete
- head
- patch
- sub-resource
- any id
- Fix: response handler case issue
- Write JSON content to log
- Fix: empty content for jsonpath
- Fix: empty content for xpath
- toJson will convert POJO to JSON text in response handler
- json with pojo will convert POJO to JSON text in request matcher
- socketServer without port
- socketServer with monitor, e.g. logging and verification
- Template as redirect target
- Enhance log dumper with MediaType implementation
- Enhance socket server implementation with byte buf, rather than string
- Fix charset issue in toJson
- Enhance file content type with MediaType implementation
- Same name query has been supported
- Use httpServer as API, and httpserver has been deprecated, will be removed at next release.
- File and path resource with charset
- Latency with time unit, and latency without time unit has been deprecated, will be removed at next release
- Log file with charset
- Template as filename for file and path resource
- Mount with response setting
- Request
- File and path resource read as byte array to fix file encoding issue
- JSON path and XPath in template will return many objects.
- Changed template extractor name to singular in JSON API, e.g. json_paths to json_path, xpaths to xpath.
- Socket support
- Version query
- Start arguments have been changed from start to HTTP(HTTPS, Socket) etc.
- Attachment
- server by JSON configuration
- Template extractor support
- Added version argument
- JSON Path, because new version JSON Path implementation has been introduced.
- (Beta) HTTPS support
- Http Protocol Version in Java API.
- More operators: ** startsWith ** endsWith ** contain ** exist
- between for verifier
- Added multiple monitors for server creation.
- json text shortcut
- change template variables from Object to String. (API users have to decide how to display their vars).
- JSON request/response shortcut in JSON configuration.
- Runner API
- (Beta) gmoco, moco groovy shell
- log to record request
- once for verifier
- batch proxy
- proxy playback
- cookie
- form
- template variables
- Response
- Fixed "uri" in failover to remove query parameter.
- Used Proguard to minimize standalone jar
- Keep connect alive if request wants to keep alive
- NPE for validating form/content in request hit
- NPE for XPath matcher
- Wait server to shutdown completely
- Request Hit as verifier
- Event API ** Event: Complete ** Event Action: Get/Post URL
- Turned off log for API by default
- seq API with response handler
- Added shortcut for PUT and DELETE method
- Server can select available port(start/shutdown) without providing no port.
- Changed "statusCode" in failover to "status". Please changed your failover file if your tests failed.
- Upgrade to Netty 4
- Fixed proxy bug
- global setting file
- JSONPath
- proxy
- with
- (Beta) template
- removed url (using proxy instead)
- removed content (using with instead)
- removed cache
- version
- method
- content
- header
- query
- context
- file root
- environment
the first public release of Moco
- API
- standalone server
- shell
- maven plugin (external)
- gradle plugin (external)
- content(text, file)
- URI
- query Parameter
- HTTP method
- version
- header
- redirect
- eq
- match
- cookie
- form
- XML
- XPath
- JSON
- content(text, file)
- version
- status code
- header
- url
- latency
- sequence(API only)
- cache
- mount