Showing posts with label RESTAssured. Show all posts
Showing posts with label RESTAssured. Show all posts

Friday, 20 May 2022

Basic REST XML POST request template using REST Assured and testng

Basic REST XML template using REST Assured 

package com.sadakar.api.common;

import static org.testng.Assert.assertNotEqualsDeep;

import org.testng.annotations.Test;
import static io.restassured.RestAssured.given;

public class RESTXMLPost {

	
	@Test
	public void post() {
		String requestBody = 
				"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n" 
				+"<tag1 subtag1=\"value1\" >\r\n" 
				+"<tag2>\r\n" 
				+"<tag2Subtag>value</tag2Subtag>\r\n" 
				+"</tag1>";


		given()
		.log().all()
		.baseUri("https://testurl/api/endPoint")
		.contentType("application/xml")
		.accept("application/xml")
		.header("headerName", "headerValue")
		.body(requestBody)
		.when()
		.post()
		.then()
		.log().all()
		.assertThat()
		.statusCode(200)
		.and()
        .contentType("application/xml");
	}
}

pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>APIAutomation</groupId>
	<artifactId>APIAutomation</artifactId>
	<version>0.0.1-SNAPSHOT</version>

	<dependencies>
		<!-- https://mvnrepository.com/artifact/io.rest-assured/rest-assured -->
		<dependency>
			<groupId>io.rest-assured</groupId>
			<artifactId>rest-assured</artifactId>
			<version>5.0.1</version>
			<scope>compile</scope>
		</dependency>
		<!-- https://mvnrepository.com/artifact/org.testng/testng -->
		<dependency>
			<groupId>org.testng</groupId>
			<artifactId>testng</artifactId>
			<version>7.5</version>
			<scope>compile</scope>
		</dependency>
		<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>2.13.2.2</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/io.rest-assured/json-schema-validator -->
		<dependency>
			<groupId>io.rest-assured</groupId>
			<artifactId>json-schema-validator</artifactId>
			<version>5.0.1</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/javax.xml.bind/jaxb-api -->
		<dependency>
			<groupId>javax.xml.bind</groupId>
			<artifactId>jaxb-api</artifactId>
			<version>2.4.0-b180830.0359</version>
		</dependency>

	</dependencies>

</project>