Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Data
- @Entity
- public class Dojo {
- private @Id @GeneratedValue Long id;
- private String name;
- private String location;
- private Date created;
- @OneToMany(mappedBy = "dojo")
- @JsonIgnore
- private List<Workshop> workshops;
- private Dojo() {}
- public Dojo(String name, String location) {
- this.name = name;
- this.location = location;
- this.created = new Date();
- this.workshops = new ArrayList<>();
- }
- //getters and setters ...
- }
- @Data
- @Entity
- public class Workshop {
- private @Id @GeneratedValue Long id;
- private String name;
- @ManyToOne
- private Dojo dojo;
- private Workshop() {}
- public Workshop(String name, Dojo dojo) {
- this.name = name;
- this.dojo = dojo;
- }
- }
- public interface WorkshopRepository extends CrudRepository<Workshop, Long> {}
- @Test
- public void testUpdateWorkshop() throws Exception {
- final String DOJO_NAME="My Dojo";
- final String DOJO_LOCATION="Liege";
- final String WORKSHOP_NAME="Stuff";
- final String HOST_PORT="http://localhost:8080";
- //creation of a dojo
- final Dojo DOJO = dojoRep.save(new Dojo(DOJO_NAME,DOJO_LOCATION));
- //creation of a workshop
- Workshop workshop = workshopRep.save(new Workshop(WORKSHOP_NAME,DOJO));
- String newValue = "After Test";
- System.out.println("before update");
- System.out.println(workshop.getName()+" == "+WORKSHOP_NAME);
- Long oldID = workshop.getId();
- //As you can see I didn't modify the workshop object
- HttpEntity<Workshop> entity = new HttpEntity<Workshop>(workshop);
- ResponseEntity<String> response = template.exchange(HOST_PORT+"/api/workshops/"+oldID, HttpMethod.PUT, entity, String.class, oldID);
- assert response.getStatusCodeValue() == 200;
- //re-Get the updated workshop
- workshop = workshopRep.findOne(oldID);
- System.out.println("after update");
- System.out.println(workshop.getName()+" == "+WORKSHOP_NAME);
- // as I didn't set the newValue, it must fail and workshop.getName() must stay equal to "Stuff".
- Assert.assertEquals("Update does not work",newValue,workshop.getName());
- }
- before update
- Stuff == Stuff
- after update
- My Dojo == Stuff
- Failed tests:
- WorkshopTests.testUpdateWorkshop:218 Update not work expected:<[After Test]> but was:<[My Dojo]>
- mockMvc.perform(put(HOST_PORT+"/api/workshops/"+oldID)
- .contentType(MediaType.APPLICATION_JSON_UTF8)
- .content(convertObjectToJsonBytes(workshop))
- );
- private byte[] convertObjectToJsonBytes(Object object) throws IOException {
- ObjectMapper mapper = new ObjectMapper();
- System.out.println("log my face ");
- System.out.println(mapper.writeValueAsString(object));
- return mapper.writeValueAsBytes(object);
- }
- {"id":1,"name":"Stuff","dojo":{"id":1,"name":"My Dojo","location":"Liege","created":1500799092330}}
- {
- "name" : "Stuff",
- "_links" : {
- "self" : {
- "href" : "http://localhost-core:8080/api/workshops/1"
- },
- "workshop" : {
- "href" : "http://localhost-core:8080/api/workshops/1"
- },
- "dojo" : {
- "href" : "http://localhost-core:8080/api/workshops/1/dojo"
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement