Coder Social home page Coder Social logo

ed-science / rest-assured Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rest-assured/rest-assured

0.0 1.0 0.0 10.32 MB

Java DSL for easy testing of REST services

License: Apache License 2.0

Shell 0.11% Java 85.21% Groovy 13.93% Scala 0.14% Kotlin 0.60%

rest-assured's Introduction

REST Assured

Build Status Maven Central

Testing and validation of REST services in Java is harder than in dynamic languages such as Ruby and Groovy. REST Assured brings the simplicity of using these languages into the Java domain.

News

  • 2022-04-06: REST Assured 5.0.1 is released that fixes a bug introduced in the previous version. See change log for more details.
  • 2022-03-25: REST Assured 5.0.0 is released which adds support for Groovy 4. See release notes and change log for more details.
  • 2022-02-11: REST Assured 4.5.1 is released. It fixes a bug that accidentally required both Jakarta EE and JAXB to be in the classpath at the same time under certain conditions. See change log for more details.

Older News

Examples

Here's an example of how to make a GET request and validate the JSON or XML response:

get("/lotto").then().assertThat().body("lotto.lottoId", equalTo(5));

Get and verify all winner ids:

get("/lotto").then().assertThat().body("lotto.winners.winnerId", hasItems(23, 54));

Using parameters:

given().
    param("key1", "value1").
    param("key2", "value2").
when().
    post("/somewhere").
then().
    body(containsString("OK"));

Using X-Path (XML only):

given().
    params("firstName", "John", "lastName", "Doe").
when().
    post("/greetMe").
then().
    body(hasXPath("/greeting/firstName[text()='John']")).

Need authentication? REST Assured provides several authentication mechanisms:

given().auth().basic(username, password).when().get("/secured").then().statusCode(200);

Getting and parsing a response body:

// Example with JsonPath
String json = get("/lotto").asString();
List<String> winnerIds = from(json).get("lotto.winners.winnerId");
    
// Example with XmlPath
String xml = post("/shopping").andReturn().body().asString();
Node category = from(xml).get("shopping.category[0]");

REST Assured supports any HTTP method but has explicit support for POST, GET, PUT, DELETE, OPTIONS, PATCH and HEAD and includes specifying and validating e.g. parameters, headers, cookies and body easily.

Documentation

Support and discussion

Join the mailing list at our Google group.

Links

Buy Me A Coffee

rest-assured's People

Contributors

0xflotus avatar abustany avatar ajclarkson avatar alb-i986 avatar aldaris avatar apodkutin avatar bedla avatar benseverson avatar bisk1 avatar codefarm avatar contextshuffling avatar dependabot[bot] avatar dornimaug avatar geminikim avatar johanhaleby avatar librucha avatar marknbroadhead avatar martinahrer avatar mgawinec avatar mike42 avatar petersear avatar ponziani avatar quitschibo avatar rafalsiwiec avatar rocketraccoon avatar sic2 avatar stravag avatar sullis avatar tguzik avatar viclovsky avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.