Skip to content

Commit 66031d0

Browse files
authored
Merge pull request eugenp#9133 from amit2103/JAVA-1278-1
Java 1278 1
2 parents e4234f6 + 0ba57c2 commit 66031d0

6 files changed

Lines changed: 84 additions & 28 deletions

File tree

core-java-modules/core-java-optional/src/test/java/com/baeldung/optional/OptionalUnitTest.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,15 @@ public void givenOptionalWithNull_whenGetThrowsException_thenCorrect() {
8686
Optional<String> opt = Optional.ofNullable(null);
8787
String name = opt.get();
8888
}
89+
90+
@Test
91+
public void givenAnEmptyOptional_thenIsEmptyBehavesAsExpected() {
92+
Optional<String> opt = Optional.of("Baeldung");
93+
assertTrue(opt.isPresent());
94+
95+
opt = Optional.ofNullable(null);
96+
assertFalse(opt.isPresent());
97+
}
8998

9099
// Conditional Return With filter()
91100
@Test
Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,22 @@
11
package com.baeldung.web.log.app;
22

3-
import javax.servlet.ServletContext;
4-
import javax.servlet.ServletException;
53
import javax.servlet.ServletRegistration;
64

75
import org.springframework.boot.SpringApplication;
86
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
97
import org.springframework.boot.autoconfigure.SpringBootApplication;
108
import org.springframework.context.annotation.ComponentScan;
11-
import org.springframework.web.context.ContextLoaderListener;
12-
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
13-
import org.springframework.web.servlet.DispatcherServlet;
149
import org.springframework.context.annotation.PropertySource;
1510

1611
import com.baeldung.web.log.config.CustomeRequestLoggingFilter;
1712

18-
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
19-
2013
@EnableAutoConfiguration
2114
@ComponentScan("com.baeldung.web.log")
2215
@PropertySource("application-log.properties")
2316
@SpringBootApplication
24-
public class Application extends SpringBootServletInitializer {
17+
public class Application {
2518

2619
public static void main(final String[] args) {
2720
SpringApplication.run(Application.class, args);
2821
}
29-
30-
@Override
31-
public void onStartup(ServletContext container) throws ServletException {
32-
33-
AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
34-
context.setConfigLocation("com.baeldung.web.log");
35-
container.addListener(new ContextLoaderListener(context));
36-
37-
ServletRegistration.Dynamic dispatcher = container.addServlet("dispatcher", new DispatcherServlet(context));
38-
dispatcher.setLoadOnStartup(1);
39-
dispatcher.addMapping("/");
40-
41-
container.addFilter("customRequestLoggingFilter", CustomeRequestLoggingFilter.class).addMappingForServletNames(null, false, "dispatcher");
42-
}
4322
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package com.baeldung.web.log.config;
2+
3+
import javax.servlet.ServletContext;
4+
import javax.servlet.ServletException;
5+
import org.springframework.web.context.ContextLoaderListener;
6+
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
7+
import org.springframework.web.servlet.DispatcherServlet;
8+
import org.springframework.web.WebApplicationInitializer;
9+
10+
public class CustomWebAppInitializer implements WebApplicationInitializer {
11+
12+
@Override
13+
public void onStartup(ServletContext container) throws ServletException {
14+
15+
AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
16+
context.setConfigLocation("com.baeldung.web.log");
17+
container.addListener(new ContextLoaderListener(context));
18+
19+
ServletRegistration.Dynamic dispatcher = container.addServlet("dispatcher", new DispatcherServlet(context));
20+
dispatcher.setLoadOnStartup(1);
21+
dispatcher.addMapping("/");
22+
23+
container.addFilter("customRequestLoggingFilter", CustomeRequestLoggingFilter.class).addMappingForServletNames(null, false, "dispatcher");
24+
}
25+
}

spring-core-2/src/main/java/com/baeldung/spring/config/MainWebAppInitializer.java renamed to spring-core-2/src/main/java/com/baeldung/spring/config/MyWebApplicationInitializer.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,20 @@
66
import javax.servlet.ServletException;
77
import javax.servlet.ServletRegistration;
88

9-
import org.springframework.context.support.GenericApplicationContext;
109
import org.springframework.web.WebApplicationInitializer;
1110
import org.springframework.web.context.ContextLoaderListener;
12-
import org.springframework.web.context.WebApplicationContext;
1311
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
14-
import org.springframework.web.context.support.GenericWebApplicationContext;
1512
import org.springframework.web.servlet.DispatcherServlet;
1613

17-
public class MainWebAppInitializer implements WebApplicationInitializer
14+
public class MyWebApplicationInitializer implements WebApplicationInitializer
1815
{
1916

2017
/**
2118
* Register and configure all Servlet container components necessary to power the web application.
2219
*/
2320
@Override
2421
public void onStartup(final ServletContext sc) throws ServletException {
25-
System.out.println("MainWebAppInitializer.onStartup()");
22+
System.out.println("MyWebApplicationInitializer.onStartup()");
2623

2724
// Create the 'root' Spring application context
2825
final AnnotationConfigWebApplicationContext root = new AnnotationConfigWebApplicationContext();

spring-core-2/src/test/java/com/baeldung/profiles/SpringProfilesWithMavenPropertiesIntegrationTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public class SpringProfilesWithMavenPropertiesIntegrationTest {
1616
DatasourceConfig datasourceConfig;
1717

1818
@Test
19-
public void testSpringProfiles() {
19+
public void setupDatasource() {
2020
Assert.assertTrue(datasourceConfig instanceof DevDatasourceConfig);
2121
}
2222
}

testing-modules/mockito/src/test/java/com/baeldung/mockito/MockitoAnnotationUnitTest.java

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,53 @@ public void whenUseSpyAnnotation_thenSpyIsInjectedCorrectly() {
7575
Mockito.doReturn(100).when(spiedList).size();
7676
assertEquals(100, spiedList.size());
7777
}
78+
79+
@Test
80+
public void whenSpyingOnList_thenCorrect() {
81+
List<String> list = new ArrayList<String>();
82+
List<String> spyList = Mockito.spy(list);
83+
84+
spyList.add("one");
85+
spyList.add("two");
86+
87+
Mockito.verify(spyList).add("one");
88+
Mockito.verify(spyList).add("two");
89+
90+
assertEquals(2, spyList.size());
91+
}
7892

93+
@Test
94+
public void whenUsingTheSpyAnnotation_thenObjectIsSpied() {
95+
spiedList.add("one");
96+
spiedList.add("two");
97+
98+
Mockito.verify(spiedList).add("one");
99+
Mockito.verify(spiedList).add("two");
100+
101+
assertEquals(2, spiedList.size());
102+
}
103+
104+
@Test
105+
public void whenStubASpy_thenStubbed() {
106+
List<String> list = new ArrayList<String>();
107+
List<String> spyList = Mockito.spy(list);
108+
109+
assertEquals(0, spyList.size());
110+
111+
Mockito.doReturn(100).when(spyList).size();
112+
assertEquals(100, spyList.size());
113+
}
114+
115+
@Test
116+
public void whenCreateSpy_thenCreate() {
117+
List<String> spyList = Mockito.spy(new ArrayList<>());
118+
119+
spyList.add("one");
120+
Mockito.verify(spyList).add("one");
121+
122+
assertEquals(1, spyList.size());
123+
}
124+
79125
@Test
80126
public void whenNotUseCaptorAnnotation_thenCorrect() {
81127
final List<String> mockList = Mockito.mock(List.class);

0 commit comments

Comments
 (0)