Skip to content

Gojira is a record and replay framework for Java apps meant for regression testing. It provides complete recording capability within a single request-response scope, by recording request, response and any external interactions(outside of the jvm), thereby circumventing the need to provide a mock service.

License

Notifications You must be signed in to change notification settings

flipkart-incubator/gojira

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gojira

Travis build status Language grade: Java Clojars Project

Gojira is a record and replay based regression testing tool.

Features

  1. Record and Replay framework for single request-response scope executions, that goes beyond just recording http request and response data, by additionally enabling recording of any call, external to the jvm, and storing them against a single test-id.
  2. Start your JVM in 5 modes: PROFILE(for recording), TEST(when replaying), NONE and SERIALIZE(test de-serialization of recorded data), DYNAMIC(for request level mode setting).
  3. javax.servlet based Filter for capturing HTTP request(uri, headers, method, body, queryparams) and response(status code, headers, body) data.
  4. Request sampling capabilities based on URI signature and time-based sampling.
  5. Annotation based method interception support with Guice to capture method data - arguments before and after method execution, and return or exception data.
  6. Custom serialization handlers, compare handlers and hash handlers per method argument and return or exception data.
  7. Intermediate storage during recording in a BigQueue before flushing to data-store.
  8. Interfaces to plug-in data-store for storing recorded data.
  9. Test executors for running tests in replay mode.
  10. Very low overhead during NONE and PROFILE mode. TODO: Add metrics.
  11. Adding new mode called TRANSFORM which will provide hooks to client to modify existing profiled data to adhere to contract changes

Changelog

Changelog

Getting Started

Sample Application

Users

Flipkart

Contribution, Bugs and Feedback

For bugs, questions and discussions, please use Github Issues.

For contributions, please check Contributions

License

Copyright 2020 Flipkart Internet, pvt ltd.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

About

Gojira is a record and replay framework for Java apps meant for regression testing. It provides complete recording capability within a single request-response scope, by recording request, response and any external interactions(outside of the jvm), thereby circumventing the need to provide a mock service.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages