Skip to content

Commit 1c6afca

Browse files
committed
Polish ch 4 tests
1 parent 6f1038b commit 1c6afca

9 files changed

Lines changed: 56 additions & 63 deletions

File tree

4/part1/src/main/java/com/greglturnquist/learningspringboot/InitDatabase.java

Lines changed: 19 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -16,36 +16,32 @@
1616
package com.greglturnquist.learningspringboot;
1717

1818
import org.springframework.boot.CommandLineRunner;
19+
import org.springframework.context.annotation.Bean;
1920
import org.springframework.data.mongodb.core.MongoOperations;
2021
import org.springframework.stereotype.Component;
2122

2223
/**
2324
* @author Greg Turnquist
2425
*/
2526
@Component
26-
public class InitDatabase implements CommandLineRunner {
27+
public class InitDatabase {
28+
@Bean
29+
CommandLineRunner init(MongoOperations operations) {
30+
return args -> {
31+
// tag::log[]
32+
operations.dropCollection(Image.class);
2733

28-
private final MongoOperations operations;
34+
operations.insert(new Image("1",
35+
"learning-spring-boot-cover.jpg"));
36+
operations.insert(new Image("2",
37+
"learning-spring-boot-2nd-edition-cover.jpg"));
38+
operations.insert(new Image("3",
39+
"bazinga.png"));
2940

30-
public InitDatabase(MongoOperations operations) {
31-
this.operations = operations;
41+
operations.findAll(Image.class).forEach(image -> {
42+
System.out.println(image.toString());
43+
});
44+
// end::log[]
45+
};
3246
}
33-
34-
@Override
35-
public void run(String... args) throws Exception {
36-
// tag::log[]
37-
operations.dropCollection(Image.class);
38-
39-
operations.insert(new Image("1",
40-
"learning-spring-boot-cover.jpg"));
41-
operations.insert(new Image("2",
42-
"learning-spring-boot-2nd-edition-cover.jpg"));
43-
operations.insert(new Image("3",
44-
"bazinga.png"));
45-
46-
operations.findAll(Image.class).forEach(image -> {
47-
System.out.println(image.toString());
48-
});
49-
// end::log[]
50-
}
51-
}
47+
}

4/part1/src/test/java/com/greglturnquist/learningspringboot/EmbeddedImageRepositoryTests.java

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,11 @@ public class EmbeddedImageRepositoryTests {
4848

4949
// tag::2[]
5050
/**
51-
* To avoid {@code block()} calls, use blocking {@link MongoOperations} during setup.
51+
* To avoid {@code block()} calls, use blocking
52+
* {@link MongoOperations} during setup.
5253
*/
5354
@Before
5455
public void setUp() {
55-
5656
operations.dropCollection(Image.class);
5757

5858
operations.insert(new Image("1",
@@ -103,12 +103,4 @@ public void findByNameShouldWork() {
103103
});
104104
}
105105
// end::4[]
106-
107-
// tag::5[]
108-
@Test
109-
public void findAllShouldWork2() {
110-
// TODO: Remove
111-
}
112-
// end::5[]
113-
114106
}

4/part1/src/test/java/com/greglturnquist/learningspringboot/EndToEndTests.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@
2020

2121
import java.io.File;
2222
import java.io.IOException;
23-
import java.net.MalformedURLException;
23+
import java.nio.file.Files;
24+
import java.nio.file.Path;
25+
import java.nio.file.Paths;
2426

2527
import org.junit.AfterClass;
2628
import org.junit.BeforeClass;
@@ -57,11 +59,15 @@ public class EndToEndTests {
5759

5860
// tag::3[]
5961
@BeforeClass
60-
public static void setUp() throws MalformedURLException {
62+
public static void setUp() throws IOException {
6163
System.setProperty("webdriver.chrome.driver",
6264
"ext/chromedriver");
6365
service = createDefaultService();
6466
driver = new ChromeDriver(service);
67+
Path testResults = Paths.get("build", "test-results");
68+
if (!Files.exists(testResults)) {
69+
Files.createDirectory(testResults);
70+
}
6571
}
6672

6773
@AfterClass

4/part1/src/test/java/com/greglturnquist/learningspringboot/HomeControllerTests.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020

2121
import java.io.IOException;
2222

23-
import org.junit.Ignore;
2423
import org.junit.Test;
2524
import org.junit.runner.RunWith;
2625
import reactor.core.publisher.Flux;
@@ -122,7 +121,6 @@ public void fetchingNullImageShouldFail() throws IOException {
122121

123122
// tag::5[]
124123
@Test
125-
@Ignore // TODO: Reenable test case
126124
public void deleteImageShouldWork() {
127125
Image alphaImage = new Image("1", "alpha.png");
128126
given(imageService.deleteImage(any())).willReturn(Mono.empty());

4/part1/src/test/java/com/greglturnquist/learningspringboot/ImageServiceTests.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ public class ImageServiceTests {
5959
@MockBean
6060
InitDatabase initDatabase;
6161

62+
@MockBean(name = "setUp")
63+
Object ignoreImageServiceCommandLineRunner;
64+
6265
@Before
6366
public void setUp() throws IOException {
6467
FileSystemUtils.deleteRecursively(new File(ImageService.UPLOAD_ROOT));

4/part1/src/test/java/com/greglturnquist/learningspringboot/LiveImageRepositoryTests.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@ public class LiveImageRepositoryTests {
4949
// end::1[]
5050

5151
/**
52-
* To avoid {@code block()} calls, use blocking {@link MongoOperations} during setup.
52+
* To avoid {@code block()} calls, use blocking
53+
* {@link MongoOperations} during setup.
5354
*/
5455
@Before
5556
public void setUp() {

4/part2/src/main/java/com/greglturnquist/learningspringboot/InitDatabase.java

Lines changed: 19 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -16,36 +16,32 @@
1616
package com.greglturnquist.learningspringboot;
1717

1818
import org.springframework.boot.CommandLineRunner;
19+
import org.springframework.context.annotation.Bean;
1920
import org.springframework.data.mongodb.core.MongoOperations;
2021
import org.springframework.stereotype.Component;
2122

2223
/**
2324
* @author Greg Turnquist
2425
*/
2526
@Component
26-
public class InitDatabase implements CommandLineRunner {
27+
public class InitDatabase {
28+
@Bean
29+
CommandLineRunner init(MongoOperations operations) {
30+
return args -> {
31+
// tag::log[]
32+
operations.dropCollection(Image.class);
2733

28-
private final MongoOperations operations;
34+
operations.insert(new Image("1",
35+
"learning-spring-boot-cover.jpg"));
36+
operations.insert(new Image("2",
37+
"learning-spring-boot-2nd-edition-cover.jpg"));
38+
operations.insert(new Image("3",
39+
"bazinga.png"));
2940

30-
public InitDatabase(MongoOperations operations) {
31-
this.operations = operations;
41+
operations.findAll(Image.class).forEach(image -> {
42+
System.out.println(image.toString());
43+
});
44+
// end::log[]
45+
};
3246
}
33-
34-
@Override
35-
public void run(String... args) throws Exception {
36-
// tag::log[]
37-
operations.dropCollection(Image.class);
38-
39-
operations.insert(new Image("1",
40-
"learning-spring-boot-cover.jpg"));
41-
operations.insert(new Image("2",
42-
"learning-spring-boot-2nd-edition-cover.jpg"));
43-
operations.insert(new Image("3",
44-
"bazinga.png"));
45-
46-
operations.findAll(Image.class).forEach(image -> {
47-
System.out.println(image.toString());
48-
});
49-
// end::log[]
50-
}
51-
}
47+
}

4/part2/src/test/java/com/greglturnquist/learningspringboot/HomeControllerTests.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020

2121
import java.io.IOException;
2222

23-
import org.junit.Ignore;
2423
import org.junit.Test;
2524
import org.junit.runner.RunWith;
2625
import reactor.core.publisher.Flux;
@@ -122,7 +121,6 @@ public void fetchingNullImageShouldFail() throws IOException {
122121

123122
// tag::5[]
124123
@Test
125-
@Ignore // TODO: Reenable test case
126124
public void deleteImageShouldWork() {
127125
given(imageService.deleteImage(any())).willReturn(Mono.empty());
128126

4/part2/src/test/java/com/greglturnquist/learningspringboot/ImageServiceTests.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,9 @@ public class ImageServiceTests {
5757
@MockBean
5858
InitDatabase initDatabase;
5959

60+
@MockBean(name = "setUp")
61+
Object ignoreImageServiceCommandLineRunner;
62+
6063
@Before
6164
public void setUp() throws IOException {
6265
FileSystemUtils.deleteRecursively(new File(ImageService.UPLOAD_ROOT));

0 commit comments

Comments
 (0)