updated rest assured test

parent 5cb18d07
...@@ -7,11 +7,12 @@ ...@@ -7,11 +7,12 @@
<list default="true" id="bd185af2-024c-4245-af2c-5893b8b011d9" name="Changes" comment=""> <list default="true" id="bd185af2-024c-4245-af2c-5893b8b011d9" name="Changes" comment="">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../../teacher-service/teacher-service/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/../../teacher-service/teacher-service/pom.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/../../teacher-service/teacher-service/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/../../teacher-service/teacher-service/pom.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../../teacher-service/teacher-service/src/main/java/com/example/teacher/controller/TeacherController.java" beforeDir="false" afterPath="$PROJECT_DIR$/../../teacher-service/teacher-service/src/main/java/com/example/teacher/controller/TeacherController.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/../../teacher-service/teacher-service/src/main/java/com/example/teacher/model/Teacher.java" beforeDir="false" afterPath="$PROJECT_DIR$/../../teacher-service/teacher-service/src/main/java/com/example/teacher/model/Teacher.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../../teacher-service/teacher-service/src/test/java/com/example/teacher/controller/TeacherControllerTest.java" beforeDir="false" afterPath="$PROJECT_DIR$/../../teacher-service/teacher-service/src/test/java/com/example/teacher/controller/TeacherControllerTest.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/../../teacher-service/teacher-service/src/test/java/com/example/teacher/controller/TeacherControllerTest.java" beforeDir="false" afterPath="$PROJECT_DIR$/../../teacher-service/teacher-service/src/test/java/com/example/teacher/controller/TeacherEndToEndTest.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../../teacher-service/teacher-service/src/test/java/com/example/teacher/service/TeacherServiceTest.java" beforeDir="false" afterPath="$PROJECT_DIR$/../../teacher-service/teacher-service/src/test/java/com/example/teacher/service/TeacherServiceTest.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/../../teacher-service/teacher-service/src/test/java/com/example/teacher/service/TeacherServiceTest.java" beforeDir="false" afterPath="$PROJECT_DIR$/../../teacher-service/teacher-service/src/test/java/com/example/teacher/service/TeacherServiceTest.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../../teacher-service/teacher-service/target/classes/com/example/teacher/model/Teacher.class" beforeDir="false" afterPath="$PROJECT_DIR$/../../teacher-service/teacher-service/target/classes/com/example/teacher/model/Teacher.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../../teacher-service/teacher-service/target/generated-sources/annotations/com/example/teacher/mapper/TeacherMapperImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/../../teacher-service/teacher-service/target/generated-sources/annotations/com/example/teacher/mapper/TeacherMapperImpl.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/../../teacher-service/teacher-service/target/generated-sources/annotations/com/example/teacher/mapper/TeacherMapperImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/../../teacher-service/teacher-service/target/generated-sources/annotations/com/example/teacher/mapper/TeacherMapperImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../../teacher-service/teacher-service/target/test-classes/com/example/teacher/controller/TeacherControllerTest.class" beforeDir="false" afterPath="$PROJECT_DIR$/../../teacher-service/teacher-service/target/test-classes/com/example/teacher/controller/TeacherControllerTest.class" afterDir="false" /> <change beforePath="$PROJECT_DIR$/../../teacher-service/teacher-service/target/test-classes/com/example/teacher/controller/TeacherControllerTest.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/../../teacher-service/teacher-service/target/test-classes/com/example/teacher/service/TeacherServiceTest.class" beforeDir="false" afterPath="$PROJECT_DIR$/../../teacher-service/teacher-service/target/test-classes/com/example/teacher/service/TeacherServiceTest.class" afterDir="false" /> <change beforePath="$PROJECT_DIR$/../../teacher-service/teacher-service/target/test-classes/com/example/teacher/service/TeacherServiceTest.class" beforeDir="false" afterPath="$PROJECT_DIR$/../../teacher-service/teacher-service/target/test-classes/com/example/teacher/service/TeacherServiceTest.class" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
......
...@@ -75,11 +75,11 @@ ...@@ -75,11 +75,11 @@
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple --> <!-- https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple -->
<dependency> <!-- <dependency>-->
<groupId>com.googlecode.json-simple</groupId> <!-- <groupId>com.googlecode.json-simple</groupId>-->
<artifactId>json-simple</artifactId> <!-- <artifactId>json-simple</artifactId>-->
<version>1.1.1</version> <!-- <version>1.1.1</version>-->
</dependency> <!-- </dependency>-->
</dependencies> </dependencies>
......
...@@ -23,4 +23,11 @@ public class Teacher { ...@@ -23,4 +23,11 @@ public class Teacher {
@Temporal(TemporalType.DATE) @Temporal(TemporalType.DATE)
private Date dateOfJoining; private Date dateOfJoining;
private boolean active; private boolean active;
public Teacher(String name, int age, String subject, Date dateOfJoining) {
this.name = name;
this.age = age;
this.subject = subject;
this.dateOfJoining = dateOfJoining;
}
} }
...@@ -6,9 +6,7 @@ import io.restassured.RestAssured; ...@@ -6,9 +6,7 @@ import io.restassured.RestAssured;
import io.restassured.http.ContentType; import io.restassured.http.ContentType;
import io.restassured.response.Response; import io.restassured.response.Response;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.json.JSONException; //import org.json.simple.JSONObject;
import org.json.simple.JSONObject;
//import org.json.JSONObject;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Test; import org.junit.Test;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
...@@ -18,19 +16,38 @@ import java.text.SimpleDateFormat; ...@@ -18,19 +16,38 @@ import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.samePropertyValuesAs;
@Slf4j @Slf4j
@WebMvcTest @WebMvcTest
public class TeacherControllerTest { public class TeacherEndToEndTest {
@Test @Test
public void getAllTeachersStatusTest(){ public void getAllTeachersStatusTest(){
RestAssured.get("http://localhost:8081/teachers/all").then().statusCode(200).log().all(); RestAssured.get("http://localhost:8081/teachers/all").then().statusCode(200).log().all();
} }
@Test
public void getTeacherByIdReturnsObjectTest() throws ParseException {
Teacher teacher = RestAssured
.given()
.get("http://localhost:8081/teachers/32")
.as(Teacher.class);
Date date = new SimpleDateFormat("dd:MM:yyyy hh:mm:ss").parse("10:06:2008 06:00:00");
Teacher myTeacher = new Teacher(32, "Naveed", 25, "28", date, true);
Assert.assertThat(myTeacher, samePropertyValuesAs(teacher));
}
@Test @Test
public void getTeacherByWrongIdStatusTest() { public void getTeacherByWrongIdStatusTest() {
RestAssured.get("http://localhost:8081/teachers/411").then().statusCode(404).log().all(); RestAssured
.given()
.get("http://localhost:8081/teachers/411")
.then()
.statusCode(404)
.log()
.headers();
} }
@Test @Test
...@@ -63,36 +80,36 @@ public class TeacherControllerTest { ...@@ -63,36 +80,36 @@ public class TeacherControllerTest {
Assert.assertEquals(response.asString(), "Teacher does not exist"); Assert.assertEquals(response.asString(), "Teacher does not exist");
log.info(response.asPrettyString()); log.info(response.asPrettyString());
} }
//
@Test // @Test
public void createTeacherTest() throws JSONException, ParseException { // public void createTeacherTest() throws JSONException, ParseException {
Date date = new Date(); // Date date = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd:MM:yyyy"); // SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd:MM:yyyy");
String stringDate = simpleDateFormat.format(date); // String stringDate = simpleDateFormat.format(date);
//
JSONObject requestParams = new JSONObject(); // JSONObject requestParams = new JSONObject();
requestParams.put("name", "QadeerTest"); // requestParams.put("name", "QadeerTest");
requestParams.put("age", "57"); // requestParams.put("age", "57");
requestParams.put("subject", "Math"); // requestParams.put("subject", "Math");
requestParams.put("dateOfJoining", stringDate); // requestParams.put("dateOfJoining", stringDate);
RestAssured // RestAssured
.given() // .given()
.contentType(ContentType.JSON) // .contentType(ContentType.JSON)
.body(requestParams.toString()) // .body(requestParams.toString())
.when() // .when()
.post("http://localhost:8081/teachers") // .post("http://localhost:8081/teachers")
.then() // .then()
.statusCode(201); // .statusCode(201);
} // }
@Test // @Test
public void deleteTeacherByIdTest() { // public void deleteTeacherByIdTest() {
RestAssured // RestAssured
.given() // .given()
.delete("http://localhost:8081/teachers/delete/36") // .delete("http://localhost:8081/teachers/delete/36")
.then() // .then()
.statusCode(200); // .statusCode(200);
} // }
@Test @Test
public void deleteTeacherByWrongIdTest() { public void deleteTeacherByWrongIdTest() {
...@@ -103,24 +120,41 @@ public class TeacherControllerTest { ...@@ -103,24 +120,41 @@ public class TeacherControllerTest {
.statusCode(404); .statusCode(404);
} }
// @Test
// public void updateTeacher() throws ParseException {
// Date date = new Date();
// SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd:MM:yyyy");
// String stringDate = simpleDateFormat.format(date);
// JSONObject requestParams = new JSONObject();
// requestParams.put("name", "QadeerUpdated");
// requestParams.put("age", "57");
// requestParams.put("subject", "UpdatedSubject");
// requestParams.put("dateOfJoining", stringDate);
// RestAssured
// .given()
// .body(requestParams.toJSONString())
// .contentType(ContentType.JSON)
// .put("http://localhost:8081/teachers/35")
// .then()
// .statusCode(202)
// .log()
// .all();
// }
@Test @Test
public void updateTeacher() throws ParseException { public void createTeacherWithObject() throws ParseException {
Date date = new Date(); Date date = new SimpleDateFormat("dd:MM:yyyy").parse("11:11:2011");
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd:MM:yyyy"); Teacher teacher = new Teacher("TestTeacher", 25, "TestMaths", date);
String stringDate = simpleDateFormat.format(date);
JSONObject requestParams = new JSONObject();
requestParams.put("name", "QadeerUpdated");
requestParams.put("age", "57");
requestParams.put("subject", "UpdatedSubject");
requestParams.put("dateOfJoining", stringDate);
RestAssured RestAssured
.given() .given()
.body(requestParams.toJSONString())
.contentType(ContentType.JSON) .contentType(ContentType.JSON)
.put("http://localhost:8081/teachers/35") .body(teacher)
.when()
.post("http://localhost:8081/teachers")
.then() .then()
.statusCode(202) .assertThat()
.statusCode(201)
.log() .log()
.all(); .body();
} }
} }
...@@ -6,10 +6,10 @@ import com.example.teacher.mapper.TeacherMapper; ...@@ -6,10 +6,10 @@ import com.example.teacher.mapper.TeacherMapper;
import com.example.teacher.model.Teacher; import com.example.teacher.model.Teacher;
import com.example.teacher.repository.TeacherRepository; import com.example.teacher.repository.TeacherRepository;
import org.json.JSONException; import org.json.JSONException;
import org.junit.After;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.jupiter.api.AfterEach;
import org.mockito.*; import org.mockito.*;
import java.text.ParseException; import java.text.ParseException;
...@@ -61,7 +61,11 @@ public class TeacherServiceTest { ...@@ -61,7 +61,11 @@ public class TeacherServiceTest {
List<Teacher> mockTeacherList = teacherService.findAllTeachers(); List<Teacher> mockTeacherList = teacherService.findAllTeachers();
// assert statements checks if the results are as we expected. // assert statements checks if the results are as we expected.
Assert.assertEquals(mockTeacherList.get(0), teacherList.get(0)); Assert.assertEquals(mockTeacherList.get(0).getId(), teacherList.get(0).getId());
Assert.assertEquals(mockTeacherList.get(0).getName(), teacherList.get(0).getName());
Assert.assertEquals(mockTeacherList.get(0).getAge(), teacherList.get(0).getAge());
Assert.assertEquals(mockTeacherList.get(0).getSubject(), teacherList.get(0).getSubject());
Assert.assertEquals(mockTeacherList.get(0).getDateOfJoining(), teacherList.get(0).getDateOfJoining());
} }
@Test @Test
...@@ -120,7 +124,6 @@ public class TeacherServiceTest { ...@@ -120,7 +124,6 @@ public class TeacherServiceTest {
@Test @Test
public void deleteTeacherByIdTest() { public void deleteTeacherByIdTest() {
Teacher myDeletedTeacher = new Teacher(0, "Teacher", 25, "maths", new Date(), false);
Mockito.when(teacherRepository.findTeacherById(0)).thenReturn(myTeacher); Mockito.when(teacherRepository.findTeacherById(0)).thenReturn(myTeacher);
boolean isDeleted = teacherService.deleteTeacherById(0); boolean isDeleted = teacherService.deleteTeacherById(0);
Assert.assertTrue(isDeleted); Assert.assertTrue(isDeleted);
...@@ -131,7 +134,6 @@ public class TeacherServiceTest { ...@@ -131,7 +134,6 @@ public class TeacherServiceTest {
@Test @Test
public void deleteTeacherByWrongIdTest() { public void deleteTeacherByWrongIdTest() {
Teacher myDeletedTeacher = new Teacher(0, "Teacher", 25, "maths", new Date(), false);
Mockito.when(teacherRepository.findTeacherById(0)).thenReturn(null); Mockito.when(teacherRepository.findTeacherById(0)).thenReturn(null);
boolean isDeleted = teacherService.deleteTeacherById(0); boolean isDeleted = teacherService.deleteTeacherById(0);
Assert.assertFalse(isDeleted); Assert.assertFalse(isDeleted);
...@@ -154,7 +156,7 @@ public class TeacherServiceTest { ...@@ -154,7 +156,7 @@ public class TeacherServiceTest {
Assert.assertEquals(teacher.getAge(), myTeacher.getAge()); Assert.assertEquals(teacher.getAge(), myTeacher.getAge());
} }
@AfterEach @After
public void tearDown() throws Exception { public void tearDown() throws Exception {
openMocks.close(); openMocks.close();
} }
......
...@@ -7,7 +7,7 @@ import org.springframework.stereotype.Component; ...@@ -7,7 +7,7 @@ import org.springframework.stereotype.Component;
@Generated( @Generated(
value = "org.mapstruct.ap.MappingProcessor", value = "org.mapstruct.ap.MappingProcessor",
date = "2022-08-04T11:52:34+0500", date = "2022-08-04T13:22:55+0500",
comments = "version: 1.4.2.Final, compiler: javac, environment: Java 18.0.1.1 (Oracle Corporation)" comments = "version: 1.4.2.Final, compiler: javac, environment: Java 18.0.1.1 (Oracle Corporation)"
) )
@Component @Component
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment