This workshop will show you how to use a different approach from SpringTest or any other tool to build robust API tests in the integration later or intra-services. Rest-Assured is a well-known Java DSL for testing REST services, giving software engineers a lot of freedom during the test automation process creation. The workshop will start with the RestAssured basics and how we can use any REST API methods in a test, followed by some features such as authentication, request and response specification, and authentication. After all the basic approaches you will learn how to apply some design and testing patterns such as Base Test Class and Test Data Factory to remove all code duplication. To enable a more robust architecture you will learn how to create abstraction on top of the auto-generated client code, creating a service abstraction to deal with different requests. This will allow you to extend the API test coverage and think about integration tests without mocks! Steps This will be what you will learn during the workshop: - Basic Rest-Assured concepts - Request and Response specifications - Filters - How to automate any test given the REST API methods - How to deal with authentication - How to build a robust framework for intra-service testing using: - Open API library to generate the client code - Abstractions for REST configuration, client definition, and service definition You can find the workshop here: http://eliasnogueira.com/workshop/

Talk Level:
BEGINNER

Bio:
Elias is an experienced IT professional with a background in software engineering, consulting, agile coach, and tech lead, currently working as Principal Engineer in Test at Backbase. He helps software engineers to develop their quality mindset and deliver bug-free software. His specialization is in Quality Engineering for backend, frontend, and mobile technologies. He's a writer, blogger, and loves to help the community by running meetups and sharing knowledge by giving presentations around the world. He's also a Browserstack champion and Oracle ACE for Java.