From bcd87fbd623e3ba3782b0714942c6c5392de9020 Mon Sep 17 00:00:00 2001 From: DOHA Date: Mon, 12 Mar 2018 17:22:38 +0200 Subject: [PATCH 1/2] modify tomcat dependency --- guest/remote-debugging/pom.xml | 1 - hystrix/pom.xml | 1 - spring-boot/pom.xml | 1 - spring-custom-aop/spring-custom-aop/pom.xml | 1 - spring-mvc-email/pom.xml | 1 - spring-rest-angular/pom.xml | 1 - spring-rest-full/pom.xml | 1 - spring-rest-query-language/pom.xml | 1 - .../spring-security-jsp-authentication/pom.xml | 1 - spring-security-client/spring-security-jsp-authorize/pom.xml | 1 - spring-security-client/spring-security-jsp-config/pom.xml | 1 - .../spring-security-thymeleaf-authentication/pom.xml | 1 - .../spring-security-thymeleaf-authorize/pom.xml | 1 - spring-security-client/spring-security-thymeleaf-config/pom.xml | 1 - spring-security-mvc-boot/pom.xml | 1 - spring-security-openid/pom.xml | 1 - 16 files changed, 16 deletions(-) diff --git a/guest/remote-debugging/pom.xml b/guest/remote-debugging/pom.xml index d958d4c681..8540347e40 100644 --- a/guest/remote-debugging/pom.xml +++ b/guest/remote-debugging/pom.xml @@ -31,7 +31,6 @@ org.springframework.boot spring-boot-starter-tomcat - provided diff --git a/hystrix/pom.xml b/hystrix/pom.xml index 9e4b2bb082..19da678eb7 100644 --- a/hystrix/pom.xml +++ b/hystrix/pom.xml @@ -34,7 +34,6 @@ org.springframework.boot spring-boot-starter-tomcat - provided org.springframework.boot diff --git a/spring-boot/pom.xml b/spring-boot/pom.xml index a557604bf3..84dc43a605 100644 --- a/spring-boot/pom.xml +++ b/spring-boot/pom.xml @@ -58,7 +58,6 @@ org.springframework.boot spring-boot-starter-tomcat - provided diff --git a/spring-custom-aop/spring-custom-aop/pom.xml b/spring-custom-aop/spring-custom-aop/pom.xml index 0bab7a4057..95c1b7419f 100644 --- a/spring-custom-aop/spring-custom-aop/pom.xml +++ b/spring-custom-aop/spring-custom-aop/pom.xml @@ -43,7 +43,6 @@ org.springframework.boot spring-boot-starter-tomcat - provided diff --git a/spring-mvc-email/pom.xml b/spring-mvc-email/pom.xml index ddb1765af0..5f08b710ec 100644 --- a/spring-mvc-email/pom.xml +++ b/spring-mvc-email/pom.xml @@ -24,7 +24,6 @@ org.springframework.boot spring-boot-starter-tomcat - provided diff --git a/spring-rest-angular/pom.xml b/spring-rest-angular/pom.xml index 3fc429f626..255aa840e7 100644 --- a/spring-rest-angular/pom.xml +++ b/spring-rest-angular/pom.xml @@ -19,7 +19,6 @@ org.springframework.boot spring-boot-starter-tomcat - provided org.springframework.boot diff --git a/spring-rest-full/pom.xml b/spring-rest-full/pom.xml index c00387e7de..3bd7ec07f6 100644 --- a/spring-rest-full/pom.xml +++ b/spring-rest-full/pom.xml @@ -94,7 +94,6 @@ org.springframework.boot spring-boot-starter-tomcat - provided diff --git a/spring-rest-query-language/pom.xml b/spring-rest-query-language/pom.xml index 6826634bc9..b329bec07e 100644 --- a/spring-rest-query-language/pom.xml +++ b/spring-rest-query-language/pom.xml @@ -94,7 +94,6 @@ org.springframework.boot spring-boot-starter-tomcat - provided diff --git a/spring-security-client/spring-security-jsp-authentication/pom.xml b/spring-security-client/spring-security-jsp-authentication/pom.xml index b29ce90aa4..2509b26293 100644 --- a/spring-security-client/spring-security-jsp-authentication/pom.xml +++ b/spring-security-client/spring-security-jsp-authentication/pom.xml @@ -31,7 +31,6 @@ org.springframework.boot spring-boot-starter-tomcat - provided diff --git a/spring-security-client/spring-security-jsp-authorize/pom.xml b/spring-security-client/spring-security-jsp-authorize/pom.xml index 6fd89933bb..bd13520948 100644 --- a/spring-security-client/spring-security-jsp-authorize/pom.xml +++ b/spring-security-client/spring-security-jsp-authorize/pom.xml @@ -31,7 +31,6 @@ org.springframework.boot spring-boot-starter-tomcat - provided diff --git a/spring-security-client/spring-security-jsp-config/pom.xml b/spring-security-client/spring-security-jsp-config/pom.xml index f533410acc..0a4c8fb5be 100644 --- a/spring-security-client/spring-security-jsp-config/pom.xml +++ b/spring-security-client/spring-security-jsp-config/pom.xml @@ -31,7 +31,6 @@ org.springframework.boot spring-boot-starter-tomcat - provided diff --git a/spring-security-client/spring-security-thymeleaf-authentication/pom.xml b/spring-security-client/spring-security-thymeleaf-authentication/pom.xml index 941cbb8a76..e42d499b64 100644 --- a/spring-security-client/spring-security-thymeleaf-authentication/pom.xml +++ b/spring-security-client/spring-security-thymeleaf-authentication/pom.xml @@ -31,7 +31,6 @@ org.springframework.boot spring-boot-starter-tomcat - provided diff --git a/spring-security-client/spring-security-thymeleaf-authorize/pom.xml b/spring-security-client/spring-security-thymeleaf-authorize/pom.xml index c70a099e68..5fa2016be8 100644 --- a/spring-security-client/spring-security-thymeleaf-authorize/pom.xml +++ b/spring-security-client/spring-security-thymeleaf-authorize/pom.xml @@ -31,7 +31,6 @@ org.springframework.boot spring-boot-starter-tomcat - provided diff --git a/spring-security-client/spring-security-thymeleaf-config/pom.xml b/spring-security-client/spring-security-thymeleaf-config/pom.xml index 9ef2444d6c..9a00ad0080 100644 --- a/spring-security-client/spring-security-thymeleaf-config/pom.xml +++ b/spring-security-client/spring-security-thymeleaf-config/pom.xml @@ -31,7 +31,6 @@ org.springframework.boot spring-boot-starter-tomcat - provided diff --git a/spring-security-mvc-boot/pom.xml b/spring-security-mvc-boot/pom.xml index 6566c0eea6..b717a1366d 100644 --- a/spring-security-mvc-boot/pom.xml +++ b/spring-security-mvc-boot/pom.xml @@ -31,7 +31,6 @@ org.springframework.boot spring-boot-starter-tomcat - provided diff --git a/spring-security-openid/pom.xml b/spring-security-openid/pom.xml index aeabb161c9..a3942a8423 100644 --- a/spring-security-openid/pom.xml +++ b/spring-security-openid/pom.xml @@ -31,7 +31,6 @@ org.springframework.boot spring-boot-starter-tomcat - provided From 845db90349ad1e9dcdbe20bc3e3e18487e6234f7 Mon Sep 17 00:00:00 2001 From: DOHA Date: Mon, 16 Apr 2018 15:14:06 +0200 Subject: [PATCH 2/2] easymock argument matchers --- .../com/baeldung/easymock/IUserService.java | 11 + .../main/java/com/baeldung/easymock/User.java | 109 +++++++++ .../easymock/ArgumentMatchersUnitTest.java | 220 ++++++++++++++++++ 3 files changed, 340 insertions(+) create mode 100644 testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/IUserService.java create mode 100644 testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/User.java create mode 100644 testing-modules/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/ArgumentMatchersUnitTest.java diff --git a/testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/IUserService.java b/testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/IUserService.java new file mode 100644 index 0000000000..4bb74abb64 --- /dev/null +++ b/testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/IUserService.java @@ -0,0 +1,11 @@ +package com.baeldung.easymock; + +import java.util.List; + +public interface IUserService { + public boolean addUser(User user); + public List findByFirstName(String firstName); + public List findByLastName(String lastName); + public List findByAge(double age); + public List findByEmail(String email); +} diff --git a/testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/User.java b/testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/User.java new file mode 100644 index 0000000000..e5ef460e49 --- /dev/null +++ b/testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/User.java @@ -0,0 +1,109 @@ +package com.baeldung.easymock; + +public class User { + private long id; + private String firstName; + private String lastName; + private double age; + private String email; + + public User() { + super(); + } + + public User(String firstName, String lastName) { + super(); + this.firstName = firstName; + this.lastName = lastName; + } + + // + + public long getId() { + return id; + } + public void setId(long id) { + this.id = id; + } + public String getFirstName() { + return firstName; + } + public void setFirstName(String firstName) { + this.firstName = firstName; + } + public String getLastName() { + return lastName; + } + public void setLastName(String lastName) { + this.lastName = lastName; + } + public double getAge() { + return age; + } + public void setAge(double age) { + this.age = age; + } + public String getEmail() { + return email; + } + public void setEmail(String email) { + this.email = email; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + long temp; + temp = Double.doubleToLongBits(age); + result = prime * result + (int) (temp ^ (temp >>> 32)); + result = prime * result + ((email == null) ? 0 : email.hashCode()); + result = prime * result + ((firstName == null) ? 0 : firstName.hashCode()); + result = prime * result + (int) (id ^ (id >>> 32)); + result = prime * result + ((lastName == null) ? 0 : lastName.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + User other = (User) obj; + if (Double.doubleToLongBits(age) != Double.doubleToLongBits(other.age)) { + return false; + } + if (email == null) { + if (other.email != null) { + return false; + } + } else if (!email.equals(other.email)) { + return false; + } + if (firstName == null) { + if (other.firstName != null) { + return false; + } + } else if (!firstName.equals(other.firstName)) { + return false; + } + if (id != other.id) { + return false; + } + if (lastName == null) { + if (other.lastName != null) { + return false; + } + } else if (!lastName.equals(other.lastName)) { + return false; + } + return true; + } + +} diff --git a/testing-modules/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/ArgumentMatchersUnitTest.java b/testing-modules/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/ArgumentMatchersUnitTest.java new file mode 100644 index 0000000000..6d4f4c09f5 --- /dev/null +++ b/testing-modules/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/ArgumentMatchersUnitTest.java @@ -0,0 +1,220 @@ +package com.baeldung.easymock; + +import static org.easymock.EasyMock.and; +import static org.easymock.EasyMock.anyString; +import static org.easymock.EasyMock.contains; +import static org.easymock.EasyMock.endsWith; +import static org.easymock.EasyMock.eq; +import static org.easymock.EasyMock.expect; +import static org.easymock.EasyMock.geq; +import static org.easymock.EasyMock.gt; +import static org.easymock.EasyMock.isA; +import static org.easymock.EasyMock.isNull; +import static org.easymock.EasyMock.lt; +import static org.easymock.EasyMock.matches; +import static org.easymock.EasyMock.mock; +import static org.easymock.EasyMock.not; +import static org.easymock.EasyMock.notNull; +import static org.easymock.EasyMock.replay; +import static org.easymock.EasyMock.same; +import static org.easymock.EasyMock.startsWith; +import static org.easymock.EasyMock.verify; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +import java.util.Collections; +import java.util.List; + +import org.easymock.EasyMock; +import org.easymock.IArgumentMatcher; +import org.junit.Test; + +public class ArgumentMatchersUnitTest { + + private IUserService userService = mock(IUserService.class); + + //====================== equals + @Test + public void givenUserService_whenAddNewUser_thenOK() { + expect(userService.addUser(eq(new User()))).andReturn(true); + replay(userService); + + boolean result = userService.addUser(new User()); + verify(userService); + assertTrue(result); + } + + //================ same + @Test + public void givenUserService_whenAddSpecificUser_thenOK() { + User user = new User(); + + expect(userService.addUser(same(user))).andReturn(true); + replay(userService); + + boolean result = userService.addUser(user); + verify(userService); + assertTrue(result); + } + + //============= anyX + @Test + public void givenUserService_whenSearchForUserByFirstName_thenFound() { + expect(userService.findByFirstName(anyString())).andReturn(Collections.emptyList()); + replay(userService); + + List result = userService.findByFirstName("joe"); + verify(userService); + assertEquals(0,result.size()); + } + + //================= isA + @Test + public void givenUserService_whenAddUser_thenOK() { + expect(userService.addUser(isA(User.class))).andReturn(true); + replay(userService); + + boolean result = userService.addUser(new User()); + verify(userService); + assertTrue(result); + } + + //=================== null, not null + @Test + public void givenUserService_whenAddNull_thenFail() { + expect(userService.addUser(isNull())).andReturn(false); + replay(userService); + + boolean result = userService.addUser(null); + verify(userService); + assertFalse(result); + } + + @Test + public void givenUserService_whenAddNotNull_thenOK() { + expect(userService.addUser(notNull())).andReturn(true); + replay(userService); + + boolean result = userService.addUser(new User()); + verify(userService); + assertTrue(result); + } + + // number less,great + @Test + public void givenUserService_whenSearchForUserByAgeLessThan_thenFound() { + expect(userService.findByAge(lt(100.0))).andReturn(Collections.emptyList()); + replay(userService); + + List result = userService.findByAge(20); + verify(userService); + assertEquals(0,result.size()); + } + + @Test + public void givenUserService_whenSearchForUserByAgeGreaterThan_thenFound() { + expect(userService.findByAge(geq(10.0))).andReturn(Collections.emptyList()); + replay(userService); + + List result = userService.findByAge(20); + verify(userService); + assertEquals(0,result.size()); + } + + //=============== string + //=============== start + @Test + public void givenUserService_whenSearchForUserByEmailStartsWith_thenFound() { + expect(userService.findByEmail(startsWith("test"))).andReturn(Collections.emptyList()); + replay(userService); + + List result = userService.findByEmail("test@example.com"); + verify(userService); + assertEquals(0,result.size()); + } + + //==================end + @Test + public void givenUserService_whenSearchForUserByEmailEndsWith_thenFound() { + expect(userService.findByEmail(endsWith(".com"))).andReturn(Collections.emptyList()); + replay(userService); + + List result = userService.findByEmail("test@example.com"); + verify(userService); + assertEquals(0,result.size()); + } + + //=================contain + @Test + public void givenUserService_whenSearchForUserByEmailContains_thenFound() { + expect(userService.findByEmail(contains("@"))).andReturn(Collections.emptyList()); + replay(userService); + + List result = userService.findByEmail("test@example.com"); + verify(userService); + assertEquals(0,result.size()); + } + + //==================matches + @Test + public void givenUserService_whenSearchForUserByEmailMatches_thenFound() { + expect(userService.findByEmail(matches(".+\\@.+\\..+"))).andReturn(Collections.emptyList()); + replay(userService); + + List result = userService.findByEmail("test@example.com"); + verify(userService); + assertEquals(0,result.size()); + } + + //================== combine and, or, not + @Test + public void givenUserService_whenSearchForUserByAgeRange_thenFound() { + expect(userService.findByAge(and(gt(10.0),lt(100.0)))).andReturn(Collections.emptyList()); + replay(userService); + + List result = userService.findByAge(20); + verify(userService); + assertEquals(0,result.size()); + } + + @Test + public void givenUserService_whenSearchForUserByEmailNotEndsWith_thenFound() { + expect(userService.findByEmail(not(endsWith(".com")))).andReturn(Collections.emptyList()); + replay(userService); + + List result = userService.findByEmail("test@example.org"); + verify(userService); + assertEquals(0,result.size()); + } + + //================ custom matcher + + @Test + public void givenUserService_whenSearchForUserByLastName_thenFound() { + expect(userService.findByLastName(charCount(3))).andReturn(Collections.emptyList()); + replay(userService); + + List result = userService.findByLastName("doe"); + verify(userService); + assertEquals(0,result.size()); + } + + public static String charCount(int value){ + EasyMock.reportMatcher(new IArgumentMatcher() { + @Override + public boolean matches(Object argument) { + return argument instanceof String + && ((String) argument).length() == value; + } + + @Override + public void appendTo(StringBuffer buffer) { + buffer.append("charCount(\"" + value + "\")"); + } + }); + return null; + } +} + +