From 9aaf1b8fd38d4c8d4bc3c2238a43acfd8bee756e Mon Sep 17 00:00:00 2001 From: Zach Date: Sun, 5 Sep 2021 12:34:05 -0400 Subject: [PATCH 1/3] Removed all references to Recipe as a class in models, repos, services and controllers. Removed from tests as well. Recipe is now a string on the BlogPost class --- .idea/runConfigurations.xml | 10 -- .../demo/controller/RecipeController.java | 43 ------- .../com/example/demo/models/BlogPost.java | 9 +- .../java/com/example/demo/models/Recipe.java | 69 ---------- .../demo/repository/RecipeRepository.java | 10 -- .../demo/repository/TagRepository.java | 2 - .../example/demo/service/RecipeService.java | 47 ------- src/main/resources/application.properties | 6 +- .../demo/controller/RecipeControllerTest.java | 102 --------------- .../com/example/demo/models/BlogPostTest.java | 26 ++-- .../com/example/demo/models/RecipeTest.java | 88 ------------- .../demo/service/RecipeServiceTest.java | 120 ------------------ target/classes/application.properties | 6 +- .../demo/controller/RecipeController.class | Bin 3186 -> 0 bytes .../com/example/demo/models/BlogPost.class | Bin 3881 -> 3640 bytes .../com/example/demo/models/Recipe.class | Bin 2286 -> 0 bytes .../demo/repository/RecipeRepository.class | Bin 428 -> 0 bytes .../demo/service/BlogPostService.class | Bin 5004 -> 5004 bytes .../example/demo/service/RecipeService.class | Bin 3222 -> 0 bytes .../controller/RecipeControllerTest.class | Bin 3848 -> 0 bytes .../example/demo/models/BlogPostTest.class | Bin 2641 -> 2295 bytes .../com/example/demo/models/RecipeTest.class | Bin 2253 -> 0 bytes .../demo/service/RecipeServiceTest.class | Bin 3538 -> 0 bytes 23 files changed, 23 insertions(+), 515 deletions(-) delete mode 100644 .idea/runConfigurations.xml delete mode 100644 src/main/java/com/example/demo/controller/RecipeController.java delete mode 100644 src/main/java/com/example/demo/models/Recipe.java delete mode 100644 src/main/java/com/example/demo/repository/RecipeRepository.java delete mode 100644 src/main/java/com/example/demo/service/RecipeService.java delete mode 100644 src/test/java/com/example/demo/controller/RecipeControllerTest.java delete mode 100644 src/test/java/com/example/demo/models/RecipeTest.java delete mode 100644 src/test/java/com/example/demo/service/RecipeServiceTest.java delete mode 100644 target/classes/com/example/demo/controller/RecipeController.class delete mode 100644 target/classes/com/example/demo/models/Recipe.class delete mode 100644 target/classes/com/example/demo/repository/RecipeRepository.class delete mode 100644 target/classes/com/example/demo/service/RecipeService.class delete mode 100644 target/test-classes/com/example/demo/controller/RecipeControllerTest.class delete mode 100644 target/test-classes/com/example/demo/models/RecipeTest.class delete mode 100644 target/test-classes/com/example/demo/service/RecipeServiceTest.class diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml deleted file mode 100644 index 797acea53..000000000 --- a/.idea/runConfigurations.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/src/main/java/com/example/demo/controller/RecipeController.java b/src/main/java/com/example/demo/controller/RecipeController.java deleted file mode 100644 index 15bb6671f..000000000 --- a/src/main/java/com/example/demo/controller/RecipeController.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.example.demo.controller; - -import com.example.demo.service.RecipeService; -import com.example.demo.models.Recipe; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -@RestController -@RequestMapping("/recipeController") -public class RecipeController { - - @Autowired - private RecipeService service; - - @GetMapping(value = "/read/{id}") - public ResponseEntity read(@PathVariable Long id){ - return new ResponseEntity<>(service.read(id), HttpStatus.OK); - } - - @GetMapping(value = "/read") - public ResponseEntity> readAll(){ - return new ResponseEntity<>(service.readAll(), HttpStatus.OK); - } - - @PostMapping(value = "/create") - public ResponseEntity create(@RequestBody Recipe recipe){ - return new ResponseEntity<>(service.create(recipe), HttpStatus.CREATED); - } - - @PutMapping(value = "/update/{id}") - public ResponseEntity update(@PathVariable Long id, @RequestBody Recipe recipe){ - return new ResponseEntity<>(service.update(id, recipe), HttpStatus.OK); - } - - @DeleteMapping(value = "/delete/{id}") - public ResponseEntity delete(@PathVariable Long id){ - return new ResponseEntity<>(service.delete(id), HttpStatus.OK); - } -} diff --git a/src/main/java/com/example/demo/models/BlogPost.java b/src/main/java/com/example/demo/models/BlogPost.java index 956eb4f08..0da6ca1df 100644 --- a/src/main/java/com/example/demo/models/BlogPost.java +++ b/src/main/java/com/example/demo/models/BlogPost.java @@ -28,8 +28,7 @@ public class BlogPost { @Column(name = "content") private String content; - @OneToOne(cascade = CascadeType.ALL) - private Recipe recipe; + private String recipe; @ManyToOne @JsonBackReference @@ -45,7 +44,7 @@ public class BlogPost { public BlogPost() { } - public BlogPost(Long id, String title, String imageUrl, String content, Recipe recipe, User user, List tags) { + public BlogPost(Long id, String title, String imageUrl, String content, String recipe, User user, List tags) { this.id = id; this.title = title; this.imageUrl = imageUrl; @@ -87,11 +86,11 @@ public void setContent(String content) { this.content = content; } - public Recipe getRecipe() { + public String getRecipe() { return recipe; } - public void setRecipe(Recipe recipe) { + public void setRecipe(String recipe) { this.recipe = recipe; } diff --git a/src/main/java/com/example/demo/models/Recipe.java b/src/main/java/com/example/demo/models/Recipe.java deleted file mode 100644 index 0fb859b5e..000000000 --- a/src/main/java/com/example/demo/models/Recipe.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.example.demo.models; - -import com.fasterxml.jackson.annotation.JsonIgnore; - -import javax.persistence.*; -import java.util.List; - -@Entity -@Table(name = "recipes") -public class Recipe { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Long id; - private String name; - private String ingredients; - private String instructions; - @OneToOne(cascade = CascadeType.ALL) - @JsonIgnore - private BlogPost blogPost; - - - public Recipe() { - } - - public Recipe(Long id, String name, String ingredients, String instructions, BlogPost blogPost) { - this.id = id; - this.name = name; - this.ingredients = ingredients; - this.instructions = instructions; - this.blogPost = blogPost; - } - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getIngredients() { - return ingredients; - } - - public void setIngredients(String ingredients) { - this.ingredients = ingredients; - } - - public String getInstructions() { - return instructions; - } - - public void setInstructions(String instructions) { - this.instructions = instructions; - } - - public BlogPost getBlogPost() { return blogPost; } - - public void setBlogPost(BlogPost blogPost) { this.blogPost = blogPost; } - -} diff --git a/src/main/java/com/example/demo/repository/RecipeRepository.java b/src/main/java/com/example/demo/repository/RecipeRepository.java deleted file mode 100644 index a66f6ee67..000000000 --- a/src/main/java/com/example/demo/repository/RecipeRepository.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.example.demo.repository; - -import com.example.demo.models.Recipe; -import org.springframework.data.repository.CrudRepository; -import org.springframework.stereotype.Repository; - -@Repository -public interface RecipeRepository extends CrudRepository { - -} diff --git a/src/main/java/com/example/demo/repository/TagRepository.java b/src/main/java/com/example/demo/repository/TagRepository.java index 336e4cdfb..b0692b79d 100644 --- a/src/main/java/com/example/demo/repository/TagRepository.java +++ b/src/main/java/com/example/demo/repository/TagRepository.java @@ -1,7 +1,5 @@ package com.example.demo.repository; -import com.example.demo.models.BlogPost; -import com.example.demo.models.Recipe; import com.example.demo.models.Tag; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.CrudRepository; diff --git a/src/main/java/com/example/demo/service/RecipeService.java b/src/main/java/com/example/demo/service/RecipeService.java deleted file mode 100644 index acef80734..000000000 --- a/src/main/java/com/example/demo/service/RecipeService.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.example.demo.service; - -import com.example.demo.models.Recipe; -import com.example.demo.repository.RecipeRepository; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.List; - -@Service -public class RecipeService { - @Autowired - private RecipeRepository repository; - - public Recipe create(Recipe recipe){ - return repository.save(recipe); - } - - public Recipe read(Long id){ - return repository.findById(id).get(); - } - - public List readAll(){ - Iterable recipeIterable = repository.findAll(); - List result = new ArrayList<>(); - recipeIterable.forEach(result::add); - return result; - } - - public Recipe update(Long id, Recipe newRecipe){ - Recipe recipeInDatabase = read(id); - recipeInDatabase.setName(newRecipe.getName()); - recipeInDatabase.setIngredients(newRecipe.getIngredients()); - recipeInDatabase.setInstructions(newRecipe.getInstructions()); - return repository.save(recipeInDatabase); - } - - public Recipe delete(Recipe recipe){ - repository.delete(recipe); - return recipe; - } - - public Recipe delete(Long id){ - return delete(read(id)); - } -} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 7cb4ae087..47c189716 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -2,9 +2,9 @@ # MySQL Configuration spring.datasource.url=jdbc:mysql://localhost:3306/blogdatabase -spring.datasource.username=jen -spring.datasource.password=zipcode0 +spring.datasource.username=carl +spring.datasource.password=carlpass spring.jpa.show-sql=true -spring.jpa.hibernate.ddl-auto=create-drop +spring.jpa.hibernate.ddl-auto=update spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect \ No newline at end of file diff --git a/src/test/java/com/example/demo/controller/RecipeControllerTest.java b/src/test/java/com/example/demo/controller/RecipeControllerTest.java deleted file mode 100644 index 45035deed..000000000 --- a/src/test/java/com/example/demo/controller/RecipeControllerTest.java +++ /dev/null @@ -1,102 +0,0 @@ -package com.example.demo.controller; - -import com.example.demo.models.BlogPost; -import com.example.demo.models.Recipe; -import com.example.demo.service.RecipeService; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.mockito.InjectMocks; -import org.mockito.Mock; -import org.mockito.Mockito; -import org.mockito.MockitoAnnotations; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; - -import java.util.ArrayList; -import java.util.List; - -import static org.junit.jupiter.api.Assertions.*; - -class RecipeControllerTest { - @InjectMocks - RecipeController recipeController; - - @Mock - RecipeService service; - - @BeforeEach - void setUp() { - MockitoAnnotations.initMocks(this); - } - - @Test - void read() { - //given - Recipe recipe = new Recipe(); - ResponseEntity expected = new ResponseEntity<>(recipe, HttpStatus.OK); - - //when - Mockito.doReturn(recipe).when(service).read(Mockito.anyLong()); - ResponseEntity actual = recipeController.read(Mockito.anyLong()); - - //Then - assertEquals(expected,actual); - } - - @Test - void readAll() { - //given - List recipes = new ArrayList<>(); - ResponseEntity> expected = new ResponseEntity<>(recipes,HttpStatus.OK); - - //when - Mockito.doReturn(recipes).when(service).readAll(); - ResponseEntity> actual = recipeController.readAll(); - - //Then - assertEquals(expected,actual); - } - - @Test - void create() { - //given - Recipe recipe = new Recipe(); - ResponseEntity expected = new ResponseEntity<>(recipe,HttpStatus.CREATED); - - //when - Mockito.doReturn(recipe).when(service).create(recipe); - ResponseEntity actual = recipeController.create(recipe); - - //Then - assertEquals(expected,actual); - } - - @Test - void update() { - //given - Recipe recipe = new Recipe(); - ResponseEntity expected = new ResponseEntity<>(recipe,HttpStatus.OK); - - //when - Mockito.when(service.update(5L, recipe)).thenReturn(recipe); - - ResponseEntity actual = recipeController.update(5L,recipe); - - //Then - assertEquals(expected,actual); - } - - @Test - void delete() { - //given - Recipe recipe = new Recipe(); - ResponseEntity expected = new ResponseEntity<>(recipe,HttpStatus.OK); - - //when - Mockito.doReturn(recipe).when(service).delete(Mockito.anyLong()); - ResponseEntity actual = recipeController.delete(Mockito.anyLong()); - - //Then - assertEquals(expected,actual); - } -} \ No newline at end of file diff --git a/src/test/java/com/example/demo/models/BlogPostTest.java b/src/test/java/com/example/demo/models/BlogPostTest.java index 495a18a20..825f40aed 100644 --- a/src/test/java/com/example/demo/models/BlogPostTest.java +++ b/src/test/java/com/example/demo/models/BlogPostTest.java @@ -60,19 +60,19 @@ void getImageUrl() { assertEquals(expectedImageUrl,actual); } - @Test - void getRecipe() { - //given - Recipe expectedRecipe = new Recipe(); - blogPost.setRecipe(expectedRecipe); - - //when - Recipe actual = blogPost.getRecipe(); - - //Then - assertEquals(expectedRecipe,actual); - - } +// @Test +// void getRecipe() { +// //given +// Recipe expectedRecipe = new Recipe(); +// blogPost.setRecipe(expectedRecipe); +// +// //when +// Recipe actual = blogPost.getRecipe(); +// +// //Then +// assertEquals(expectedRecipe,actual); +// +// } @Test void getUser() { diff --git a/src/test/java/com/example/demo/models/RecipeTest.java b/src/test/java/com/example/demo/models/RecipeTest.java deleted file mode 100644 index 8d767f0b7..000000000 --- a/src/test/java/com/example/demo/models/RecipeTest.java +++ /dev/null @@ -1,88 +0,0 @@ -package com.example.demo.models; - - -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.mockito.InjectMocks; -import org.mockito.MockitoAnnotations; - -import static org.junit.jupiter.api.Assertions.assertEquals; - -class RecipeTest { - - @InjectMocks - Recipe recipe; - - - @BeforeEach - void setUp() { - MockitoAnnotations.initMocks(this); - } - - @Test - void getId() { - //given - Long expectedId = 4L; - recipe.setId(4L); - - //When - Long actual = recipe.getId(); - - //Then - assertEquals(expectedId,actual); - } - - @Test - void getName() { - //given - String expectedName = "Airfryer"; - recipe.setName("Airfryer"); - - //when - String actual = recipe.getName(); - - //Then - assertEquals(expectedName,actual); - } - - @Test - void getIngredients() { - //given - String expectedIngredients = "Spices"; - recipe.setIngredients("Spices"); - - //When - String actual = recipe.getIngredients(); - - //Then - assertEquals(expectedIngredients,actual); - } - - @Test - void getInstructions() { - //given - String expectedInstruction = "FollowMe"; - recipe.setInstructions("FollowMe"); - - //when - String actual = recipe.getInstructions(); - - //Then - assertEquals(expectedInstruction,actual); - } - - @Test - void getBlogPost() { - //given - BlogPost expectedBlogPost = new BlogPost(); - recipe.setBlogPost(expectedBlogPost); - - //when - BlogPost actual = recipe.getBlogPost(); - - //Then - assertEquals(expectedBlogPost,actual); - - } - -} \ No newline at end of file diff --git a/src/test/java/com/example/demo/service/RecipeServiceTest.java b/src/test/java/com/example/demo/service/RecipeServiceTest.java deleted file mode 100644 index 898ae0ca2..000000000 --- a/src/test/java/com/example/demo/service/RecipeServiceTest.java +++ /dev/null @@ -1,120 +0,0 @@ -package com.example.demo.service; - -import com.example.demo.models.Recipe; -import com.example.demo.repository.RecipeRepository; - -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.mockito.InjectMocks; -import org.mockito.Mock; -import org.mockito.Mockito; -import org.mockito.MockitoAnnotations; - -import java.util.ArrayList; -import java.util.List; -import java.util.Optional; - -import static org.junit.jupiter.api.Assertions.*; - -class RecipeServiceTest { - - @InjectMocks - RecipeService recipeService; - - @Mock - RecipeRepository repository; - - @BeforeEach - void setUp() { - MockitoAnnotations.initMocks(this); - } - - @Test - void create() { - //given - Recipe recipe = new Recipe(); - Recipe expected = new Recipe(); - - //when - Mockito.when(repository.save(recipe)).thenReturn(expected); - Recipe Actual = recipeService.create(recipe); - - //Then - assertEquals(expected,Actual); - } - - @Test - void readTest() { - //given - List id = new ArrayList<>(); - Recipe expected = new Recipe(); - - //when - Mockito.when(repository.findById(Mockito.anyLong())).thenReturn(java.util.Optional.of(expected)); - Recipe Actual = recipeService.read(Mockito.anyLong()); - - //Then - assertEquals(expected,Actual); - } - - @Test - void readAll() { - //given - List list = new ArrayList<>(); - list.add(new Recipe()); - List expected = new ArrayList(); - - //when - Mockito.when(repository.findAll()).thenReturn(expected); - List actual = recipeService.readAll(); - - //Then - assertEquals(expected,actual); - } - - @Test - void update() { - //given - Recipe recipe = new Recipe(); - recipe.setName("Airfryer"); - recipe.setIngredients("Spices"); - recipe.setInstructions("Follow me"); - List id = new ArrayList<>(); - id.add(5L); - id.add(6L); - - //when - Mockito.when(repository.findById(Mockito.anyLong())).thenReturn(Optional.of(recipe)); - Mockito.when(repository.save(recipe)).thenReturn(recipe); - Recipe actual = recipeService.update(Mockito.anyLong(),recipe); - - //Then - assertEquals(recipe,actual); - } - - @Test - void delete() { - //given - Recipe recipe = new Recipe(); - - //when - Mockito.when(repository.findById(2L)).thenReturn(Optional.of(recipe)); - Recipe actual = recipeService.delete(recipe); - - //Then - assertEquals(recipe,actual); - } - - @Test - void testDelete() { - //given - Recipe recipe = new Recipe(); - - //when - Mockito.when(repository.findById(4L)).thenReturn(Optional.of(recipe)); - Recipe actual = recipeService.delete(4L); - - //Then - assertEquals(recipe,actual); - } -} \ No newline at end of file diff --git a/target/classes/application.properties b/target/classes/application.properties index 7cb4ae087..47c189716 100644 --- a/target/classes/application.properties +++ b/target/classes/application.properties @@ -2,9 +2,9 @@ # MySQL Configuration spring.datasource.url=jdbc:mysql://localhost:3306/blogdatabase -spring.datasource.username=jen -spring.datasource.password=zipcode0 +spring.datasource.username=carl +spring.datasource.password=carlpass spring.jpa.show-sql=true -spring.jpa.hibernate.ddl-auto=create-drop +spring.jpa.hibernate.ddl-auto=update spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect \ No newline at end of file diff --git a/target/classes/com/example/demo/controller/RecipeController.class b/target/classes/com/example/demo/controller/RecipeController.class deleted file mode 100644 index 815ed0df28c15afac47d1c1ffe7b309fea0504fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3186 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 F_75BH;WhvO literal 3881 zcmd6pS##4?6vvOe$w^E}1Ee)&r=`XO#1fV^G!V?vfU`6)p_H~ku`h~(EM+8_fqs#G zjdrGPXZp|&(1(7cPXFiXT5*I#c~jQI{Ool4nwAY9>_q3EocPEX)aIS6@fy?N((XllLLmgnd1 z-dk+Vx1MTL4DHYn8chuGu7q2S4HM_W2w!5Y!9{Y|)BXYRjj)<>R^$nsJ(9w<+k2ydCT>DvFv+z zK%p%Ha2H?k>wxnxi-!h+m|slWdpt=KE&*~p?L!g-|JMD6U5msK4u2GQn$x2)r!0&}Vc8ZqEwp00f_aoqrBX8(X3s;`#{wgAnPIV;ux; z%s#~I1N8eb9~YQTU;*0I_89s@_)P{_%rVj18y{l>lxkx?W``kA-Kt^=dbK%@{wRLO zo{=W#IGw;Q%u>6fn4QMePw~sKrD#8w4s!#d)`92lu)j}VVtHnN*>eW)8^mTwa z$q{>3r>`)MY@33v8dhepa#V+Cf>44u0t_L9gg_AvkqXHzxZyUZ4-fH>gpI9xJiK@2;F=dYQr$)zdWy zd4kA9HEbEe;`cXHouVq}fo(g3jjM<@R7Fa%ifFQm;6?6Ki>FZV9oTd9OqO!~N_>y` K54eunJ^df3o-r{1 diff --git a/target/classes/com/example/demo/models/Recipe.class b/target/classes/com/example/demo/models/Recipe.class deleted file mode 100644 index f79785f03cddf7633f09e346b14554d0693e3d40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2286 zcma);>24EA5XY4 zkX>o5mH5B|>_e^gUp<2}nDGWhsp_M;>Q~j(BmeX7m#;*0haOMR7_E;}o*uAx$l?); z8jFoQ{g$UqK^dndXu7c{KTE44-L}>6-1Y-Or8hk{bh>KC37p-I+H_qnl%eCffuKcg zeqik@KX8Ijxwf+EEgV`&*?6v8<;zgDc4VigU^EtlJZ~TVuRS6)5BIfw{mIkqX1)1N zkm1U%5;U8@eH;3Y2A+iSRm)Ls2*iTpB23SYiN|(3Ui-BdgdEfMx|TYS-TjWTTB_?= zU9Y7&f%Q1H0pr<}L|(b7=|NySZ_B`zEubu?7;Z(IF@AQl(GYZ9NBtmCE&rg~vG%0> zDezoN4(e*Xz`WjeJ)a}w9y+cQ)&ylMt2;=13y6Y>4aZg6z3#5^n-aIerSNRo*^$1( z^LWt+KRT#Ed1R(bj+k61YKvqm z6}3rnWfC^udPmSjz#Ll*L6dNEbm&s$_%jSV@z(44wtD99-A_i>xW;c+&}m)2?;qt; zJmK&V?NmzH)Xl=p?CWj_3Urpv6=<9$3N%Br1)5_q&ticV1uc!rD#F0^9(_b!?d~Z% zr1SXFjNxl!QilB!m@%8dtN?ui^C?9|n#KYmVkyHxwMJa65js9LkKL0PpL$P1QHf5| z8CVps0&d79%x*&qXtVk^i9fZ2WylE}B{(wRpo|e8Vyg4B0?iICz=9q84xNK8vxDl@ zK4q%c`jo9+?~_q28GU#znSII~`CdYf1RMiE<3O5%w>bcn;BOg!W$e}>pK&~RkE_8W zPMqn=I`ym`aq@;9ar!1*#CXBPAub-lkZ>I+?>v z>#0mP(wWR*rW%+wMlf-w4Vbv61l^=tki-3y8)n)}Wx9=D9??r$haU7(;=M%OxHW<& ddhYSPaers%7cKAVPe&2+dzjw`;Y>ik{s*`7rAGh& diff --git a/target/classes/com/example/demo/repository/RecipeRepository.class b/target/classes/com/example/demo/repository/RecipeRepository.class deleted file mode 100644 index cbba40f0cd4e58ab8fa534dd770d999ffbd7162c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 428 zcmb7>!Ab-%42J)%I^(ViUOe~=iUsjDB8cE=K$r#Z-I-Xrw$0FXbobRf_y9hXSQT|y zy?97MNXY*sd3k+$25^SG5|a`;C3XeIQ=`2~Lm+`gJy#D(TIIF8na!z9Rn0-m*azeF zT~Ll5Io!)mB_#v(98Kb|lviQsn(y?yZrMp%DA!w(9XXbcJF-zW)S8~E6_uL3t}ZHp z$&`oC(zUUf!elzj+fi#9+_h3?yA9Hwm5-^k86P@MPd)@L~{S d@Me%>@R^(_RKOYlG%;}UHK8!Z(8;>O@c^F08HE4< delta 129 zcmeBC?@`~di;vNG@@~Ehyygso3>FOX43-QU3|5n8@L!O%W8h-2XAoj=U{GdoWUym! zV(?>dW{6~PVTfUHo!lz$Le!IigTV_Z>&;-s-~&|a3sN(=N${Lt5Ca=SFasY$2!j|y dD1#hB*yKc^0@f&?iP4j<357AnPu3NV2LR#18j}D3 diff --git a/target/classes/com/example/demo/service/RecipeService.class b/target/classes/com/example/demo/service/RecipeService.class deleted file mode 100644 index 93b2da0d6de3276c33b34fb1e3564510a821710f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3222 zcma)8`%@cL6#h0m7Q)ISwAA{fEyWO^tF_iDl?t@AXi6(oYJJ}%mvmvX8+SKQd_U^@ zpV1j7oz@x0pB?`u$M5cLUL+QV;hy_A=R5DS`TO4oe*!pzpOZL(3;h_ws{>fTqK+j+ zFD7vbm(}hy9aoa*!v)2-oTAXR0bIwMNs6o{(Tz2=+)&F~YFSsyO|`tO#BV9ScXYg~ z<2?;YPnKQZ3S4hj!>MfEEt&F;D3xt#7G%ja8_(vd%v)u-TIZkBaCEie1Xf9|TfUXE z<$~k5fe0+u@im;wx?a)r%bw*FH#||2JFd57=A>|Zb3^2nMpM)U%!Nwe?pU5I5VrTc zi-jgCA-eL!#5_Q{tEHgLNj@rsVG%t*khVlJ*hp)=uwp+L^RD1&I(e7^A zQqXWZo!u1M!nB1`G_$T#Jc#OqMakj4f*N#%xnSFjSb8dYt^}5CW-ULU|AUdm%QPU0 z>!Buy+O3L{C;f^Y)KxTNjJ2j>w_Hod*$!Ce_lwLtwVmE$=z)a#*Q}x=f{Mp%o@w*- zKoGr^av`jS)wUGuXZ8WAqu-G`Q6n*oaonAYA`m&@)8<|l8w-Jbx#m{9yu56MbskB? z6?;k*hAQw*{pB->(hV4YvsT~+p1_j^9>q}|?;H34A8L52tW5~ z&@dX-W0>;=&l9_5V zbJ`;)_TFA}7HHpwz!KWGycd~MQ0H5J=4JY=WeH_KTBA=IK+G@sF zjTz89ST-t7UU_UT@l#MKNw4mB=vvKk<(unW5_#6pcr#$Ty!sC4^m2uRa&M&80`-ld z3f-?Uw743-D~LftEIUPhW-RFh4A&q4mA1)b~$wnqs`D zudWEEU`u}@5}a!)%GkxGn-;+voCnS92Y-xIK3ulBJ7VM|VcTm~AeofGM!~C*!D1H$ zwoFTgYHh}!B|m96*%r=D?sJGeoDawNL+1#89%)FZ=|}n)Pram%lj@`#j9j1M$t2ZC zdouT+{l-lKPjgkwfPwLF4H*b~oF{e+Cdj3P7fBPOgPGrvn7)s$1pY$zue@nS83|Fw zBF-3vGB}AzqCG?I9{Ntgd4egjDdLsz}~^fC1n>j09$sKV4x|Qv59m1~kclrWni< z4CFX(#v`y;dy+4w!oa35if8d0m7XS-ia_-CJdKIo&hYL9z9n#$cQ4``cgp>{q)OLJ zX1a<;R%U0a7_4GQ(cvma6irnzs?48lkNX&UC_Bz99%G!3Q}YR;PK35*BHVhUX5vUu z7hYmU5|o<6%lz*ObJL$71NfvO$WK#j;6+lEA0y7sp#-KIiBE=aX}UWVDvgqF)Rh{Y zl0R2Z{ycRn@MI=*zly^R=%_Mhn_!c5*kpUwyK$aC3A|G8fq9<4QQ-9FEBt`3nb6mH OHh6x6inF+imHz;DFfIE4 diff --git a/target/test-classes/com/example/demo/controller/RecipeControllerTest.class b/target/test-classes/com/example/demo/controller/RecipeControllerTest.class deleted file mode 100644 index e1397541bf1ac2a16a1033c79e1c35ee4ac5919b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3848 zcmb`J`%@EF6vw|C9t&Zs7SYyLEk&z5ltrvm2|hx^7Xd0D)~c;ba)HGp8#f!2KJB}; zkH4kubTH~nr$6_P>hybemu2%nQm4$2y?gGx=bX=ZC4c|(^iKe9RI%73X6L_DmOZj+qs6X2G1#h2Nv-859HRzaoIb~$#4BM3NzOd0*GU@4HwGYq1o)ra$hMNk) zxt3SZ<$ASTq!;>fF>gA;){VTWkBSA$7Gp+giH93)VWjD-7jgxi)fTgKJX7$Yd8I`> z$TMPs*LqwNg}iO%78h(IEACtNU46-M@;qM1GumQ|X>e9$JdBi6G%^ZyC#^8>YJMGh zyk2c1TRC}#_V#Xq??*|M;PDLo;YyYp!@VQ9Y^)f1(J?c6(sYA4SRty*^zHgV$_>_` zU7|Io=)A+)X)fl|-hwF-QWBl9igrp|FlA}&sca0%-Y-pR=tZB3jD{?73ielZS6R{( z9F`qZN1jz!8uGX&_1h{68XOcg97eZ_6%F_CK*6CZV>SCq!zw;f@v(+a@TrF5_)NnA z98~eSe0iwi3k_f5D+N0@Vi>n=V^wBO!w9~XAKz&BR=N|%ck<(V4Wsx$I`T-xj~af$ zBPsb=Lqh6L;Gu$nD*v|VITnuVLdM7~>QnP_oG_%}86!smXHD4@YL(-`9Xkqkb$ewN z(h!qF{0 z-5U~Ff7}+F;`}_vg+3z}!j_#H)>^sG5p{n_Q1zjjsw)Feb*hnDOWvXP`TMSmztwD_30es+tzp}BO1H1S?U+1rw1k(XCk-yf zYXp&TX<=kK7>j;JV}ustbYG(NdKP`O77X(z_X$Et@FBcIjuC1&$yEbR@%(N|yuIOI zZ`f0Y^Vh z7T!FKv%#rzB=Sz3t0IaAS^Cu{I$4pW-L^QS_NsF;8jw8kN#YeGZoSD`>%bn? z7+rt8guQ)FurC4^CXny1jWj`|Ng`ckk9p6D850_#rFdhQ4$X(UO93m^EY^x zc+hB~cTeg+V~B~ddUjkUVw|L_tE#KN{#8$Z%l>Fu{_^X?Ct!djO&iBF!yNY|VLx9p z!ify6oYagmX3eO1{q`0ivRnJV@%#7lS z;_BM!YbSc;u1xHqOEGJ>#&t!_Fvkr;JE7vH;TE?Iz1&gUHQeLAgFn9XV&SFX0S^uR z%-i&%Xw2KW?Xk_2n0E-HRX5azCoC8$JdNIXEx{ts41+v>`_=pIMC<;_a;x+Wjtn_Y z<___;%G@clk|D|@>K3mkv#s;}~rzsKF! ztShn(&1_-!KL~%s9EfSXby`$b)tWuI8T+e3k=a33)4{lYKFLnx=%Z3){G<%ij6%%l~jDTf(qP=@}ZI2@6CbUFGPovBY@ delta 1122 zcmaKr%~BIV5Xb)$+|05yP#_Tr2@w-Ok^mdN!Gv!G5%2>QL`4l@#Xyjd1OzUeIa>P! z9z1!Xw7}9TAHbVW;lT&+X4%6oB#OFK+dbXW^Xu;E-5=#&UAtd?e*6re1KS#W7}79| z5rrJ`Q8Zk^)ne3ORKpmqNinYBIwn+1N@Gfj8`5)A#Vu*vmSURYj)rnc8^c{G?s3d$ zIA?igrRP4!oCfz<%k@CI9&$Y5nBU)h!+ga{MsC_jB+~{%sj-zd5;*imb?DsFCB zQPc0(TL_?zr5E1bVT-P_Z1} zjO!b@WJ({(Wa8VC$t-Pc;-x?gTMTtXs(ZIn^p=$rXY)-4%!pE5YWEbJVemHwe`_@C*NhyX?}^+x(4t(>I&q*Z$98px`rl}=j5DWOBKeOfrsKvD(+rMN^=SOI86kSriX zhaIRl%bbaaXYw`-l9ceb+z^Oe&Rl^JSLMAC0(;P9XsEtJ(u zb?CHmoHP)T5SoNV`Q{AI$_gqWzr-L>LR4)tT!_F;QF(T?%`T!E+t5yI*Act@6uZM_ zCwU>elh|Fv?xk}vV)y-n-T7a3m(Bjp^@6&GX(S^k!zijSPXEwE0o!NStx}KO=%Ko+ zj_U3?Rd=t=URQOxS&!;j$#-8!xs2!uC3=byvnX_%DcX}$@qL1O?hw_Jq4#ix58#pd j0N$x^(+8B;UyS)$Eu3UwzCQGy+|#&FOC9_8M#mUFRPn8j zSNKlHG`?5ygO1nuQ9)+K_7DBvg|Fi${H$XhjPV)=Z0T;rwnU)Al6C_oo!33b@qXJB zI*QVGTN-oiL|JFnA#kW;5hV`2opZAecBVPr?E|S&1rurMO3_lnr^MYW^&6>K!R35v zm~n(9sp|e_Tqzp`>KoIkitR%VHveoUbtqBQ#Kp9+mZc(x(ix+}GG8{|B4$oja$fZ- zK_L7@J-Qif)_$d;DY_fyf}bUo$y9!=Vkw_0Khd)E7(Rv55czaEeA2B{f^`3w;VIo=t( zO26*ecToP|O$V-XmCisPCb{ad18!i7JK!b{cSMI58;4KO(LAj2F))NKzNXIysI%OP zf=xGqRnW_Z+i1RiH`v%KqQbY(6gnQxFB@tGtU%W4rtR;!^eCeR~-56%+YqW?4-HA{+* z$+M6m7)uB`afQzoNH81`ESw`SS`hTd1pPG(!~}z_2^L9khXnT+{XPkn+7NtlA;Iky z1eaohOEqL;f}z#~4@s~>g2yCyLV~Al2tK`#V6j2qBvY998^f>O;c|pASHnn5aiulI qCNkKUfty+u11r%du9>}KI8N|aPNOLcHyr8 diff --git a/target/test-classes/com/example/demo/service/RecipeServiceTest.class b/target/test-classes/com/example/demo/service/RecipeServiceTest.class deleted file mode 100644 index d580b1220c70bab6d1caf8b5a5366af8218b2afb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3538 zcma)92~!hi7=AV!8^VedkydLNL`DNaqgWNh0>PtV11KOK)wWBrz+#e(n+=$1Tj^n2 z+iFjH{D{st(?O^+{Q><^oj%`QNk}|&$bRShKF{+W+5G$8-~Rx36Muvd#&`%5n3Qoo zgc^)DU>`0tVhYnC%-~`pW^qZZT@K+2u7>a~uF1F_f+FtC;Jpyu#|PrP8p0eB;#9H` z8s^2?f|xD_p$pSXLEI3}R1j(L%+wKs_*dr*>cw%xn+3!y>&dm&TH8ab|;1qlZ#{S~)ems9?E-fk(gENpVI z{)C>~i?!CGPRPBLNUAcQ z(Q+1D*5x$oVpc+@jb|xO|Iwvm=8B9Y1o3Ul@OY|_z% z)HNYc$Rhev-elUyn+ffVE@IbKmVbie0YOf|K^&4{Dad14Li_W*D%g($GFBAaLP5rd z3U1?$jE@w2j5`Xt(Iev%1p~M%V^zVY_)NmKqJ}ZkR0~2#1)t*!8TS-?iLVrVjr%gb zQSdG9EBFo%WIR;xJ$_K|BYskF3O_TPG2NUu3!16m7d#^O=`1TQr{GsHYdB-1QpQS0 zT2t^F9w|7B-xZAEuK0K$p{Ih^Gn12Hw-MWso17D+M_o$mQB)1}wtQ&8YZONdQTG2%$^p)DOUA=@*4tT$#k&~LFt*R+|mD~k% zyJ5A3OPP(aPmAvWfz#XYjdD?Dd!JC#Oy4rg)0WB1vWuaKC&n@hrk2#TjKzR#wHI=h znNPS8o2nrAqC|M10O;T=M3~?80sgUFK|+M1dOmykgy?T2Yf-KQ`Ntl~)jp1*d`f)Q z^*n*}n1cWg^HUfAw((U4d?T?B;0TU#1{~w%fPML}e|a5&;^mNy<_*-My@~-3U%zc^ zz&G}gw`#d|_$g|xJV9;TeUA71g}TTF>H}DZ+`EBb0GGJd5LrWLqIdr~8jG%X5;?Gk zB)iZ|X}T!ReoE3uIRuv;$A!x!$erUDB#UO=Il)nYr|a<+M>W2XLpIQ1ALyUl6F^6v zLLtyCWkA=_w2rMCXm-%9ZEJWn((>9Gc0^isuHki$PH!uA*%1;PIcfJNBG1ah7by*2F$bB9 zUJg3vnTZ_}5ib*+nD#LW;17TxCeeiRXvGEW Date: Wed, 8 Sep 2021 09:58:27 -0400 Subject: [PATCH 2/3] Finally done Mockito --- ...Maven__com_google_code_gson_gson_2_8_6.xml | 13 +++ .idea/libraries/Maven__junit_junit_4_13_2.xml | 13 +++ .../Maven__org_hamcrest_hamcrest_core_2_2.xml | 13 +++ ..._org_springframework_spring_web_5_3_9.xml} | 0 .idea/runConfigurations.xml | 10 +++ demo.iml | 3 +- pom.xml | 32 +++++++ .../demo/controller/BlogPostController.java | 1 + .../controller/BlogPostControllerTest.java | 81 +++++++++--------- .../demo/controller/TagControllerTest.java | 77 +++++++++-------- .../demo/controller/UserControllerTest.java | 77 +++++++++-------- .../demo/controller/BlogPostController.class | Bin 3228 -> 3228 bytes .../controller/BlogPostControllerTest.class | Bin 3908 -> 5096 bytes .../demo/controller/TagControllerTest.class | Bin 3785 -> 4973 bytes .../demo/controller/UserControllerTest.class | Bin 3807 -> 4995 bytes 15 files changed, 208 insertions(+), 112 deletions(-) create mode 100644 .idea/libraries/Maven__com_google_code_gson_gson_2_8_6.xml create mode 100644 .idea/libraries/Maven__junit_junit_4_13_2.xml create mode 100644 .idea/libraries/Maven__org_hamcrest_hamcrest_core_2_2.xml rename .idea/libraries/{Maven__org_springframework_spring_web_5_3_92.xml => Maven__org_springframework_spring_web_5_3_9.xml} (100%) create mode 100644 .idea/runConfigurations.xml diff --git a/.idea/libraries/Maven__com_google_code_gson_gson_2_8_6.xml b/.idea/libraries/Maven__com_google_code_gson_gson_2_8_6.xml new file mode 100644 index 000000000..82a9f20a6 --- /dev/null +++ b/.idea/libraries/Maven__com_google_code_gson_gson_2_8_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__junit_junit_4_13_2.xml b/.idea/libraries/Maven__junit_junit_4_13_2.xml new file mode 100644 index 000000000..606c352d5 --- /dev/null +++ b/.idea/libraries/Maven__junit_junit_4_13_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hamcrest_hamcrest_core_2_2.xml b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_2_2.xml new file mode 100644 index 000000000..15f1e4c17 --- /dev/null +++ b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_2_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_web_5_3_92.xml b/.idea/libraries/Maven__org_springframework_spring_web_5_3_9.xml similarity index 100% rename from .idea/libraries/Maven__org_springframework_spring_web_5_3_92.xml rename to .idea/libraries/Maven__org_springframework_spring_web_5_3_9.xml diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml new file mode 100644 index 000000000..797acea53 --- /dev/null +++ b/.idea/runConfigurations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/demo.iml b/demo.iml index 2f45d51da..f17d54dcb 100644 --- a/demo.iml +++ b/demo.iml @@ -61,7 +61,6 @@ - @@ -99,5 +98,7 @@ + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index b4f4fc9d4..328ea740b 100644 --- a/pom.xml +++ b/pom.xml @@ -52,6 +52,38 @@ 4.13.2 test + + org.springframework + spring-web + 5.3.9 + test + + + org.springframework + spring-web + + + org.springframework + spring-web + 5.3.2 + test + + + org.springframework + spring-web + + + org.springframework + spring-web + + + + com.google.code.gson + gson + 2.8.6 + + + diff --git a/src/main/java/com/example/demo/controller/BlogPostController.java b/src/main/java/com/example/demo/controller/BlogPostController.java index 00c752bba..4c831b2f7 100644 --- a/src/main/java/com/example/demo/controller/BlogPostController.java +++ b/src/main/java/com/example/demo/controller/BlogPostController.java @@ -31,6 +31,7 @@ public ResponseEntity create(@RequestBody BlogPost blogPost){ return new ResponseEntity<>(service.create(blogPost), HttpStatus.CREATED); } + @PutMapping(value = "/update/{id}") public ResponseEntity update(@PathVariable Long id, @RequestBody BlogPost blogPost){ return new ResponseEntity<>(service.update(id, blogPost), HttpStatus.OK); diff --git a/src/test/java/com/example/demo/controller/BlogPostControllerTest.java b/src/test/java/com/example/demo/controller/BlogPostControllerTest.java index b8773a17c..5923725fd 100644 --- a/src/test/java/com/example/demo/controller/BlogPostControllerTest.java +++ b/src/test/java/com/example/demo/controller/BlogPostControllerTest.java @@ -2,21 +2,27 @@ import com.example.demo.models.BlogPost; import com.example.demo.service.BlogPostService; +import com.google.gson.Gson; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; - +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; import java.util.ArrayList; import java.util.List; - -import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; class BlogPostControllerTest { + @Autowired + MockMvc mockMvc; @InjectMocks BlogPostController blogPostController; @@ -24,82 +30,77 @@ class BlogPostControllerTest { @Mock BlogPostService service; + private Gson gson; + + BlogPostControllerTest() { + } + @BeforeEach void setUp() { MockitoAnnotations.initMocks(this); + mockMvc = MockMvcBuilders.standaloneSetup(blogPostController).build(); + gson = new Gson(); + } @Test - void read() { - //given + void read() throws Exception { + BlogPost blogPost = new BlogPost(); - ResponseEntity expected = new ResponseEntity<>(blogPost,HttpStatus.OK); - //when Mockito.doReturn(blogPost).when(service).read(Mockito.anyLong()); - ResponseEntity actual = blogPostController.read(Mockito.anyLong()); - //Then - assertEquals(expected,actual); + mockMvc.perform(get("/blogPostController/read/{id}",5L)).andExpect(status().isOk()); } @Test - void readAll() { - //given + void readAll() throws Exception { + List blogPostList = new ArrayList<>(); - ResponseEntity> expected = new ResponseEntity<>(blogPostList,HttpStatus.OK); - //when Mockito.doReturn(blogPostList).when(service).readAll(); - ResponseEntity> actual = blogPostController.readAll(); - //Then - assertEquals(expected,actual); + mockMvc.perform(get("/blogPostController/read",5L)).andExpect(status().isOk()); } @Test - void create() { - //given + void create() throws Exception { + BlogPost blogPost = new BlogPost(); - ResponseEntity expected = new ResponseEntity<>(blogPost,HttpStatus.CREATED); - //when Mockito.doReturn(blogPost).when(service).create(blogPost); - ResponseEntity actual = blogPostController.create(blogPost); - - //Then - assertEquals(expected,actual); + mockMvc.perform(post("/blogPostController/create") + .contentType(MediaType.APPLICATION_JSON) + .content(gson.toJson(blogPost))) + .andExpect(status().isCreated()); } @Test - void updateTest() { - //given + void updateTest() throws Exception { + BlogPost blogPost = new BlogPost(); - ResponseEntity expected = new ResponseEntity<>(blogPost,HttpStatus.OK); - //when Mockito.when(service.update(5L, blogPost)).thenReturn(blogPost); - ResponseEntity actual = blogPostController.update(5L,blogPost); - //Then - assertEquals(expected,actual); + mockMvc.perform(put("/blogPostController/update/{id}",5L) + .contentType(MediaType.APPLICATION_JSON) + .content(gson.toJson(blogPost))) + .andExpect(status().isOk()); } @Test - void delete() { - //given - BlogPost blogPost = new BlogPost(); - ResponseEntity expected = new ResponseEntity<>(blogPost,HttpStatus.OK); + void deleteTest() throws Exception { - //when + BlogPost blogPost = new BlogPost(); +// Mockito.doReturn(blogPost).when(service).delete(Mockito.anyLong()); - ResponseEntity actual = blogPostController.delete(Mockito.anyLong()); - //Then - assertEquals(expected,actual); + mockMvc.perform(delete("/blogPostController/delete/{id}", 5L)) + .andExpect(status().isOk()); + } } \ No newline at end of file diff --git a/src/test/java/com/example/demo/controller/TagControllerTest.java b/src/test/java/com/example/demo/controller/TagControllerTest.java index 00210ec0c..4e4f46d0b 100644 --- a/src/test/java/com/example/demo/controller/TagControllerTest.java +++ b/src/test/java/com/example/demo/controller/TagControllerTest.java @@ -3,100 +3,107 @@ import com.example.demo.models.BlogPost; import com.example.demo.models.Tag; import com.example.demo.service.TagService; +import com.google.gson.Gson; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import org.springframework.test.web.servlet.result.MockMvcResultMatchers; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; import java.util.ArrayList; import java.util.List; import static org.junit.jupiter.api.Assertions.*; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; class TagControllerTest { + @Autowired + MockMvc mockMvc; @InjectMocks TagController tagController; @Mock TagService service; + + private Gson gson; + + TagControllerTest(){ + + } @BeforeEach void setUp() { MockitoAnnotations.initMocks(this); + mockMvc = MockMvcBuilders.standaloneSetup(tagController).build(); + gson = new Gson(); } @Test - void read() { - //given + void read() throws Exception { + Tag tag = new Tag(); - ResponseEntity expected = new ResponseEntity<>(tag, HttpStatus.OK); - //when Mockito.doReturn(tag).when(service).read(Mockito.anyLong()); - ResponseEntity actual = tagController.read(Mockito.anyLong()); - //Then - assertEquals(expected,actual); + mockMvc.perform(get("/tagController/read/{id}",5L)).andExpect(status().isOk()); } @Test - void readAll() { - //given + void readAll() throws Exception { + List tagList = new ArrayList<>(); - ResponseEntity> expected = new ResponseEntity<>(tagList,HttpStatus.OK); - //when Mockito.doReturn(tagList).when(service).readAll(); - ResponseEntity> actual = tagController.readAll(); - //Then - assertEquals(expected,actual); + mockMvc.perform(get("/tagController/read",5L)).andExpect(status().isOk()); } @Test - void create() { - //given + void create() throws Exception { + Tag tag = new Tag(); - ResponseEntity expected = new ResponseEntity<>(tag,HttpStatus.CREATED); - //when Mockito.doReturn(tag).when(service).create(tag); - ResponseEntity actual = tagController.create(tag); - //Then - assertEquals(expected,actual); + mockMvc.perform(post("/tagController/create") + .contentType(MediaType.APPLICATION_JSON) + .content(gson.toJson(tag))) + .andExpect(status().isCreated()); } @Test - void update() { - //given + void update() throws Exception { + Tag tag = new Tag(); - ResponseEntity expected = new ResponseEntity<>(tag,HttpStatus.OK); - //when Mockito.when(service.update(5L, tag)).thenReturn(tag); - ResponseEntity actual = tagController.update(5L,tag); + mockMvc.perform(put("/tagController/update/{id}",5L) + .contentType(MediaType.APPLICATION_JSON) + .content(gson.toJson(tag))) + .andExpect(status().isOk()); + - //Then - assertEquals(expected,actual); } @Test - void delete() { - //given + void deleteTest() throws Exception { + Tag tag = new Tag(); - ResponseEntity expected = new ResponseEntity<>(tag,HttpStatus.OK); - //when Mockito.doReturn(tag).when(service).delete(Mockito.anyLong()); - ResponseEntity actual = tagController.delete(Mockito.anyLong()); - //Then - assertEquals(expected,actual); + mockMvc.perform(delete("/tagController/delete/{id}", 5L)) + .andExpect(status().isOk()); } } \ No newline at end of file diff --git a/src/test/java/com/example/demo/controller/UserControllerTest.java b/src/test/java/com/example/demo/controller/UserControllerTest.java index 78f4acdaf..38900e330 100644 --- a/src/test/java/com/example/demo/controller/UserControllerTest.java +++ b/src/test/java/com/example/demo/controller/UserControllerTest.java @@ -3,101 +3,106 @@ import com.example.demo.models.BlogPost; import com.example.demo.models.User; import com.example.demo.service.UserService; +import com.google.gson.Gson; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; import java.util.ArrayList; import java.util.List; import static org.junit.jupiter.api.Assertions.*; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; class UserControllerTest { + @Autowired + MockMvc mockMvc; + @InjectMocks UserController userController; @Mock UserService service; + private Gson gson; + + UserControllerTest(){ + + } + @BeforeEach void setUp() { MockitoAnnotations.initMocks(this); + mockMvc = MockMvcBuilders.standaloneSetup(userController).build(); + gson = new Gson(); } @Test - void read() { - //given + void read() throws Exception { + User user = new User(); - ResponseEntity expected = new ResponseEntity<>(user, HttpStatus.OK); - //when Mockito.doReturn(user).when(service).read(Mockito.anyLong()); - ResponseEntity actual = userController.read(Mockito.anyLong()); - //Then - assertEquals(expected,actual); + mockMvc.perform(get("/userController/read/{id}",5L)).andExpect(status().isOk()); } @Test - void readAll() { - //given + void readAll() throws Exception { + List userList = new ArrayList<>(); - ResponseEntity> expected = new ResponseEntity<>(userList,HttpStatus.OK); - //when Mockito.doReturn(userList).when(service).readAll(); - ResponseEntity> actual = userController.readAll(); - //Then - assertEquals(expected,actual); + mockMvc.perform(get("/userController/read",5L)).andExpect(status().isOk()); } @Test - void create() { - //given + void create() throws Exception { + User user = new User(); - ResponseEntity expected = new ResponseEntity<>(user,HttpStatus.CREATED); - //when Mockito.doReturn(user).when(service).create(user); - ResponseEntity actual = userController.create(user); - //Then - assertEquals(expected,actual); + mockMvc.perform(post("/userController/create") + .contentType(MediaType.APPLICATION_JSON) + .content(gson.toJson(user))) + .andExpect(status().isCreated()); } @Test - void update() { - //given + void update() throws Exception { + User user = new User(); - ResponseEntity expected = new ResponseEntity<>(user,HttpStatus.OK); - //when Mockito.when(service.update(5L, user)).thenReturn(user); - ResponseEntity actual = userController.update(5L,user); - - //Then - assertEquals(expected,actual); + mockMvc.perform(put("/userController/update/{id}",5L) + .contentType(MediaType.APPLICATION_JSON) + .content(gson.toJson(user))) + .andExpect(status().isOk()); } @Test - void delete() { - //given + void deleteTest() throws Exception { + User user = new User(); - ResponseEntity expected = new ResponseEntity<>(user,HttpStatus.OK); - //when Mockito.doReturn(user).when(service).delete(Mockito.anyLong()); - ResponseEntity actual = userController.delete(Mockito.anyLong()); - //Then - assertEquals(expected,actual); + mockMvc.perform(delete("/userController/delete/{id}", 5L)) + .andExpect(status().isOk()); } } \ No newline at end of file diff --git a/target/classes/com/example/demo/controller/BlogPostController.class b/target/classes/com/example/demo/controller/BlogPostController.class index b5aded88e316d73100153da0e1b1e24f024bdbe2..aa27f89d7c047d86e1d2010bbe1c399d5c6e2381 100644 GIT binary patch delta 19 acmbOuIY)9s4>zOgzOAIMS< diff --git a/target/test-classes/com/example/demo/controller/BlogPostControllerTest.class b/target/test-classes/com/example/demo/controller/BlogPostControllerTest.class index 417a4927ed569ab3a4eba30601c8cf54d5927183..41839a1ba7e9e43c010cdf5bdfd73ccdac9d8663 100644 GIT binary patch literal 5096 zcmb_g340sW6+O?gJ@R-;QYQog38W#RULZq_3p7sC*e07T+rc(=oj_qEJ%XiImx(tS(!0ws<^3Z*SAv_Gm}&zq5CS&}2chrdsHGjF-~+;f+A<^TTgt#$o@7Ydf!LxF5)%BLmK>C5XDwC!!y_KvC%<*Xdpupa#f)m&|IcxiNGAoB1 z#|^B&b{${ffx5zy(sF!r!Ab?Lw`N-91Lja6a93?lrYW{7nRPSgTt66boxpRmS?LMf zlSsKaQ(m-k`K&b4GUuA9^0GNxb3(xjAt>|gz%|c0OEMKG@IKcxWsRMZ0=>0@i)&@6 z)6rf9ZHq`HjFYVy-*p7`gn}}zn;}3oWuE32*V~WTjvX8qh;{eOa{GvzrrsS1+mRE6 zTvB>77TF7hr>yL(<=N`JIN2I3+N5)!7Ugx#pP|>Ny3Lot!+C*&A?~FDahOYmyd6l- zwDPt&EEil)p0rYn$_`IjX@Pi&es!#d^c=xw{W3K?rk}i+lKIf>8onm5ZyQ}jNSe|z zl+6klB}EC_4+M55maG-aEChDeR5KL4C*f8yvX(EgGElYmSYx2aDX%?6xTwYT$!7uHowjzJYHNeF#2lIT>>@sUpq5`*EL! zZy9(N-`4OQ1K-8>47?Bh0=pHh)sbRg5XS@#G@@L?_YM32&lz|CAJFha13$u#1-fg_ zZ4<@@euAHB_?dy9;}-@_;gjJme6B&6vw9CL7xMbi>#X#M? zQD7AJzKKf${WUB%Ov4f@VQiFhMc_77ZA;Zjl@eB|EhV%=m5s1q3EbEnMSMko4XR>t zw5gKKDp1Im3ioiq&ZecuqO!veEGKPcT}Mu<9RlaOFVxW!CUnDlAyP737O9Z)UMZ?$ z_Kmy+tlNoUNlPmHyb!v3n!{DZK>)kzFwT0HcBg2)#}eLOkL6HHF7l7*2Zdyk_oF$j z9;8R9`zobYud}MIE=r2Nv##jsqCs(*<*X%KClg*5qXIWCo9mb;saq$-U~#^03m3)x^O72c49In)$PFFdu$vyw4x z1*yd_bK9A@L4hg!V6$0Jl*hc{xd>8895J1EE12rZV4U0jvqjfe`wef)Jf5 zk}1%^`gQVRp4Y9wQqx|n;BxS7I`*Coiw|s0$I8t<)P9 z>vt%Gj#dheI?`gS*IZ?jPR3=04sSG7sTn{jG8*k;;~em6E8U&3e1Rd`9<@w3z+b&F z{;X}~hb=Dz?&VWE#{rH|y>Z3d{ox$j*^0TNoNG}nF-MIbcH3P25TEYlC^)wDUV(Ul z4=p&sZ=EA>2UQ-z5TA@_6NWLuH{d}EXbA;eKwG$WxOW3By{)exHXrMK39Zu`Xj@17 zWoW(E5TCz-j?2(D6?BEx^zgeEd(lTVcULGnTvSxD^JJ*>6qUw8rBBle1@O!@bW*gD z=-a@%sP%@c*wKR5uyX_N-aywncFl2C>)IXR+Kn4IOJp~#xVHcR literal 3908 zcmb`K`%@EF6vw|C9t&Zs7SPsem7>)E!cw591g!x>eFRZJthQD+$t5f%*|^!D^l9G@ z`}kMdP6wmTboz7us7}9klPn7fk~%Vz?7ipSd(Qcsd(PSL&%aOp0x*JKgXqRo5bxrg zit|AR$N3Zh$c)2aS1c6cmtQ)a0Rm}=A>jkh^tr#q7B#N+IvA<$BiJ~#|J8I z2GK4xw&6o5z9n_tmQzDc<4rUx|C*#IA(bWDAh0MGQ&P4hN2ZEp6?YW0$J18ovXyrx zt*m2P>9nvF48{^xMi=*uOfD_-q{vu$!duoSs!oIz?42!S9Wx^q%)A*-i%2$WIfi3e z**w=`mYvcwR^pE7So-%&fRn$i#&`Z_qXOaKcD07`7?rWnrVUWYX7>YA>FNJ}>eP zO*iF*b2X=++x2U?KtJ^5Le6xAts6O0pAd_dEuuzZiJKd3VI&o_R6;M0RRugl=hJx) zoyS_l{Tw4Fc(lhglh4^^HnnIQ8FA0D@90a8lhbEKKF6qwD6hj=l~FMgPQgek*b}q- z*sHk;`gFb8#i1DA*NSHdYM1;FxJ$N~mgNlc-J) zZq-k;(PUlvC1Z1f6b_RqSjZ(gkZhFl&V(zSvkG=XOqnv@_ElGm+&&;pYv@IvinN9d zvI@Gk%L4^RWii!p^(rh4Ioy>NY!!J84hkBMBBWwP!#&(r5UMh_MagMc#YZYW*6;~F z)i8|DG#tWV6`#w=0~KFr_!3_!=va?u#I}u9d5;>#@wNQ=M#Hz#p$NW{U*Bu^0Y6Gt z9;*0B!_RmqCBJBxl=>&}K*3OzhufAT6UlWVZDdpWOk8#w1qb{sNcIc1q76-|RrU_I zD=F9=Dy5xILs)i{LtBRa97}JG4X?l!5}3KD;LWWwaD6ZHXsm{*x{gYJI%+_%Pb95b z;S_A9(@+iVrQVS#cjLTMh{xGQ^f@^Ywk%)2*3IkeUiX#+RUfITdUN2ZPBpTtF)N#L z+wuhkJJ$D<#OjKXE{K^$@`Nt*_#!WtsbIu!$(8kN--i?o{J+dm5Uyco%L}h+vt4p) zb>olZSyAQppk}y}=v}sB=E+gNy;7cree`9Cyyx~%IV}Fx*hgXg?x~Zr(a3!Ctb(b~ z_R*^=z|(aps^7)tQYTfg;17&@;V;PJTE(_SIm~2J7R$n|3O<>Jhb2i>*=*X!_kqLm zsMO!h=OU>$Wa#2=!*2f83-H5k47MGPn)y7!CuFbp$$BVJ`QZzP(qkOyd@6i4^*(~~ zI|l*u^IIwaIxxU*t+at#2RQ@Y;^BaMc-T8!L}2}J(Dmj38ga0Of{K4buCifI*%R(> zq-^3T8m>P=W9%uKuJ`?c=0{Mc`-*7k{S&Q^5e(pOv=yNh@zNT0T%&YnWwz_mvHl`n zmYy`Y7_Sioj7kfm(#c2+poj0EV|?-SyPoxyESAw)Fvg$jZxgDMtD`thj&W)@!BGQF zQqvwvN^4`@+8Ea=OkwT;&r||bEHjNhMLU@~p2@U^PM2m4yK8d{kz<(lM@e#=moY|P z$9){59>)Mq;k3)qUFI0vz|lpYTX^ym-tl&wAyH}9nJS`)NAz2n=)|U5+EeS6`quD@ zi^RdJwV5LHV}eXk-pmw+aGqoreM~1jra|v+4wspRHZYa$My|=bDXmrC&4fqtxJ(k+ zMB?U~%(YJJWscGHeMRi=dyLluaA7?8f!auyiFAcX^Gvh_g!!-58Qkz8MLeXF9#Vf9 zDO>|du1TcQS~b$7hxA+}bZ|onb=79NMW)+iN{}PTq)V}cmV8VT9@C2`Aq8hyMgc_s E16h3JmjD0& diff --git a/target/test-classes/com/example/demo/controller/TagControllerTest.class b/target/test-classes/com/example/demo/controller/TagControllerTest.class index 07bd4c9ee504ea73cc789cdd406390bbc4bfd74c..ce59272b2c85f6e50c0f67f68b61c5f8746df195 100644 GIT binary patch literal 4973 zcmb`LiFX@U6~@1@Y>zyiHo-|v(5HlS$X$4IrZ~$)EA_>FLvWgcshzN%kf{4&0me;8Ts(6isuxlIVZI= zxtvmPFz&b+!^^vtotbydoLF((CBqk)%<;R$y+D|}-z96zF9*L1=5t(=&(JS&+M zG23>0)3+SkQ*flIu%s|;&zLt;zT>VMW@UmAEBMZe<%%@L-r$>=F~{~@Cz}{9%9RQOmacV+tbu1G5}H=A@}|Timk6xk4@} z+!>SZ3WTT3?5ycp^10O5?k`yMpV0`okJl>C>Z~g?u`=(TFd6 zA&JPJa0+fpoV29VdudZOyX1g_5>3ZPaZJSvI=+UllQ+Q4ns&yRO3D<{aW4+5_=b)b z@l6%q((!G4N5_Y8NWo5-pY?g5V+2PP+}e=4RoANcu8!~FB^^g_pNjA6_yK;X;P!?o zjj5^QNBFUdpXm50ex~Cjey-qVgYK@HX2>uYPgva{?ZmR1FqoHF>s=TVBh-)fd z*Kr+x*6{}3)bSU*rQ@%7S;sW~Ce40Z#ou-O18*z1rA}HH(!dZM|HNe-??`LwhlK$z z4SNTd6&z^r<7O+UYynE-s4({X*7vg@t}Fv$||%3u0=X_ViB-)PzfR zQ-D#cDQFwmw9d5}7*{-AU{Ncl(RBD&&8A33uq1l5+7rIq@<-l#PSxr>?fZGTf3p0p z*G-%6Y$>%$nLr=sh08rFr(mhSwIr(3*kbBU3$Kv%W2s<=BWA26OgETS^|O>QY5J*! zV9|DR(fS3h-V?1ZfRa2eDb5R#%Hqg${M|4$lfe|Xys0Gxhg$_&$3TQbEg^)nO3qZ! z#nLr?DbF2L!D7o%tnuZ@dkkU^&8+Tbr8CFT{!Q1|Rx7YQ@5u8+Uo%H6Fz<~?k+#ek z9%Xofh@C$lKQk7aIWu+c(TT*=IR*QgCh_`-^z%eB@xENswa4(5)|`TFx#tPn524)V z5vW6G(c>)<(4J1;nFtQdTNT$*9pb_-K`VHyNuByX<8@iySa5vgZWXUp7Zm0HDPM+b z#f9g{QaU$mR8w}wVG$1YD_M-0Eiw(Z8pp$}&yB0RGe+_S=4WSk7Q$Y>dPewe+0HKy zs!(t@?>c$ChgZlGZB5%pf;OH+Yubj{)+P_KysG^2jLhDT@$PP36<#|AuR?i+H*Gl1 zUyWB_fGUR&Eqr*N8vpJ87+uM?G+oDEpx71kF^tfSYlo2+{pSl4h{Ncn*lC?i35 zLhl_X?k1zoU*I&fI&@~J)_CbOS)w%x84NYmtn9!6tnsNbq`ESyF zc!=l^6Z9g@cm%UBYfPD|m@>76DT#_H&$OED2SQ^G))`}z!_dIq%f$=+rxnElvwe~7 WUm{huhWB)Zck_%_Fhfagc;LUVL5A!A literal 3785 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 QsN&r`;uTC&QVY)f7rRiBSpWb4 literal 3807 zcmb`Jds7ov7{;FsmxZvc7Ex$wW2cyn(`gcE6r_b3e%Z3C@FU+ue&U?;z&-;6Cn?L`0{5ycx@KY3RxDdsgxTs<( ziW*!{aj6lPk%*!WSE884Oe0>#TTOTyvnuAKWIl?kScswt*W}vuC>HTf6gTj$ikne1 zON~vqCB^SaUGK}OA*abYUMv6Vq$nkoEj2-4SuUsEGM1hSmi4P8yGIlpnRT;{nGp+S-b|)NESt3)!!fOFo@)uq zUePmF>bB`v`c!sJq?{|9<#|q}qIEMR6r3!-&|mXzn=9_)k>(P0QW1sqqh{80#uU_a zbS@~UowSyyb6>*DifK2K6!yG9v%JG8BfVhQrkwl2T4&Xyo&Dt&?20@u@(!=9%M0gf zPC=Vz)0#^g^ffnUI>OeCoT*QUWy=!(xaIE~c42@3bJzQ>Y5chKQ zl;Dw0PklaTo7t6R+sKH!mVH}ab)1|&EAlydS;XmnXG40zNI9;NR&Xd`g;6(hTewrz zY8&0##4+A>bQf^nKdMBIrD;urq)wQ5N5THYnz3%^u4ATkDWRJF9il33zEM3z>2*)l zExGDbwA^9B)VsN*;()OcQWBlBTstK$m@=OZmsWzr?vvMP=t8%Ow1y0_bW>R|g<`GX zlq`@c!mGm4ki#9R-Byv;;K0>z3LPreHQdEL1?^>5RVX738~8xQhZ;V@#~KFliG~ws zSMjNw+*k3LhR^YZf&<&Wi`llZA>*ZC6kp26R~o*S#>DWAe0-~60^dn99;o%eUqN4)b$gZ=lf^S2ZDd#UnWXF-tekK=k@e5EQqpi5WiRkLjDmw5#ncLE z7?B;~#I7#C$g-Ma^K#h|A~Tm2ys~?yZSQ5y3|F|Ss-x1L0~MfHHA~j4a9o=yG*Cf% zu`gu&&YE}JWRe|1pOXV&%km6s-MP+Ibaz!y^~s8=cRHTxR3p2Qu(B&&o4v%Z#`d0~ zSY0>Lu9#USPsgRskmuzx74(O1@?@QR_ZS6T)n|-?kqY{E4Rl%SY?WKfn|LhG3i7{Y zn&D02ci3W?AE(0i74vf>MD0ste49IbcZAzsH-*)kr%uksWApLz3dTD2_S#dOI`vcq z)tfaP_JJ4E|7cvLI@%@EXR<36Gu}&hzL{a|((tm1*s+gI++pT#mDb`vCaBgsXywng zHvSBY@ShD9>?R!5^L>(U$krW_byA}8pWhBjdpOehR`{;#dI;qg4kGB~Qz`&j(8s4% z+`z5#TM(_uk3eXC8W)sg|qjcZaZ2xpmZvoFqOKLof7YG7+rGZ{) zp(py#$2AxesC!@=4x*S45O zxCcD5<)DJkH1q_`WIC`X(0g!5 m@sbj1t;}?jOt;8nkR! Date: Wed, 8 Sep 2021 11:02:13 -0400 Subject: [PATCH 3/3] Done with testing --- .../Maven__com_google_code_gson_gson_2_8_6.xml | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 .idea/libraries/Maven__com_google_code_gson_gson_2_8_6.xml diff --git a/.idea/libraries/Maven__com_google_code_gson_gson_2_8_6.xml b/.idea/libraries/Maven__com_google_code_gson_gson_2_8_6.xml deleted file mode 100644 index 82a9f20a6..000000000 --- a/.idea/libraries/Maven__com_google_code_gson_gson_2_8_6.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file