From 77cef8a076fb1b5131883c0fadbe036b0019e406 Mon Sep 17 00:00:00 2001 From: Tran Ngoc Nhan Date: Tue, 15 Sep 2026 14:35:04 +0700 Subject: [PATCH] Use AssertJ exception assertions instead of fail Replace the manual `try-catch` and `fail` with `assertThatExceptionOfType` and its available assertions for verifying the expected exception and cause. Signed-off-by: Tran Ngoc Nhan --- ...uesAuthenticationSourceDecoratorTests.java | 26 +- .../core/DefaultLdapClientRenameTests.java | 21 +- .../ldap/core/DefaultLdapClientTests.java | 76 +---- .../ldap/core/DirContextAdapterTests.java | 10 +- .../core/DistinguishedNameEditorTests.java | 11 +- .../ldap/core/DistinguishedNameTests.java | 17 +- .../ldap/core/LdapTemplateListTests.java | 18 +- .../ldap/core/LdapTemplateLookupTests.java | 32 +- .../ldap/core/LdapTemplateRenameTests.java | 25 +- .../ldap/core/LdapTemplateTests.java | 214 +++--------- .../ldap/core/support/RangeOptionTests.java | 83 +---- .../DefaultObjectDirectoryMapperTests.java | 9 +- .../ldap/pool/DelegatingContextTests.java | 318 +++++------------ .../ldap/pool/DelegatingDirContextTests.java | 291 +++++----------- .../ldap/pool/DelegatingLdapContextTests.java | 101 ++---- .../DirContextPoolableObjectFactoryTests.java | 93 +---- .../factory/PoolingContextSourceTests.java | 30 +- .../DefaultDirContextValidatorTests.java | 38 +-- .../ldap/pool2/DelegatingContextTests.java | 320 +++++------------- .../ldap/pool2/DelegatingDirContextTests.java | 297 +++++----------- .../pool2/DelegatingLdapContextTests.java | 101 ++---- .../DirContextPooledObjectFactoryTests.java | 88 ++--- .../factory/PooledContextSourceTests.java | 30 +- .../ldap/support/LdapUtilsTests.java | 11 +- .../ContextSourceTransactionManagerTests.java | 17 +- ...stViewControlDirContextProcessorTests.java | 16 +- .../itest/DefaultLdapClientModifyITests.java | 11 +- .../itest/DefaultLdapClientRenameITests.java | 11 +- .../DefaultLdapClientSearchResultITests.java | 21 +- .../itest/LdapTemplateBindUnbindITests.java | 10 +- .../ldap/itest/LdapTemplateModifyITests.java | 11 +- .../itest/LdapTemplateNoBaseSuffixITests.java | 11 +- .../ldap/itest/LdapTemplatePooledITests.java | 11 +- .../LdapTemplateRecursiveDeleteITests.java | 10 +- .../ldap/itest/LdapTemplateRenameITests.java | 10 +- .../itest/LdapTemplateSearchResultITests.java | 12 +- ...lateSearchResultNamespaceConfigITests.java | 12 +- .../core/simple/SimpleLdapTemplateITests.java | 11 +- .../BaseLdapPathBeanPostprocessorITests.java | 26 +- .../LdapContextSourceIntegrationTests.java | 6 +- ...rceTransactionManagerIntegrationTests.java | 84 ++--- ...ctionManagerNamespaceIntegrationTests.java | 82 ++--- ...sactionManagerSubtreeIntegrationTests.java | 32 +- ...pTemplateOdmWithNoDnAnnotationsITests.java | 11 +- 44 files changed, 632 insertions(+), 2043 deletions(-) diff --git a/core/src/test/java/org/springframework/ldap/authentication/DefaultValuesAuthenticationSourceDecoratorTests.java b/core/src/test/java/org/springframework/ldap/authentication/DefaultValuesAuthenticationSourceDecoratorTests.java index 3409d8fbf..960607393 100644 --- a/core/src/test/java/org/springframework/ldap/authentication/DefaultValuesAuthenticationSourceDecoratorTests.java +++ b/core/src/test/java/org/springframework/ldap/authentication/DefaultValuesAuthenticationSourceDecoratorTests.java @@ -22,7 +22,7 @@ import org.springframework.ldap.core.AuthenticationSource; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; import static org.mockito.BDDMockito.given; import static org.mockito.BDDMockito.mock; @@ -85,37 +85,19 @@ public void testGetCredentials_TargetHasNoPrincipal() { @Test public void testAfterPropertiesSet_noTarget() throws Exception { this.tested.setTarget(null); - try { - this.tested.afterPropertiesSet(); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } + assertThatIllegalArgumentException().isThrownBy(() -> this.tested.afterPropertiesSet()); } @Test public void testAfterPropertiesSet_noDefaultUser() throws Exception { this.tested.setDefaultUser(null); - try { - this.tested.afterPropertiesSet(); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } + assertThatIllegalArgumentException().isThrownBy(() -> this.tested.afterPropertiesSet()); } @Test public void testAfterPropertiesSet_noDefaultPassword() throws Exception { this.tested.setDefaultPassword(null); - try { - this.tested.afterPropertiesSet(); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } + assertThatIllegalArgumentException().isThrownBy(() -> this.tested.afterPropertiesSet()); } } diff --git a/core/src/test/java/org/springframework/ldap/core/DefaultLdapClientRenameTests.java b/core/src/test/java/org/springframework/ldap/core/DefaultLdapClientRenameTests.java index 5e2dec8c9..a4cd88f98 100644 --- a/core/src/test/java/org/springframework/ldap/core/DefaultLdapClientRenameTests.java +++ b/core/src/test/java/org/springframework/ldap/core/DefaultLdapClientRenameTests.java @@ -27,8 +27,7 @@ import org.springframework.ldap.UncategorizedLdapException; import org.springframework.ldap.support.LdapUtils; -import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import static org.mockito.BDDMockito.given; import static org.mockito.BDDMockito.mock; import static org.mockito.BDDMockito.verify; @@ -83,13 +82,8 @@ public void testRename_NameAlreadyBoundException() throws Exception { javax.naming.NameAlreadyBoundException ne = new javax.naming.NameAlreadyBoundException(); willThrow(ne).given(this.dirContextMock).rename(this.oldName, this.newName); - try { - this.tested.modify(this.oldName).name(this.newName).execute(); - fail("NameAlreadyBoundException expected"); - } - catch (NameAlreadyBoundException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(NameAlreadyBoundException.class) + .isThrownBy(() -> this.tested.modify(this.oldName).name(this.newName).execute()); verify(this.dirContextMock).close(); } @@ -102,13 +96,8 @@ public void testRename_NamingException() throws Exception { willThrow(ne).given(this.dirContextMock).rename(this.oldName, this.newName); - try { - this.tested.modify(this.oldName).name(this.newName).execute(); - fail("UncategorizedLdapException expected"); - } - catch (UncategorizedLdapException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(UncategorizedLdapException.class) + .isThrownBy(() -> this.tested.modify(this.oldName).name(this.newName).execute()); verify(this.dirContextMock).close(); } diff --git a/core/src/test/java/org/springframework/ldap/core/DefaultLdapClientTests.java b/core/src/test/java/org/springframework/ldap/core/DefaultLdapClientTests.java index 4159259ca..cb4e6dbf9 100644 --- a/core/src/test/java/org/springframework/ldap/core/DefaultLdapClientTests.java +++ b/core/src/test/java/org/springframework/ldap/core/DefaultLdapClientTests.java @@ -54,7 +54,6 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatExceptionOfType; -import static org.assertj.core.api.Assertions.fail; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.argThat; @@ -232,17 +231,9 @@ public void testSearch_NameNotFoundException() throws Exception { argThat(new SearchControlsMatcher(controls)))) .willThrow(ne); - try { - this.tested.search() - .query((builder) -> builder.base(this.nameMock) - .searchScope(SearchScope.SUBTREE) - .filter("(ou=somevalue)")) - .toObject(this.attributesMapperMock); - fail("NameNotFoundException expected"); - } - catch (NameNotFoundException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(NameNotFoundException.class).isThrownBy(() -> this.tested.search() + .query((builder) -> builder.base(this.nameMock).searchScope(SearchScope.SUBTREE).filter("(ou=somevalue)")) + .toObject(this.attributesMapperMock)); verify(this.dirContextMock).close(); } @@ -258,16 +249,9 @@ public void testSearch_NamingException() throws Exception { argThat(new SearchControlsMatcher(controls)))) .willThrow(ne); - try { - this.tested.search() - .query((builder) -> builder.base(this.nameMock).filter("(ou=somevalue)")) - .toObject(this.attributesMapperMock); - fail("LimitExceededException expected"); - } - catch (LimitExceededException expected) { - // expected - } - + assertThatExceptionOfType(LimitExceededException.class).isThrownBy(() -> this.tested.search() + .query((builder) -> builder.base(this.nameMock).filter("(ou=somevalue)")) + .toObject(this.attributesMapperMock)); verify(this.dirContextMock).close(); } @@ -321,14 +305,8 @@ public void testModifyAttributes_NamingException() throws Exception { javax.naming.LimitExceededException ne = new javax.naming.LimitExceededException(); willThrow(ne).given(this.dirContextMock).modifyAttributes(this.nameMock, mods); - - try { - this.tested.modify(this.nameMock).attributes(mods).execute(); - fail("LimitExceededException expected"); - } - catch (LimitExceededException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(LimitExceededException.class) + .isThrownBy(() -> this.tested.modify(this.nameMock).attributes(mods).execute()); verify(this.dirContextMock).close(); } @@ -369,13 +347,8 @@ public void testBind_NamingException() throws Exception { javax.naming.NameNotFoundException ne = new javax.naming.NameNotFoundException(); willThrow(ne).given(this.dirContextMock).bind(this.nameMock, expectedObject, expectedAttributes); - try { - this.tested.bind(this.nameMock).object(expectedObject).attributes(expectedAttributes).execute(); - fail("NameNotFoundException expected"); - } - catch (NameNotFoundException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(NameNotFoundException.class).isThrownBy( + () -> this.tested.bind(this.nameMock).object(expectedObject).attributes(expectedAttributes).execute()); verify(this.dirContextMock).close(); } @@ -508,14 +481,8 @@ public void testUnbind_NamingException() throws Exception { javax.naming.NameNotFoundException ne = new javax.naming.NameNotFoundException(); willThrow(ne).given(this.dirContextMock).unbind(this.nameMock); - - try { - this.tested.unbind(this.nameMock).execute(); - fail("NameNotFoundException expected"); - } - catch (NameNotFoundException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(NameNotFoundException.class) + .isThrownBy(() -> this.tested.unbind(this.nameMock).execute()); verify(this.dirContextMock).close(); } @@ -526,15 +493,8 @@ public void testSearch_PartialResult_IgnoreNotSet() throws Exception { javax.naming.PartialResultException ex = new javax.naming.PartialResultException(); given(this.dirContextMock.search(eq(this.nameMock), anyString(), any())).willThrow(ex); - - try { - this.tested.search().name(this.nameMock).toEntryList(); - fail("PartialResultException expected"); - } - catch (PartialResultException expected) { - assertThat(true).isTrue(); - } - + assertThatExceptionOfType(PartialResultException.class) + .isThrownBy(() -> this.tested.search().name(this.nameMock).toEntryList()); verify(this.dirContextMock).close(); } @@ -590,14 +550,10 @@ public void testAuthenticateWithTwoUsersFoundShouldThrowException() throws Excep setupSearchResults(searchControlsRecursive(), new SearchResult[] { searchResult1, searchResult2 }); - try { + assertThatExceptionOfType(IncorrectResultSizeDataAccessException.class).isThrownBy(() -> { LdapQuery query = LdapQueryBuilder.query().base(this.nameMock).filter("(ou=somevalue)"); this.tested.authenticate().query(query).password("password").execute(); - fail("IncorrectResultSizeDataAccessException expected"); - } - catch (IncorrectResultSizeDataAccessException expected) { - // expected - } + }); verify(this.dirContextMock).close(); } diff --git a/core/src/test/java/org/springframework/ldap/core/DirContextAdapterTests.java b/core/src/test/java/org/springframework/ldap/core/DirContextAdapterTests.java index 081c9f275..285feba03 100644 --- a/core/src/test/java/org/springframework/ldap/core/DirContextAdapterTests.java +++ b/core/src/test/java/org/springframework/ldap/core/DirContextAdapterTests.java @@ -39,7 +39,7 @@ import org.springframework.ldap.support.LdapUtils; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; /** * Tests the DirContextAdapter class. @@ -181,13 +181,7 @@ class TestableDirContextAdapter extends DirContextAdapter { } this.tested = new TestableDirContextAdapter(); - try { - this.tested.getStringAttributes("abc"); - fail("ClassCastException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } + assertThatIllegalArgumentException().isThrownBy(() -> this.tested.getStringAttributes("abc")); } @Test diff --git a/core/src/test/java/org/springframework/ldap/core/DistinguishedNameEditorTests.java b/core/src/test/java/org/springframework/ldap/core/DistinguishedNameEditorTests.java index 938e1e4ea..5e4f0a329 100644 --- a/core/src/test/java/org/springframework/ldap/core/DistinguishedNameEditorTests.java +++ b/core/src/test/java/org/springframework/ldap/core/DistinguishedNameEditorTests.java @@ -20,7 +20,7 @@ import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; /** * Unit tests for {@link DistinguishedNameEditor}. @@ -44,13 +44,8 @@ public void testSetAsText() throws Exception { DistinguishedName result = (DistinguishedName) this.tested.getValue(); assertThat(result).isEqualTo(new DistinguishedName(expectedDn)); - try { - result.getNames().add(new LdapRdn("cn", "john doe")); - fail("UnsupportedOperationException expected"); - } - catch (UnsupportedOperationException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(UnsupportedOperationException.class) + .isThrownBy(() -> result.getNames().add(new LdapRdn("cn", "john doe"))); } @Test diff --git a/core/src/test/java/org/springframework/ldap/core/DistinguishedNameTests.java b/core/src/test/java/org/springframework/ldap/core/DistinguishedNameTests.java index 3c61e6f31..eea78514e 100644 --- a/core/src/test/java/org/springframework/ldap/core/DistinguishedNameTests.java +++ b/core/src/test/java/org/springframework/ldap/core/DistinguishedNameTests.java @@ -29,7 +29,6 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatExceptionOfType; -import static org.assertj.core.api.Assertions.fail; /** * Unit tests for the {@link DistinguishedName} class. @@ -73,13 +72,7 @@ public void testDistinguishedName_Ldap237_DestroyedByCompositeName() throws Inva @Test public void testEmptyPathImmutable() throws Exception { DistinguishedName emptyPath = DistinguishedName.EMPTY_PATH; - try { - emptyPath.add("cn=John Doe"); - fail("UnsupportedOperationException expected"); - } - catch (UnsupportedOperationException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(UnsupportedOperationException.class).isThrownBy(() -> emptyPath.add("cn=John Doe")); } @Test @@ -295,13 +288,7 @@ public void testGetSuffix() { suffix = path.getSuffix(4); assertThat(suffix.size()).isEqualTo(0); - try { - path.getSuffix(5); - fail("ArrayIndexOutOfBoundsException expected"); - } - catch (ArrayIndexOutOfBoundsException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(ArrayIndexOutOfBoundsException.class).isThrownBy(() -> path.getSuffix(5)); } @Test diff --git a/core/src/test/java/org/springframework/ldap/core/LdapTemplateListTests.java b/core/src/test/java/org/springframework/ldap/core/LdapTemplateListTests.java index 7f4118afe..1f9b0c55d 100644 --- a/core/src/test/java/org/springframework/ldap/core/LdapTemplateListTests.java +++ b/core/src/test/java/org/springframework/ldap/core/LdapTemplateListTests.java @@ -33,7 +33,7 @@ import org.springframework.ldap.PartialResultException; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import static org.mockito.BDDMockito.given; import static org.mockito.BDDMockito.mock; import static org.mockito.BDDMockito.verify; @@ -191,13 +191,7 @@ public void testList_PartialResultException() throws NamingException { javax.naming.PartialResultException pre = new javax.naming.PartialResultException(); given(this.dirContextMock.list(NAME)).willThrow(pre); - try { - this.tested.list(NAME); - fail("PartialResultException expected"); - } - catch (PartialResultException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(PartialResultException.class).isThrownBy(() -> this.tested.list(NAME)); verify(this.dirContextMock).close(); } @@ -226,13 +220,7 @@ public void testList_NamingException() throws NamingException { javax.naming.LimitExceededException ne = new javax.naming.LimitExceededException(); given(this.dirContextMock.list(NAME)).willThrow(ne); - try { - this.tested.list(NAME); - fail("LimitExceededException expected"); - } - catch (LimitExceededException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(LimitExceededException.class).isThrownBy(() -> this.tested.list(NAME)); verify(this.dirContextMock).close(); } diff --git a/core/src/test/java/org/springframework/ldap/core/LdapTemplateLookupTests.java b/core/src/test/java/org/springframework/ldap/core/LdapTemplateLookupTests.java index fa9b21e29..8d48b7d85 100644 --- a/core/src/test/java/org/springframework/ldap/core/LdapTemplateLookupTests.java +++ b/core/src/test/java/org/springframework/ldap/core/LdapTemplateLookupTests.java @@ -33,7 +33,7 @@ import org.springframework.ldap.support.LdapUtils; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import static org.mockito.BDDMockito.given; import static org.mockito.BDDMockito.mock; import static org.mockito.BDDMockito.verify; @@ -114,15 +114,7 @@ public void testLookup_NamingException() throws Exception { javax.naming.NameNotFoundException ne = new javax.naming.NameNotFoundException(); given(this.dirContextMock.lookup(this.nameMock)).willThrow(ne); - - try { - this.tested.lookup(this.nameMock); - fail("NameNotFoundException expected"); - } - catch (NameNotFoundException expected) { - assertThat(true).isTrue(); - } - + assertThatExceptionOfType(NameNotFoundException.class).isThrownBy(() -> this.tested.lookup(this.nameMock)); verify(this.dirContextMock).close(); } @@ -169,13 +161,8 @@ public void testLookup_AttributesMapper_NamingException() throws Exception { javax.naming.NameNotFoundException ne = new javax.naming.NameNotFoundException(); given(this.dirContextMock.getAttributes(this.nameMock)).willThrow(ne); - try { - this.tested.lookup(this.nameMock, this.attributesMapperMock); - fail("NameNotFoundException expected"); - } - catch (NameNotFoundException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(NameNotFoundException.class) + .isThrownBy(() -> this.tested.lookup(this.nameMock, this.attributesMapperMock)); verify(this.dirContextMock).close(); } @@ -241,15 +228,8 @@ public void testLookup_ContextMapper_NamingException() throws Exception { javax.naming.NameNotFoundException ne = new javax.naming.NameNotFoundException(); given(this.dirContextMock.lookup(this.nameMock)).willThrow(ne); - - try { - this.tested.lookup(this.nameMock, this.contextMapperMock); - fail("NameNotFoundException expected"); - } - catch (NameNotFoundException expected) { - assertThat(true).isTrue(); - } - + assertThatExceptionOfType(NameNotFoundException.class) + .isThrownBy(() -> this.tested.lookup(this.nameMock, this.contextMapperMock)); verify(this.dirContextMock).close(); } diff --git a/core/src/test/java/org/springframework/ldap/core/LdapTemplateRenameTests.java b/core/src/test/java/org/springframework/ldap/core/LdapTemplateRenameTests.java index ae88464d1..a4ce4e9f2 100644 --- a/core/src/test/java/org/springframework/ldap/core/LdapTemplateRenameTests.java +++ b/core/src/test/java/org/springframework/ldap/core/LdapTemplateRenameTests.java @@ -26,8 +26,7 @@ import org.springframework.ldap.NameAlreadyBoundException; import org.springframework.ldap.UncategorizedLdapException; -import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import static org.mockito.BDDMockito.given; import static org.mockito.BDDMockito.mock; import static org.mockito.BDDMockito.verify; @@ -87,15 +86,8 @@ public void testRename_NameAlreadyBoundException() throws Exception { javax.naming.NameAlreadyBoundException ne = new javax.naming.NameAlreadyBoundException(); willThrow(ne).given(this.dirContextMock).rename(this.oldNameMock, this.newNameMock); - - try { - this.tested.rename(this.oldNameMock, this.newNameMock); - fail("NameAlreadyBoundException expected"); - } - catch (NameAlreadyBoundException expected) { - assertThat(true).isTrue(); - } - + assertThatExceptionOfType(NameAlreadyBoundException.class) + .isThrownBy(() -> this.tested.rename(this.oldNameMock, this.newNameMock)); verify(this.dirContextMock).close(); } @@ -106,15 +98,8 @@ public void testRename_NamingException() throws Exception { javax.naming.NamingException ne = new javax.naming.NamingException(); willThrow(ne).given(this.dirContextMock).rename(this.oldNameMock, this.newNameMock); - - try { - this.tested.rename(this.oldNameMock, this.newNameMock); - fail("UncategorizedLdapException expected"); - } - catch (UncategorizedLdapException expected) { - assertThat(true).isTrue(); - } - + assertThatExceptionOfType(UncategorizedLdapException.class) + .isThrownBy(() -> this.tested.rename(this.oldNameMock, this.newNameMock)); verify(this.dirContextMock).close(); } diff --git a/core/src/test/java/org/springframework/ldap/core/LdapTemplateTests.java b/core/src/test/java/org/springframework/ldap/core/LdapTemplateTests.java index 11f5d99d0..9e87e09ea 100644 --- a/core/src/test/java/org/springframework/ldap/core/LdapTemplateTests.java +++ b/core/src/test/java/org/springframework/ldap/core/LdapTemplateTests.java @@ -54,6 +54,9 @@ import org.springframework.ldap.support.LdapUtils; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; +import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; +import static org.assertj.core.api.Assertions.assertThatIllegalStateException; import static org.assertj.core.api.Assertions.fail; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.argThat; @@ -223,14 +226,8 @@ public void testSearch_NameNotFoundException() throws Exception { given(this.dirContextMock.search(eq(this.nameMock), eq("(ou=somevalue)"), argThat(new SearchControlsMatcher(controls)))) .willThrow(ne); - - try { - this.tested.search(this.nameMock, "(ou=somevalue)", this.handlerMock); - fail("NameNotFoundException expected"); - } - catch (NameNotFoundException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(NameNotFoundException.class) + .isThrownBy(() -> this.tested.search(this.nameMock, "(ou=somevalue)", this.handlerMock)); verify(this.dirContextMock).close(); } @@ -246,14 +243,8 @@ public void testSearch_NamingException() throws Exception { argThat(new SearchControlsMatcher(controls)))) .willThrow(ne); - try { - this.tested.search(this.nameMock, "(ou=somevalue)", this.handlerMock); - fail("LimitExceededException expected"); - } - catch (LimitExceededException expected) { - // expected - } - + assertThatExceptionOfType(LimitExceededException.class) + .isThrownBy(() -> this.tested.search(this.nameMock, "(ou=somevalue)", this.handlerMock)); verify(this.dirContextMock).close(); } @@ -650,13 +641,8 @@ public void verifyThatFindOneThrowsEmptyResultIfNoResult() throws Exception { noSearchResults(searchControlsRecursive()); - try { - this.tested.findOne(LdapQueryBuilder.query().where("ou").is("somevalue"), expectedClass); - fail("EmptyResultDataAccessException expected"); - } - catch (EmptyResultDataAccessException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(EmptyResultDataAccessException.class) + .isThrownBy(() -> this.tested.findOne(LdapQueryBuilder.query().where("ou").is("somevalue"), expectedClass)); verify(this.namingEnumerationMock).close(); verify(this.dirContextMock).close(); @@ -680,13 +666,8 @@ public void verifyThatFindOneThrowsIncorrectResultSizeDataAccessExceptionWhenMor given(this.odmMock.mapFromLdapDataEntry(expectedObject, expectedClass)).willReturn(expectedResult, expectedResult); - try { - this.tested.findOne(LdapQueryBuilder.query().where("ou").is("somevalue"), expectedClass); - fail("EmptyResultDataAccessException expected"); - } - catch (IncorrectResultSizeDataAccessException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(IncorrectResultSizeDataAccessException.class) + .isThrownBy(() -> this.tested.findOne(LdapQueryBuilder.query().where("ou").is("somevalue"), expectedClass)); verify(this.namingEnumerationMock).close(); verify(this.dirContextMock).close(); @@ -1029,14 +1010,8 @@ public void testModifyAttributes_NamingException() throws Exception { javax.naming.LimitExceededException ne = new javax.naming.LimitExceededException(); willThrow(ne).given(this.dirContextMock).modifyAttributes(this.nameMock, mods); - - try { - this.tested.modifyAttributes(this.nameMock, mods); - fail("LimitExceededException expected"); - } - catch (LimitExceededException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(LimitExceededException.class) + .isThrownBy(() -> this.tested.modifyAttributes(this.nameMock, mods)); verify(this.dirContextMock).close(); } @@ -1076,14 +1051,8 @@ public void testBind_NamingException() throws Exception { BasicAttributes expectedAttributes = new BasicAttributes(); javax.naming.NameNotFoundException ne = new javax.naming.NameNotFoundException(); willThrow(ne).given(this.dirContextMock).bind(this.nameMock, expectedObject, expectedAttributes); - - try { - this.tested.bind(this.nameMock, expectedObject, expectedAttributes); - fail("NameNotFoundException expected"); - } - catch (NameNotFoundException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(NameNotFoundException.class) + .isThrownBy(() -> this.tested.bind(this.nameMock, expectedObject, expectedAttributes)); verify(this.dirContextMock).close(); } @@ -1144,13 +1113,7 @@ public void testCreateWithNoIdAvailableThrows() throws NamingException { given(this.odmMock.getId(expectedObject)).willReturn(null); given(this.odmMock.getCalculatedId(expectedObject)).willReturn(null); - try { - this.tested.create(expectedObject); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } + assertThatIllegalArgumentException().isThrownBy(() -> this.tested.create(expectedObject)); } @Test @@ -1349,14 +1312,7 @@ public void testUnbind_NamingException() throws Exception { javax.naming.NameNotFoundException ne = new javax.naming.NameNotFoundException(); willThrow(ne).given(this.dirContextMock).unbind(this.nameMock); - try { - this.tested.unbind(this.nameMock); - fail("NameNotFoundException expected"); - } - catch (NameNotFoundException expected) { - assertThat(true).isTrue(); - } - + assertThatExceptionOfType(NameNotFoundException.class).isThrownBy(() -> this.tested.unbind(this.nameMock)); verify(this.dirContextMock).close(); } @@ -1381,13 +1337,8 @@ public void testExecuteReadOnly_NamingException() throws Exception { javax.naming.NameNotFoundException ne = new javax.naming.NameNotFoundException(); given(this.contextExecutorMock.executeWithContext(this.dirContextMock)).willThrow(ne); - try { - this.tested.executeReadOnly(this.contextExecutorMock); - fail("NameNotFoundException expected"); - } - catch (NameNotFoundException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(NameNotFoundException.class) + .isThrownBy(() -> this.tested.executeReadOnly(this.contextExecutorMock)); verify(this.dirContextMock).close(); } @@ -1412,15 +1363,8 @@ public void testExecuteReadWrite_NamingException() throws Exception { javax.naming.NameNotFoundException ne = new javax.naming.NameNotFoundException(); given(this.contextExecutorMock.executeWithContext(this.dirContextMock)).willThrow(ne); - - try { - this.tested.executeReadWrite(this.contextExecutorMock); - fail("NameNotFoundException expected"); - } - catch (NameNotFoundException expected) { - assertThat(true).isTrue(); - } - + assertThatExceptionOfType(NameNotFoundException.class) + .isThrownBy(() -> this.tested.executeReadWrite(this.contextExecutorMock)); verify(this.dirContextMock).close(); } @@ -1450,15 +1394,8 @@ public void testDoSearch_DirContextProcessor_NamingException() throws Exception javax.naming.LimitExceededException ne = new javax.naming.LimitExceededException(); given(this.searchExecutorMock.executeSearch(this.dirContextMock)).willThrow(ne); - - try { - this.tested.search(this.searchExecutorMock, this.handlerMock, this.dirContextProcessorMock); - fail("LimitExceededException expected"); - } - catch (LimitExceededException expected) { - assertThat(true).isTrue(); - } - + assertThatExceptionOfType(LimitExceededException.class).isThrownBy( + () -> this.tested.search(this.searchExecutorMock, this.handlerMock, this.dirContextProcessorMock)); verify(this.dirContextProcessorMock).preProcess(this.dirContextMock); verify(this.dirContextProcessorMock).postProcess(this.dirContextMock); verify(this.dirContextMock).close(); @@ -1488,15 +1425,8 @@ public void testDoSearch_NamingException() throws Exception { javax.naming.LimitExceededException ne = new javax.naming.LimitExceededException(); given(this.searchExecutorMock.executeSearch(this.dirContextMock)).willThrow(ne); - - try { - this.tested.search(this.searchExecutorMock, this.handlerMock); - fail("LimitExceededException expected"); - } - catch (LimitExceededException expected) { - assertThat(true).isTrue(); - } - + assertThatExceptionOfType(LimitExceededException.class) + .isThrownBy(() -> this.tested.search(this.searchExecutorMock, this.handlerMock)); verify(this.dirContextMock).close(); } @@ -1508,15 +1438,8 @@ public void testDoSearch_NamingException_NamingEnumeration() throws Exception { javax.naming.LimitExceededException ne = new javax.naming.LimitExceededException(); given(this.namingEnumerationMock.hasMore()).willThrow(ne); - - try { - this.tested.search(this.searchExecutorMock, this.handlerMock); - fail("LimitExceededException expected"); - } - catch (LimitExceededException expected) { - assertThat(true).isTrue(); - } - + assertThatExceptionOfType(LimitExceededException.class) + .isThrownBy(() -> this.tested.search(this.searchExecutorMock, this.handlerMock)); verify(this.namingEnumerationMock).close(); verify(this.dirContextMock).close(); } @@ -1527,15 +1450,8 @@ public void testDoSearch_NameNotFoundException() throws Exception { given(this.searchExecutorMock.executeSearch(this.dirContextMock)) .willThrow(new javax.naming.NameNotFoundException()); - - try { - this.tested.search(this.searchExecutorMock, this.handlerMock); - fail("NameNotFoundException expected"); - } - catch (NameNotFoundException expected) { - assertThat(true).isTrue(); - } - + assertThatExceptionOfType(NameNotFoundException.class) + .isThrownBy(() -> this.tested.search(this.searchExecutorMock, this.handlerMock)); verify(this.dirContextMock).close(); } @@ -1546,13 +1462,8 @@ public void testSearch_PartialResult_IgnoreNotSet() throws Exception { javax.naming.PartialResultException ex = new javax.naming.PartialResultException(); given(this.searchExecutorMock.executeSearch(this.dirContextMock)).willThrow(ex); - try { - this.tested.search(this.searchExecutorMock, this.handlerMock, this.dirContextProcessorMock); - fail("PartialResultException expected"); - } - catch (PartialResultException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(PartialResultException.class).isThrownBy( + () -> this.tested.search(this.searchExecutorMock, this.handlerMock, this.dirContextProcessorMock)); verify(this.dirContextProcessorMock).preProcess(this.dirContextMock); verify(this.dirContextProcessorMock).postProcess(this.dirContextMock); @@ -1642,13 +1553,7 @@ public void modifyAttributes(Name dn, ModificationItem[] mods) { } }; - try { - tested.modifyAttributes(this.dirContextOperationsMock); - fail("IllegalStateException expected"); - } - catch (IllegalStateException expected) { - assertThat(true).isTrue(); - } + assertThatIllegalStateException().isThrownBy(() -> this.tested.modifyAttributes(this.dirContextOperationsMock)); } @Test @@ -1661,13 +1566,7 @@ public void modifyAttributes(Name dn, ModificationItem[] mods) { } }; - try { - tested.modifyAttributes(this.dirContextOperationsMock); - fail("IllegalStateException expected"); - } - catch (IllegalStateException expected) { - assertThat(true).isTrue(); - } + assertThatIllegalStateException().isThrownBy(() -> this.tested.modifyAttributes(this.dirContextOperationsMock)); } @Test @@ -1710,13 +1609,8 @@ public void testSearchForObjectWithMultipleResults() throws Exception { given(this.contextMapperMock.mapFromContext(expectedObject)).willReturn(expectedResult); given(this.contextMapperMock.mapFromContext(expectedObject)).willReturn(expectedResult); - try { - this.tested.searchForObject(this.nameMock, "(ou=somevalue)", this.contextMapperMock); - fail("IncorrectResultSizeDataAccessException expected"); - } - catch (IncorrectResultSizeDataAccessException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(IncorrectResultSizeDataAccessException.class) + .isThrownBy(() -> this.tested.searchForObject(this.nameMock, "(ou=somevalue)", this.contextMapperMock)); verify(this.namingEnumerationMock).close(); verify(this.dirContextMock).close(); @@ -1727,15 +1621,8 @@ public void testSearchForObjectWithNoResults() throws Exception { expectGetReadOnlyContext(); noSearchResults(searchControlsRecursive()); - - try { - this.tested.searchForObject(this.nameMock, "(ou=somevalue)", this.contextMapperMock); - fail("EmptyResultDataAccessException expected"); - } - catch (EmptyResultDataAccessException expected) { - assertThat(true).isTrue(); - } - + assertThatExceptionOfType(EmptyResultDataAccessException.class) + .isThrownBy(() -> this.tested.searchForObject(this.nameMock, "(ou=somevalue)", this.contextMapperMock)); verify(this.dirContextMock).close(); } @@ -1773,14 +1660,8 @@ public void testAuthenticateWithTwoUsersFoundShouldThrowException() throws Excep SearchResult searchResult2 = new SearchResult("", expectedObject, new BasicAttributes()); setupSearchResults(searchControlsRecursive(), new SearchResult[] { searchResult1, searchResult2 }); - - try { - this.tested.authenticate(this.nameMock, "(ou=somevalue)", "password", this.entryContextCallbackMock); - fail("IncorrectResultSizeDataAccessException expected"); - } - catch (IncorrectResultSizeDataAccessException expected) { - // expected - } + assertThatExceptionOfType(IncorrectResultSizeDataAccessException.class).isThrownBy(() -> this.tested + .authenticate(this.nameMock, "(ou=somevalue)", "password", this.entryContextCallbackMock)); verify(this.dirContextMock).close(); } @@ -1809,13 +1690,8 @@ public void testAuthenticateQueryPasswordMapperWhenNoUserWasFoundShouldThrowEmpt .willReturn(this.namingEnumerationMock); given(this.namingEnumerationMock.hasMore()).willReturn(false); - - try { - this.tested.authenticate(this.query, "", this.authContextMapperMock); - fail("Expected Exception"); - } - catch (EmptyResultDataAccessException success) { - } + assertThatExceptionOfType(EmptyResultDataAccessException.class) + .isThrownBy(() -> this.tested.authenticate(this.query, "", this.authContextMapperMock)); verify(this.dirContextMock).close(); } @@ -1830,12 +1706,8 @@ public void testAuthenticateQueryPasswordWhenNoUserWasFoundShouldThrowEmptyResul given(this.namingEnumerationMock.hasMore()).willReturn(false); - try { - this.tested.authenticate(this.query, ""); - fail("Expected Exception"); - } - catch (EmptyResultDataAccessException success) { - } + assertThatExceptionOfType(EmptyResultDataAccessException.class) + .isThrownBy(() -> this.tested.authenticate(this.query, "")); verify(this.dirContextMock).close(); } diff --git a/core/src/test/java/org/springframework/ldap/core/support/RangeOptionTests.java b/core/src/test/java/org/springframework/ldap/core/support/RangeOptionTests.java index 684563b23..6835daf2c 100644 --- a/core/src/test/java/org/springframework/ldap/core/support/RangeOptionTests.java +++ b/core/src/test/java/org/springframework/ldap/core/support/RangeOptionTests.java @@ -19,7 +19,8 @@ import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; +import static org.assertj.core.api.Assertions.assertThatIllegalStateException; /** * IncrementalAttributesMapper Tester. @@ -30,41 +31,10 @@ public class RangeOptionTests { @Test public void testConstructorInvalid() { - try { - new RangeOption(101, 100); - - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } - - try { - new RangeOption(-1, 100); - - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } - - try { - new RangeOption(-10, 100); - - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } - - try { - new RangeOption(0, -3); - - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } + assertThatIllegalArgumentException().isThrownBy(() -> new RangeOption(101, 100)); + assertThatIllegalArgumentException().isThrownBy(() -> new RangeOption(-1, 100)); + assertThatIllegalArgumentException().isThrownBy(() -> new RangeOption(-10, 100)); + assertThatIllegalArgumentException().isThrownBy(() -> new RangeOption(0, -3)); } @Test @@ -143,41 +113,12 @@ public void testCompare() { @Test public void testCompareInvalid() { - RangeOption range1 = RangeOption.parse("Range=10-500"); - RangeOption range2 = RangeOption.parse("Range=11-500"); - - try { - assertThat(range1.compareTo(range2) == 0).isTrue(); - - fail("IllegalStateException expected"); - } - catch (IllegalStateException expected) { - assertThat(true).isTrue(); - } - - range1 = RangeOption.parse("Range=10"); - range2 = RangeOption.parse("Range=10-500"); - - try { - assertThat(range1.compareTo(range2) == 0).isTrue(); - - fail("IllegalStateException expected"); - } - catch (IllegalStateException expected) { - assertThat(true).isTrue(); - } - - range1 = RangeOption.parse("Range=10-500"); - range2 = RangeOption.parse("Range=10"); - - try { - assertThat(range1.compareTo(range2) == 0).isTrue(); - - fail("IllegalStateException expected"); - } - catch (IllegalStateException expected) { - assertThat(true).isTrue(); - } + assertThatIllegalStateException() + .isThrownBy(() -> RangeOption.parse("Range=10-500").compareTo(RangeOption.parse("Range=11-500"))); + assertThatIllegalStateException() + .isThrownBy(() -> RangeOption.parse("Range=10").compareTo(RangeOption.parse("Range=10-500"))); + assertThatIllegalStateException() + .isThrownBy(() -> RangeOption.parse("Range=10-500").compareTo(RangeOption.parse("Range=10"))); } @Test diff --git a/core/src/test/java/org/springframework/ldap/odm/core/impl/DefaultObjectDirectoryMapperTests.java b/core/src/test/java/org/springframework/ldap/odm/core/impl/DefaultObjectDirectoryMapperTests.java index a93c6a8a2..00efc772b 100644 --- a/core/src/test/java/org/springframework/ldap/odm/core/impl/DefaultObjectDirectoryMapperTests.java +++ b/core/src/test/java/org/springframework/ldap/odm/core/impl/DefaultObjectDirectoryMapperTests.java @@ -110,12 +110,9 @@ public void testMapping() { @Test public void testInvalidType() { - try { - this.tested.manageClass(UnitTestPersonWithInvalidFieldType.class); - } - catch (InvalidEntryException expected) { - assertThat(expected.getMessage()).contains("Missing converter from"); - } + assertThatExceptionOfType(InvalidEntryException.class) + .isThrownBy(() -> this.tested.manageClass(UnitTestPersonWithInvalidFieldType.class)) + .withMessageContaining("Missing converter from"); } @Test diff --git a/core/src/test/java/org/springframework/ldap/pool/DelegatingContextTests.java b/core/src/test/java/org/springframework/ldap/pool/DelegatingContextTests.java index 1fed9cab6..c008f92ec 100644 --- a/core/src/test/java/org/springframework/ldap/pool/DelegatingContextTests.java +++ b/core/src/test/java/org/springframework/ldap/pool/DelegatingContextTests.java @@ -24,7 +24,8 @@ import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; +import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; import static org.mockito.BDDMockito.mock; import static org.mockito.BDDMockito.times; import static org.mockito.BDDMockito.verify; @@ -38,29 +39,12 @@ public class DelegatingContextTests extends AbstractPoolTestCase { @Test public void testConstructorAssertions() { - try { - new DelegatingContext(null, contextMock, DirContextType.READ_ONLY); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } - - try { - new DelegatingContext(keyedObjectPoolMock, null, DirContextType.READ_ONLY); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } - - try { - new DelegatingContext(keyedObjectPoolMock, contextMock, null); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } + assertThatIllegalArgumentException() + .isThrownBy(() -> new DelegatingContext(null, contextMock, DirContextType.READ_ONLY)); + assertThatIllegalArgumentException() + .isThrownBy(() -> new DelegatingContext(this.keyedObjectPoolMock, null, DirContextType.READ_ONLY)); + assertThatIllegalArgumentException() + .isThrownBy(() -> new DelegatingContext(this.keyedObjectPoolMock, this.contextMock, null)); } @Test @@ -100,13 +84,7 @@ public void testHelperMethods() throws Exception { final Context innerDelegateContext2closed = delegatingContext2.getInnermostDelegateContext(); assertThat(innerDelegateContext2closed).isNull(); - try { - delegatingContext2.assertOpen(); - fail("delegatingContext2.assertOpen() should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext2.assertOpen()); // Close the outer wrapper delegatingContext.close(); @@ -117,13 +95,7 @@ public void testHelperMethods() throws Exception { final Context innerDelegateContextclosed = delegatingContext.getInnermostDelegateContext(); assertThat(innerDelegateContextclosed).isNull(); - try { - delegatingContext.assertOpen(); - fail("delegatingContext.assertOpen() should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext2.assertOpen()); verify(keyedObjectPoolMock).returnObject(DirContextType.READ_ONLY, contextMock); verify(secondKeyedObjectPoolMock).returnObject(DirContextType.READ_ONLY, contextMock); @@ -168,48 +140,23 @@ public void testUnsupportedMethods() throws Exception { final DelegatingContext delegatingContext = new DelegatingContext(keyedObjectPoolMock, contextMock, DirContextType.READ_ONLY); - try { - delegatingContext.addToEnvironment(null, null); - fail("DelegatingContext.addToEnvironment Should have thrown an UnsupportedOperationException"); - } - catch (UnsupportedOperationException uoe) { - // Expected - } - try { - delegatingContext.createSubcontext((Name) null); - fail("DelegatingContext.createSubcontext Should have thrown an UnsupportedOperationException"); - } - catch (UnsupportedOperationException uoe) { - // Expected - } - try { - delegatingContext.createSubcontext((String) null); - fail("DelegatingContext.createSubcontext Should have thrown an UnsupportedOperationException"); - } - catch (UnsupportedOperationException uoe) { - // Expected - } - try { - delegatingContext.destroySubcontext((Name) null); - fail("DelegatingContext.destroySubcontext Should have thrown an UnsupportedOperationException"); - } - catch (UnsupportedOperationException uoe) { - // Expected - } - try { - delegatingContext.destroySubcontext((String) null); - fail("DelegatingContext.destroySubcontext Should have thrown an UnsupportedOperationException"); - } - catch (UnsupportedOperationException uoe) { - // Expected - } - try { - delegatingContext.removeFromEnvironment(null); - fail("DelegatingContext.removeFromEnvironment Should have thrown an UnsupportedOperationException"); - } - catch (UnsupportedOperationException uoe) { - // Expected - } + assertThatExceptionOfType(UnsupportedOperationException.class) + .isThrownBy(() -> delegatingContext.addToEnvironment(null, null)); + + assertThatExceptionOfType(UnsupportedOperationException.class) + .isThrownBy(() -> delegatingContext.createSubcontext((Name) null)); + + assertThatExceptionOfType(UnsupportedOperationException.class) + .isThrownBy(() -> delegatingContext.createSubcontext((String) null)); + + assertThatExceptionOfType(UnsupportedOperationException.class) + .isThrownBy(() -> delegatingContext.destroySubcontext((Name) null)); + + assertThatExceptionOfType(UnsupportedOperationException.class) + .isThrownBy(() -> delegatingContext.destroySubcontext((String) null)); + + assertThatExceptionOfType(UnsupportedOperationException.class) + .isThrownBy(() -> delegatingContext.removeFromEnvironment(null)); } @Test @@ -248,160 +195,55 @@ public void testAllMethodsClosed() throws Exception { delegatingContext.close(); - try { - delegatingContext.bind((Name) null, null); - fail("DelegatingContext.bind should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.bind((String) null, null); - fail("DelegatingContext.bind should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.composeName((Name) null, (Name) null); - fail("DelegatingContext.composeName should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.composeName((String) null, (String) null); - fail("DelegatingContext.composeName should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.getEnvironment(); - fail("DelegatingContext.getEnvironment should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.getNameInNamespace(); - fail("DelegatingContext.getNameInNamespace should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.getNameParser((Name) null); - fail("DelegatingContext.getNameParser should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.getNameParser((String) null); - fail("DelegatingContext.getNameParser should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.list((Name) null); - fail("DelegatingContext.list should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.list((String) null); - fail("DelegatingContext.list should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.listBindings((Name) null); - fail("DelegatingContext.listBindings should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.listBindings((String) null); - fail("DelegatingContext.listBindings should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.lookup((Name) null); - fail("DelegatingContext.lookup should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.lookup((String) null); - fail("DelegatingContext.lookup should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.lookupLink((Name) null); - fail("DelegatingContext.lookupLink should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.lookupLink((String) null); - fail("DelegatingContext.lookupLink should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.rebind((Name) null, null); - fail("DelegatingContext.rebind should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.rebind((String) null, null); - fail("DelegatingContext.rebind should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.rename((Name) null, (Name) null); - fail("DelegatingContext.rename should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.rename((String) null, (String) null); - fail("DelegatingContext.rename should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.unbind((Name) null); - fail("DelegatingContext.unbind should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.unbind((String) null); - fail("DelegatingContext.unbind should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.bind((Name) null, null)); + + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.bind((String) null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingContext.composeName(null, (Name) null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingContext.composeName(null, (String) null)); + + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.getEnvironment()); + + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.getNameInNamespace()); + + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.getNameParser((Name) null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingContext.getNameParser((String) null)); + + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.list((Name) null)); + + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.list((String) null)); + + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.listBindings((Name) null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingContext.listBindings((String) null)); + + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.lookup((Name) null)); + + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.lookup((String) null)); + + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.lookupLink((Name) null)); + + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.lookupLink((String) null)); + + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.rebind((Name) null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingContext.rebind((String) null, null)); + + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.rename(null, (Name) null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingContext.rename(null, (String) null)); + + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.unbind((Name) null)); + + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.unbind((String) null)); verify(keyedObjectPoolMock).returnObject(DirContextType.READ_ONLY, contextMock); } @@ -427,13 +269,7 @@ public void testPoolExceptionOnClose() throws Exception { final DelegatingContext delegatingContext = new DelegatingContext(keyedObjectPoolMock, contextMock, DirContextType.READ_ONLY); - try { - delegatingContext.close(); - fail("DelegatingContext.close should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.close()); } } diff --git a/core/src/test/java/org/springframework/ldap/pool/DelegatingDirContextTests.java b/core/src/test/java/org/springframework/ldap/pool/DelegatingDirContextTests.java index dd664b762..edacccad3 100644 --- a/core/src/test/java/org/springframework/ldap/pool/DelegatingDirContextTests.java +++ b/core/src/test/java/org/springframework/ldap/pool/DelegatingDirContextTests.java @@ -26,7 +26,8 @@ import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; +import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -39,21 +40,10 @@ public class DelegatingDirContextTests extends AbstractPoolTestCase { @Test public void testConstructorAssertions() { - try { - new DelegatingDirContext(keyedObjectPoolMock, null, DirContextType.READ_ONLY); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } - - try { - new DelegatingDirContext(keyedObjectPoolMock, dirContextMock, null); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } + assertThatIllegalArgumentException() + .isThrownBy(() -> new DelegatingDirContext(keyedObjectPoolMock, null, DirContextType.READ_ONLY)); + assertThatIllegalArgumentException() + .isThrownBy(() -> new DelegatingDirContext(keyedObjectPoolMock, dirContextMock, null)); } @Test @@ -97,13 +87,7 @@ public void testHelperMethods() throws Exception { final DirContext innerDelegateContext2closed = delegatingDirContext2.getInnermostDelegateDirContext(); assertThat(innerDelegateContext2closed).isNull(); - try { - delegatingDirContext2.assertOpen(); - fail("delegatingDirContext2.assertOpen() should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingDirContext2.assertOpen()); // Close the outer wrapper delegatingDirContext.close(); @@ -114,13 +98,7 @@ public void testHelperMethods() throws Exception { final DirContext innerDelegateDirContextClosed = delegatingDirContext.getInnermostDelegateDirContext(); assertThat(innerDelegateDirContextClosed).isNull(); - try { - delegatingDirContext.assertOpen(); - fail("delegatingDirContext.assertOpen() should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingDirContext.assertOpen()); verify(secondKeyedObjectPoolMock).returnObject(DirContextType.READ_ONLY, dirContextMock); verify(keyedObjectPoolMock).returnObject(DirContextType.READ_ONLY, dirContextMock); @@ -167,48 +145,18 @@ public void testUnsupportedMethods() throws Exception { final DelegatingDirContext delegatingDirContext = new DelegatingDirContext(keyedObjectPoolMock, dirContextMock, DirContextType.READ_ONLY); - try { - delegatingDirContext.createSubcontext((Name) null, null); - fail("DelegatingDirContext.createSubcontext Should have thrown an UnsupportedOperationException"); - } - catch (UnsupportedOperationException uoe) { - // Expected - } - try { - delegatingDirContext.createSubcontext((String) null, null); - fail("DelegatingDirContext.createSubcontext Should have thrown an UnsupportedOperationException"); - } - catch (UnsupportedOperationException uoe) { - // Expected - } - try { - delegatingDirContext.getSchema((Name) null); - fail("DelegatingDirContext.getSchema Should have thrown an UnsupportedOperationException"); - } - catch (UnsupportedOperationException uoe) { - // Expected - } - try { - delegatingDirContext.getSchema((String) null); - fail("DelegatingDirContext.getSchema Should have thrown an UnsupportedOperationException"); - } - catch (UnsupportedOperationException uoe) { - // Expected - } - try { - delegatingDirContext.getSchemaClassDefinition((Name) null); - fail("DelegatingDirContext.getSchemaClassDefinition Should have thrown an UnsupportedOperationException"); - } - catch (UnsupportedOperationException uoe) { - // Expected - } - try { - delegatingDirContext.getSchemaClassDefinition((String) null); - fail("DelegatingDirContext.getSchemaClassDefinition Should have thrown an UnsupportedOperationException"); - } - catch (UnsupportedOperationException uoe) { - // Expected - } + assertThatExceptionOfType(UnsupportedOperationException.class) + .isThrownBy(() -> delegatingDirContext.createSubcontext((Name) null, null)); + assertThatExceptionOfType(UnsupportedOperationException.class) + .isThrownBy(() -> delegatingDirContext.createSubcontext((String) null, null)); + assertThatExceptionOfType(UnsupportedOperationException.class) + .isThrownBy(() -> delegatingDirContext.getSchema((Name) null)); + assertThatExceptionOfType(UnsupportedOperationException.class) + .isThrownBy(() -> delegatingDirContext.getSchema((String) null)); + assertThatExceptionOfType(UnsupportedOperationException.class) + .isThrownBy(() -> delegatingDirContext.getSchemaClassDefinition((Name) null)); + assertThatExceptionOfType(UnsupportedOperationException.class) + .isThrownBy(() -> delegatingDirContext.getSchemaClassDefinition((String) null)); } @Test @@ -245,146 +193,65 @@ public void testAllMethodsClosed() throws Exception { delegatingDirContext.close(); - try { - delegatingDirContext.bind((Name) null, null, null); - fail("DelegatingDirContext.bind should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.bind((String) null, null, null); - fail("DelegatingDirContext.bind should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.getAttributes((Name) null, null); - fail("DelegatingDirContext.getAttributes should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.getAttributes((Name) null); - fail("DelegatingDirContext.getAttributes should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.getAttributes((String) null, null); - fail("DelegatingDirContext.getAttributes should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.getAttributes((String) null); - fail("DelegatingDirContext.getAttributes should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.modifyAttributes((Name) null, 0, null); - fail("DelegatingDirContext.modifyAttributes should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.modifyAttributes((Name) null, null); - fail("DelegatingDirContext.modifyAttributes should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.modifyAttributes((String) null, 0, null); - fail("DelegatingDirContext.modifyAttributes should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.modifyAttributes((String) null, null); - fail("DelegatingDirContext.modifyAttributes should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.rebind((Name) null, null, null); - fail("DelegatingDirContext.rebind should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.rebind((String) null, null, null); - fail("DelegatingDirContext.rebind should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.search((Name) null, (Attributes) null, null); - fail("DelegatingDirContext.search should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.search((Name) null, null); - fail("DelegatingDirContext.search should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.search((Name) null, null, null, null); - fail("DelegatingDirContext.search should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.search((Name) null, (String) null, null); - fail("DelegatingDirContext.search should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.search((String) null, (Attributes) null, null); - fail("DelegatingDirContext.search should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.search((String) null, null); - fail("DelegatingDirContext.search should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.search((String) null, null, null, null); - fail("DelegatingDirContext.search should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.search((String) null, (String) null, null); - fail("DelegatingDirContext.search should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.bind((Name) null, null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.bind((String) null, null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.getAttributes((Name) null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.getAttributes((Name) null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.getAttributes((String) null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.getAttributes((String) null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.modifyAttributes((Name) null, 0, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.modifyAttributes((Name) null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.modifyAttributes((String) null, 0, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.modifyAttributes((String) null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.rebind((Name) null, null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.rebind((String) null, null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.search((Name) null, (Attributes) null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.search((Name) null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.search((Name) null, null, null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.search((Name) null, (String) null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.search((String) null, (Attributes) null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.search((String) null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.search((String) null, null, null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.search((String) null, (String) null, null)); verify(keyedObjectPoolMock).returnObject(DirContextType.READ_ONLY, dirContextMock); } diff --git a/core/src/test/java/org/springframework/ldap/pool/DelegatingLdapContextTests.java b/core/src/test/java/org/springframework/ldap/pool/DelegatingLdapContextTests.java index a2367ad89..2d099d863 100644 --- a/core/src/test/java/org/springframework/ldap/pool/DelegatingLdapContextTests.java +++ b/core/src/test/java/org/springframework/ldap/pool/DelegatingLdapContextTests.java @@ -24,7 +24,8 @@ import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; +import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -37,21 +38,10 @@ public class DelegatingLdapContextTests extends AbstractPoolTestCase { @Test public void testConstructorAssertions() { - try { - new DelegatingLdapContext(keyedObjectPoolMock, null, DirContextType.READ_ONLY); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } - - try { - new DelegatingLdapContext(keyedObjectPoolMock, ldapContextMock, null); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } + assertThatIllegalArgumentException() + .isThrownBy(() -> new DelegatingLdapContext(keyedObjectPoolMock, null, DirContextType.READ_ONLY)); + assertThatIllegalArgumentException() + .isThrownBy(() -> new DelegatingLdapContext(keyedObjectPoolMock, ldapContextMock, null)); } @Test @@ -93,14 +83,7 @@ public void testHelperMethods() throws Exception { final LdapContext innerDelegateContext2closed = delegatingLdapContext2.getInnermostDelegateLdapContext(); assertThat(innerDelegateContext2closed).isNull(); - - try { - delegatingLdapContext2.assertOpen(); - fail("delegatingLdapContext2.assertOpen() should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingLdapContext2.assertOpen()); // Close the outer wrapper delegatingLdapContext.close(); @@ -110,14 +93,7 @@ public void testHelperMethods() throws Exception { final LdapContext innerDelegateLdapContextClosed = delegatingLdapContext.getInnermostDelegateLdapContext(); assertThat(innerDelegateLdapContextClosed).isNull(); - - try { - delegatingLdapContext.assertOpen(); - fail("delegatingLdapContext.assertOpen() should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingLdapContext.assertOpen()); verify(secondKeyedObjectPoolMock).returnObject(DirContextType.READ_ONLY, ldapContextMock); verify(keyedObjectPoolMock).returnObject(DirContextType.READ_ONLY, ldapContextMock); @@ -162,28 +138,12 @@ public void testObjectMethods() throws Exception { public void testUnsupportedMethods() throws Exception { final DelegatingLdapContext delegatingLdapContext = new DelegatingLdapContext(keyedObjectPoolMock, ldapContextMock, DirContextType.READ_ONLY); - - try { - delegatingLdapContext.newInstance(null); - fail("DelegatingLdapContext.newInstance Should have thrown an UnsupportedOperationException"); - } - catch (UnsupportedOperationException uoe) { - // Expected - } - try { - delegatingLdapContext.reconnect(null); - fail("DelegatingLdapContext.reconnect Should have thrown an UnsupportedOperationException"); - } - catch (UnsupportedOperationException uoe) { - // Expected - } - try { - delegatingLdapContext.setRequestControls(null); - fail("DelegatingLdapContext.setRequestControls Should have thrown an UnsupportedOperationException"); - } - catch (UnsupportedOperationException uoe) { - // Expected - } + assertThatExceptionOfType(UnsupportedOperationException.class) + .isThrownBy(() -> delegatingLdapContext.newInstance(null)); + assertThatExceptionOfType(UnsupportedOperationException.class) + .isThrownBy(() -> delegatingLdapContext.reconnect(null)); + assertThatExceptionOfType(UnsupportedOperationException.class) + .isThrownBy(() -> delegatingLdapContext.setRequestControls(null)); } // nice @@ -205,34 +165,11 @@ public void testAllMethodsClosed() throws Exception { delegatingLdapContext.close(); - try { - delegatingLdapContext.extendedOperation(null); - fail("DelegatingLdapContext.extendedOperation should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingLdapContext.getConnectControls(); - fail("DelegatingLdapContext.getConnectControls should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingLdapContext.getRequestControls(); - fail("DelegatingLdapContext.getRequestControls should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingLdapContext.getResponseControls(); - fail("DelegatingLdapContext.getResponseControls should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingLdapContext.extendedOperation(null)); + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingLdapContext.getConnectControls()); + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingLdapContext.getRequestControls()); + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingLdapContext.getResponseControls()); verify(keyedObjectPoolMock).returnObject(DirContextType.READ_ONLY, ldapContextMock); } diff --git a/core/src/test/java/org/springframework/ldap/pool/factory/DirContextPoolableObjectFactoryTests.java b/core/src/test/java/org/springframework/ldap/pool/factory/DirContextPoolableObjectFactoryTests.java index 46cafb200..7112d3eb3 100644 --- a/core/src/test/java/org/springframework/ldap/pool/factory/DirContextPoolableObjectFactoryTests.java +++ b/core/src/test/java/org/springframework/ldap/pool/factory/DirContextPoolableObjectFactoryTests.java @@ -32,7 +32,7 @@ import org.springframework.util.ReflectionUtils; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; import static org.mockito.BDDMockito.given; import static org.mockito.BDDMockito.mock; import static org.mockito.BDDMockito.verify; @@ -47,25 +47,13 @@ public class DirContextPoolableObjectFactoryTests extends AbstractPoolTestCase { public void testProperties() throws Exception { final DirContextPoolableObjectFactory objectFactory = new DirContextPoolableObjectFactory(contextSourceMock); - try { - objectFactory.setContextSource(null); - fail("DirContextPoolableObjectFactory.setContextSource should have thrown an IllegalArgumentException"); - } - catch (IllegalArgumentException iae) { - // Expected - } + assertThatIllegalArgumentException().isThrownBy(() -> objectFactory.setContextSource(null)); objectFactory.setContextSource(contextSourceMock); final ContextSource contextSource2 = objectFactory.getContextSource(); assertThat(contextSource2).isEqualTo(contextSourceMock); - try { - objectFactory.setDirContextValidator(null); - fail("DirContextPoolableObjectFactory.setDirContextValidator should have thrown an IllegalArgumentException"); - } - catch (IllegalArgumentException iae) { - // Expected - } + assertThatIllegalArgumentException().isThrownBy(() -> objectFactory.setDirContextValidator(null)); objectFactory.setDirContextValidator(dirContextValidatorMock); final DirContextValidator dirContextValidator2 = objectFactory.getDirContextValidator(); @@ -76,23 +64,11 @@ public void testProperties() throws Exception { public void testMakeObjectAssertions() throws Exception { final DirContextPoolableObjectFactory objectFactory = new DirContextPoolableObjectFactory(contextSourceMock); - try { - objectFactory.makeObject(DirContextType.READ_ONLY); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } + assertThatIllegalArgumentException().isThrownBy(() -> objectFactory.makeObject(DirContextType.READ_ONLY)); objectFactory.setContextSource(contextSourceMock); - try { - objectFactory.makeObject(null); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } + assertThatIllegalArgumentException().isThrownBy(() -> objectFactory.makeObject(null)); } @Test @@ -127,38 +103,13 @@ public void testMakeObjectReadWrite() throws Exception { @Test public void testValidateObjectAssertions() throws Exception { final DirContextPoolableObjectFactory objectFactory = new DirContextPoolableObjectFactory(contextSourceMock); - - try { - objectFactory.validateObject(null, dirContextMock); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } - - try { - objectFactory.validateObject(new Object(), dirContextMock); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } - - try { - objectFactory.validateObject(DirContextType.READ_ONLY, null); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } - - try { - objectFactory.validateObject(DirContextType.READ_ONLY, new Object()); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } + assertThatIllegalArgumentException().isThrownBy(() -> objectFactory.validateObject(null, dirContextMock)); + assertThatIllegalArgumentException() + .isThrownBy(() -> objectFactory.validateObject(new Object(), dirContextMock)); + assertThatIllegalArgumentException() + .isThrownBy(() -> objectFactory.validateObject(DirContextType.READ_ONLY, null)); + assertThatIllegalArgumentException() + .isThrownBy(() -> objectFactory.validateObject(DirContextType.READ_ONLY, new Object())); } @Test @@ -185,22 +136,10 @@ public void testValidateObject() throws Exception { @Test public void testDestroyObjectAssertions() throws Exception { final DirContextPoolableObjectFactory objectFactory = new DirContextPoolableObjectFactory(contextSourceMock); - - try { - objectFactory.destroyObject(DirContextType.READ_ONLY, null); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } - - try { - objectFactory.validateObject(DirContextType.READ_ONLY, new Object()); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } + assertThatIllegalArgumentException() + .isThrownBy(() -> objectFactory.destroyObject(DirContextType.READ_ONLY, null)); + assertThatIllegalArgumentException() + .isThrownBy(() -> objectFactory.validateObject(DirContextType.READ_ONLY, new Object())); } @Test diff --git a/core/src/test/java/org/springframework/ldap/pool/factory/PoolingContextSourceTests.java b/core/src/test/java/org/springframework/ldap/pool/factory/PoolingContextSourceTests.java index 24e62197a..a1de4e500 100644 --- a/core/src/test/java/org/springframework/ldap/pool/factory/PoolingContextSourceTests.java +++ b/core/src/test/java/org/springframework/ldap/pool/factory/PoolingContextSourceTests.java @@ -28,7 +28,8 @@ import org.springframework.ldap.pool.validation.DirContextValidator; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; +import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; import static org.mockito.BDDMockito.given; import static org.mockito.BDDMockito.mock; @@ -41,24 +42,14 @@ public class PoolingContextSourceTests extends AbstractPoolTestCase { public void testProperties() throws Exception { final PoolingContextSource poolingContextSource = new PoolingContextSource(); - try { - poolingContextSource.setContextSource(null); - fail("PoolingContextSource.setBaseName should have thrown an IllegalArgumentException"); - } - catch (IllegalArgumentException iae) { - // Expected - } + assertThatIllegalArgumentException().isThrownBy(() -> poolingContextSource.setContextSource(null)); + poolingContextSource.setContextSource(contextSourceMock); final ContextSource contextSource2 = poolingContextSource.getContextSource(); assertThat(contextSource2).isEqualTo(contextSourceMock); - try { - poolingContextSource.setDirContextValidator(null); - fail("PoolingContextSource.setDirContextValidator should have thrown an IllegalArgumentException"); - } - catch (IllegalArgumentException iae) { - // Expected - } + assertThatIllegalArgumentException().isThrownBy(() -> poolingContextSource.setDirContextValidator(null)); + poolingContextSource.setDirContextValidator(dirContextValidatorMock); final DirContextValidator dirContextValidator2 = poolingContextSource.getDirContextValidator(); assertThat(dirContextValidator2).isEqualTo(dirContextValidatorMock); @@ -242,13 +233,8 @@ public void testGetContextException() throws Exception { final PoolingContextSource poolingContextSource = new PoolingContextSource(); poolingContextSource.setContextSource(contextSourceMock); - try { - poolingContextSource.getReadWriteContext(); - fail("PoolingContextSource.getReadWriteContext should have thrown DataAccessResourceFailureException"); - } - catch (DataAccessResourceFailureException darfe) { - // Expected - } + assertThatExceptionOfType(DataAccessResourceFailureException.class) + .isThrownBy(() -> poolingContextSource.getReadWriteContext()); } @Test diff --git a/core/src/test/java/org/springframework/ldap/pool/validation/DefaultDirContextValidatorTests.java b/core/src/test/java/org/springframework/ldap/pool/validation/DefaultDirContextValidatorTests.java index 630312c58..84fcd7057 100644 --- a/core/src/test/java/org/springframework/ldap/pool/validation/DefaultDirContextValidatorTests.java +++ b/core/src/test/java/org/springframework/ldap/pool/validation/DefaultDirContextValidatorTests.java @@ -27,7 +27,7 @@ import org.springframework.ldap.pool.DirContextType; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; import static org.mockito.BDDMockito.given; import static org.mockito.BDDMockito.mock; @@ -78,25 +78,12 @@ public void testProperties() throws Exception { dirContextValidator.setBase("baseName"); final String baseName = dirContextValidator.getBase(); assertThat(baseName).isEqualTo("baseName"); - - try { - dirContextValidator.setFilter(null); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } + assertThatIllegalArgumentException().isThrownBy(() -> dirContextValidator.setFilter(null)); dirContextValidator.setFilter("filter"); final String filter = dirContextValidator.getFilter(); assertThat(filter).isEqualTo("filter"); - try { - dirContextValidator.setSearchControls(null); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } + assertThatIllegalArgumentException().isThrownBy(() -> dirContextValidator.setSearchControls(null)); final SearchControls sc = new SearchControls(); dirContextValidator.setSearchControls(sc); final SearchControls sc2 = dirContextValidator.getSearchControls(); @@ -107,21 +94,10 @@ public void testProperties() throws Exception { public void testValidateDirContextAssertions() throws Exception { final DefaultDirContextValidator dirContextValidator = new DefaultDirContextValidator(); - try { - dirContextValidator.validateDirContext(DirContextType.READ_ONLY, null); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } - - try { - dirContextValidator.validateDirContext(null, this.dirContextMock); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } + assertThatIllegalArgumentException() + .isThrownBy(() -> dirContextValidator.validateDirContext(DirContextType.READ_ONLY, null)); + assertThatIllegalArgumentException() + .isThrownBy(() -> dirContextValidator.validateDirContext(null, this.dirContextMock)); } @Test diff --git a/core/src/test/java/org/springframework/ldap/pool2/DelegatingContextTests.java b/core/src/test/java/org/springframework/ldap/pool2/DelegatingContextTests.java index ffa95a255..0b84b7adf 100644 --- a/core/src/test/java/org/springframework/ldap/pool2/DelegatingContextTests.java +++ b/core/src/test/java/org/springframework/ldap/pool2/DelegatingContextTests.java @@ -24,7 +24,8 @@ import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; +import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; import static org.mockito.BDDMockito.mock; import static org.mockito.BDDMockito.times; import static org.mockito.BDDMockito.verify; @@ -38,29 +39,12 @@ public class DelegatingContextTests extends AbstractPoolTestCase { @Test public void testConstructorAssertions() { - try { - new DelegatingContext(null, contextMock, DirContextType.READ_ONLY); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } - - try { - new DelegatingContext(keyedObjectPoolMock, null, DirContextType.READ_ONLY); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } - - try { - new DelegatingContext(keyedObjectPoolMock, contextMock, null); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } + assertThatIllegalArgumentException() + .isThrownBy(() -> new DelegatingContext(null, contextMock, DirContextType.READ_ONLY)); + assertThatIllegalArgumentException() + .isThrownBy(() -> new DelegatingContext(keyedObjectPoolMock, null, DirContextType.READ_ONLY)); + assertThatIllegalArgumentException() + .isThrownBy(() -> new DelegatingContext(keyedObjectPoolMock, contextMock, null)); } @Test @@ -99,14 +83,7 @@ public void testHelperMethods() throws Exception { final Context innerDelegateContext2closed = delegatingContext2.getInnermostDelegateContext(); assertThat(innerDelegateContext2closed).isNull(); - - try { - delegatingContext2.assertOpen(); - fail("delegatingContext2.assertOpen() should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext2.assertOpen()); // Close the outer wrapper delegatingContext.close(); @@ -117,13 +94,7 @@ public void testHelperMethods() throws Exception { final Context innerDelegateContextclosed = delegatingContext.getInnermostDelegateContext(); assertThat(innerDelegateContextclosed).isNull(); - try { - delegatingContext.assertOpen(); - fail("delegatingContext.assertOpen() should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.assertOpen()); verify(keyedObjectPoolMock).returnObject(DirContextType.READ_ONLY, contextMock); verify(secondKeyedObjectPoolMock).returnObject(DirContextType.READ_ONLY, contextMock); @@ -168,48 +139,23 @@ public void testUnsupportedMethods() throws Exception { final DelegatingContext delegatingContext = new DelegatingContext(keyedObjectPoolMock, contextMock, DirContextType.READ_ONLY); - try { - delegatingContext.addToEnvironment(null, null); - fail("DelegatingContext.addToEnvironment Should have thrown an UnsupportedOperationException"); - } - catch (UnsupportedOperationException uoe) { - // Expected - } - try { - delegatingContext.createSubcontext((Name) null); - fail("DelegatingContext.createSubcontext Should have thrown an UnsupportedOperationException"); - } - catch (UnsupportedOperationException uoe) { - // Expected - } - try { - delegatingContext.createSubcontext((String) null); - fail("DelegatingContext.createSubcontext Should have thrown an UnsupportedOperationException"); - } - catch (UnsupportedOperationException uoe) { - // Expected - } - try { - delegatingContext.destroySubcontext((Name) null); - fail("DelegatingContext.destroySubcontext Should have thrown an UnsupportedOperationException"); - } - catch (UnsupportedOperationException uoe) { - // Expected - } - try { - delegatingContext.destroySubcontext((String) null); - fail("DelegatingContext.destroySubcontext Should have thrown an UnsupportedOperationException"); - } - catch (UnsupportedOperationException uoe) { - // Expected - } - try { - delegatingContext.removeFromEnvironment(null); - fail("DelegatingContext.removeFromEnvironment Should have thrown an UnsupportedOperationException"); - } - catch (UnsupportedOperationException uoe) { - // Expected - } + assertThatExceptionOfType(UnsupportedOperationException.class) + .isThrownBy(() -> delegatingContext.addToEnvironment(null, null)); + + assertThatExceptionOfType(UnsupportedOperationException.class) + .isThrownBy(() -> delegatingContext.createSubcontext((Name) null)); + + assertThatExceptionOfType(UnsupportedOperationException.class) + .isThrownBy(() -> delegatingContext.createSubcontext((String) null)); + + assertThatExceptionOfType(UnsupportedOperationException.class) + .isThrownBy(() -> delegatingContext.destroySubcontext((Name) null)); + + assertThatExceptionOfType(UnsupportedOperationException.class) + .isThrownBy(() -> delegatingContext.destroySubcontext((String) null)); + + assertThatExceptionOfType(UnsupportedOperationException.class) + .isThrownBy(() -> delegatingContext.removeFromEnvironment(null)); } @Test @@ -248,160 +194,56 @@ public void testAllMethodsClosed() throws Exception { delegatingContext.close(); - try { - delegatingContext.bind((Name) null, null); - fail("DelegatingContext.bind should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.bind((String) null, null); - fail("DelegatingContext.bind should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.composeName((Name) null, (Name) null); - fail("DelegatingContext.composeName should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.composeName((String) null, (String) null); - fail("DelegatingContext.composeName should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.getEnvironment(); - fail("DelegatingContext.getEnvironment should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.getNameInNamespace(); - fail("DelegatingContext.getNameInNamespace should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.getNameParser((Name) null); - fail("DelegatingContext.getNameParser should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.getNameParser((String) null); - fail("DelegatingContext.getNameParser should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.list((Name) null); - fail("DelegatingContext.list should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.list((String) null); - fail("DelegatingContext.list should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.listBindings((Name) null); - fail("DelegatingContext.listBindings should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.listBindings((String) null); - fail("DelegatingContext.listBindings should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.lookup((Name) null); - fail("DelegatingContext.lookup should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.lookup((String) null); - fail("DelegatingContext.lookup should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.lookupLink((Name) null); - fail("DelegatingContext.lookupLink should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.lookupLink((String) null); - fail("DelegatingContext.lookupLink should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.rebind((Name) null, null); - fail("DelegatingContext.rebind should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.rebind((String) null, null); - fail("DelegatingContext.rebind should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.rename((Name) null, (Name) null); - fail("DelegatingContext.rename should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.rename((String) null, (String) null); - fail("DelegatingContext.rename should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.unbind((Name) null); - fail("DelegatingContext.unbind should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingContext.unbind((String) null); - fail("DelegatingContext.unbind should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.bind((Name) null, null)); + + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.bind((String) null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingContext.composeName((Name) null, (Name) null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingContext.composeName((String) null, (String) null)); + + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.getEnvironment()); + + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.getNameInNamespace()); + + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.getNameParser((Name) null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingContext.getNameParser((String) null)); + + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.list((Name) null)); + + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.list((String) null)); + + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.listBindings((Name) null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingContext.listBindings((String) null)); + + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.lookup((Name) null)); + + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.lookup((String) null)); + + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.lookupLink((Name) null)); + + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.lookupLink((String) null)); + + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.rebind((Name) null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingContext.rebind((String) null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingContext.rename((Name) null, (Name) null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingContext.rename((String) null, (String) null)); + + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.unbind((Name) null)); + + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.unbind((String) null)); verify(keyedObjectPoolMock).returnObject(DirContextType.READ_ONLY, contextMock); } @@ -427,13 +269,7 @@ public void testPoolExceptionOnClose() throws Exception { final DelegatingContext delegatingContext = new DelegatingContext(keyedObjectPoolMock, contextMock, DirContextType.READ_ONLY); - try { - delegatingContext.close(); - fail("DelegatingContext.close should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingContext.close()); } } diff --git a/core/src/test/java/org/springframework/ldap/pool2/DelegatingDirContextTests.java b/core/src/test/java/org/springframework/ldap/pool2/DelegatingDirContextTests.java index 519317656..7bd620b14 100644 --- a/core/src/test/java/org/springframework/ldap/pool2/DelegatingDirContextTests.java +++ b/core/src/test/java/org/springframework/ldap/pool2/DelegatingDirContextTests.java @@ -26,7 +26,8 @@ import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; +import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -39,21 +40,10 @@ public class DelegatingDirContextTests extends AbstractPoolTestCase { @Test public void testConstructorAssertions() { - try { - new DelegatingDirContext(keyedObjectPoolMock, null, DirContextType.READ_ONLY); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } - - try { - new DelegatingDirContext(keyedObjectPoolMock, dirContextMock, null); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } + assertThatIllegalArgumentException() + .isThrownBy(() -> new DelegatingDirContext(keyedObjectPoolMock, null, DirContextType.READ_ONLY)); + assertThatIllegalArgumentException() + .isThrownBy(() -> new DelegatingDirContext(keyedObjectPoolMock, dirContextMock, null)); } @Test @@ -96,14 +86,7 @@ public void testHelperMethods() throws Exception { final DirContext innerDelegateContext2closed = delegatingDirContext2.getInnermostDelegateDirContext(); assertThat(innerDelegateContext2closed).isNull(); - - try { - delegatingDirContext2.assertOpen(); - fail("delegatingDirContext2.assertOpen() should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingDirContext2.assertOpen()); // Close the outer wrapper delegatingDirContext.close(); @@ -114,13 +97,7 @@ public void testHelperMethods() throws Exception { final DirContext innerDelegateDirContextClosed = delegatingDirContext.getInnermostDelegateDirContext(); assertThat(innerDelegateDirContextClosed).isNull(); - try { - delegatingDirContext.assertOpen(); - fail("delegatingDirContext.assertOpen() should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingDirContext.assertOpen()); verify(secondKeyedObjectPoolMock).returnObject(DirContextType.READ_ONLY, dirContextMock); verify(keyedObjectPoolMock).returnObject(DirContextType.READ_ONLY, dirContextMock); @@ -167,48 +144,23 @@ public void testUnsupportedMethods() throws Exception { final DelegatingDirContext delegatingDirContext = new DelegatingDirContext(keyedObjectPoolMock, dirContextMock, DirContextType.READ_ONLY); - try { - delegatingDirContext.createSubcontext((Name) null, null); - fail("DelegatingDirContext.createSubcontext Should have thrown an UnsupportedOperationException"); - } - catch (UnsupportedOperationException uoe) { - // Expected - } - try { - delegatingDirContext.createSubcontext((String) null, null); - fail("DelegatingDirContext.createSubcontext Should have thrown an UnsupportedOperationException"); - } - catch (UnsupportedOperationException uoe) { - // Expected - } - try { - delegatingDirContext.getSchema((Name) null); - fail("DelegatingDirContext.getSchema Should have thrown an UnsupportedOperationException"); - } - catch (UnsupportedOperationException uoe) { - // Expected - } - try { - delegatingDirContext.getSchema((String) null); - fail("DelegatingDirContext.getSchema Should have thrown an UnsupportedOperationException"); - } - catch (UnsupportedOperationException uoe) { - // Expected - } - try { - delegatingDirContext.getSchemaClassDefinition((Name) null); - fail("DelegatingDirContext.getSchemaClassDefinition Should have thrown an UnsupportedOperationException"); - } - catch (UnsupportedOperationException uoe) { - // Expected - } - try { - delegatingDirContext.getSchemaClassDefinition((String) null); - fail("DelegatingDirContext.getSchemaClassDefinition Should have thrown an UnsupportedOperationException"); - } - catch (UnsupportedOperationException uoe) { - // Expected - } + assertThatExceptionOfType(UnsupportedOperationException.class) + .isThrownBy(() -> delegatingDirContext.createSubcontext((Name) null, null)); + + assertThatExceptionOfType(UnsupportedOperationException.class) + .isThrownBy(() -> delegatingDirContext.createSubcontext((String) null, null)); + + assertThatExceptionOfType(UnsupportedOperationException.class) + .isThrownBy(() -> delegatingDirContext.getSchema((Name) null)); + + assertThatExceptionOfType(UnsupportedOperationException.class) + .isThrownBy(() -> delegatingDirContext.getSchema((String) null)); + + assertThatExceptionOfType(UnsupportedOperationException.class) + .isThrownBy(() -> delegatingDirContext.getSchemaClassDefinition((Name) null)); + + assertThatExceptionOfType(UnsupportedOperationException.class) + .isThrownBy(() -> delegatingDirContext.getSchemaClassDefinition((String) null)); } @Test @@ -245,146 +197,65 @@ public void testAllMethodsClosed() throws Exception { delegatingDirContext.close(); - try { - delegatingDirContext.bind((Name) null, null, null); - fail("DelegatingDirContext.bind should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.bind((String) null, null, null); - fail("DelegatingDirContext.bind should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.getAttributes((Name) null, null); - fail("DelegatingDirContext.getAttributes should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.getAttributes((Name) null); - fail("DelegatingDirContext.getAttributes should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.getAttributes((String) null, null); - fail("DelegatingDirContext.getAttributes should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.getAttributes((String) null); - fail("DelegatingDirContext.getAttributes should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.modifyAttributes((Name) null, 0, null); - fail("DelegatingDirContext.modifyAttributes should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.modifyAttributes((Name) null, null); - fail("DelegatingDirContext.modifyAttributes should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.modifyAttributes((String) null, 0, null); - fail("DelegatingDirContext.modifyAttributes should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.modifyAttributes((String) null, null); - fail("DelegatingDirContext.modifyAttributes should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.rebind((Name) null, null, null); - fail("DelegatingDirContext.rebind should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.rebind((String) null, null, null); - fail("DelegatingDirContext.rebind should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.search((Name) null, (Attributes) null, null); - fail("DelegatingDirContext.search should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.search((Name) null, null); - fail("DelegatingDirContext.search should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.search((Name) null, null, null, null); - fail("DelegatingDirContext.search should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.search((Name) null, (String) null, null); - fail("DelegatingDirContext.search should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.search((String) null, (Attributes) null, null); - fail("DelegatingDirContext.search should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.search((String) null, null); - fail("DelegatingDirContext.search should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.search((String) null, null, null, null); - fail("DelegatingDirContext.search should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingDirContext.search((String) null, (String) null, null); - fail("DelegatingDirContext.search should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.bind((Name) null, null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.bind((String) null, null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.getAttributes((Name) null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.getAttributes((Name) null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.getAttributes((String) null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.getAttributes((String) null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.modifyAttributes((Name) null, 0, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.modifyAttributes((Name) null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.modifyAttributes((String) null, 0, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.modifyAttributes((String) null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.rebind((Name) null, null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.rebind((String) null, null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.search((Name) null, (Attributes) null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.search((Name) null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.search((Name) null, null, null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.search((Name) null, (String) null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.search((String) null, (Attributes) null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.search((String) null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.search((String) null, null, null, null)); + + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingDirContext.search((String) null, (String) null, null)); verify(keyedObjectPoolMock).returnObject(DirContextType.READ_ONLY, dirContextMock); } diff --git a/core/src/test/java/org/springframework/ldap/pool2/DelegatingLdapContextTests.java b/core/src/test/java/org/springframework/ldap/pool2/DelegatingLdapContextTests.java index d7fa79627..0a289b614 100644 --- a/core/src/test/java/org/springframework/ldap/pool2/DelegatingLdapContextTests.java +++ b/core/src/test/java/org/springframework/ldap/pool2/DelegatingLdapContextTests.java @@ -24,7 +24,8 @@ import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; +import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -37,21 +38,10 @@ public class DelegatingLdapContextTests extends AbstractPoolTestCase { @Test public void testConstructorAssertions() { - try { - new DelegatingLdapContext(keyedObjectPoolMock, null, DirContextType.READ_ONLY); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } - - try { - new DelegatingLdapContext(keyedObjectPoolMock, ldapContextMock, null); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } + assertThatIllegalArgumentException() + .isThrownBy(() -> new DelegatingLdapContext(keyedObjectPoolMock, null, DirContextType.READ_ONLY)); + assertThatIllegalArgumentException() + .isThrownBy(() -> new DelegatingLdapContext(keyedObjectPoolMock, ldapContextMock, null)); } @Test @@ -94,13 +84,7 @@ public void testHelperMethods() throws Exception { final LdapContext innerDelegateContext2closed = delegatingLdapContext2.getInnermostDelegateLdapContext(); assertThat(innerDelegateContext2closed).isNull(); - try { - delegatingLdapContext2.assertOpen(); - fail("delegatingLdapContext2.assertOpen() should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingLdapContext2.assertOpen()); // Close the outer wrapper delegatingLdapContext.close(); @@ -111,13 +95,7 @@ public void testHelperMethods() throws Exception { final LdapContext innerDelegateLdapContextClosed = delegatingLdapContext.getInnermostDelegateLdapContext(); assertThat(innerDelegateLdapContextClosed).isNull(); - try { - delegatingLdapContext.assertOpen(); - fail("delegatingLdapContext.assertOpen() should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingLdapContext.assertOpen()); verify(secondKeyedObjectPoolMock).returnObject(DirContextType.READ_ONLY, ldapContextMock); verify(keyedObjectPoolMock).returnObject(DirContextType.READ_ONLY, ldapContextMock); @@ -163,27 +141,12 @@ public void testUnsupportedMethods() throws Exception { final DelegatingLdapContext delegatingLdapContext = new DelegatingLdapContext(keyedObjectPoolMock, ldapContextMock, DirContextType.READ_ONLY); - try { - delegatingLdapContext.newInstance(null); - fail("DelegatingLdapContext.newInstance Should have thrown an UnsupportedOperationException"); - } - catch (UnsupportedOperationException uoe) { - // Expected - } - try { - delegatingLdapContext.reconnect(null); - fail("DelegatingLdapContext.reconnect Should have thrown an UnsupportedOperationException"); - } - catch (UnsupportedOperationException uoe) { - // Expected - } - try { - delegatingLdapContext.setRequestControls(null); - fail("DelegatingLdapContext.setRequestControls Should have thrown an UnsupportedOperationException"); - } - catch (UnsupportedOperationException uoe) { - // Expected - } + assertThatExceptionOfType(UnsupportedOperationException.class) + .isThrownBy(() -> delegatingLdapContext.newInstance(null)); + assertThatExceptionOfType(UnsupportedOperationException.class) + .isThrownBy(() -> delegatingLdapContext.reconnect(null)); + assertThatExceptionOfType(UnsupportedOperationException.class) + .isThrownBy(() -> delegatingLdapContext.setRequestControls(null)); } // nice @@ -205,34 +168,14 @@ public void testAllMethodsClosed() throws Exception { delegatingLdapContext.close(); - try { - delegatingLdapContext.extendedOperation(null); - fail("DelegatingLdapContext.extendedOperation should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingLdapContext.getConnectControls(); - fail("DelegatingLdapContext.getConnectControls should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingLdapContext.getRequestControls(); - fail("DelegatingLdapContext.getRequestControls should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } - try { - delegatingLdapContext.getResponseControls(); - fail("DelegatingLdapContext.getResponseControls should have thrown a NamingException"); - } - catch (NamingException ne) { - // Expected - } + assertThatExceptionOfType(NamingException.class) + .isThrownBy(() -> delegatingLdapContext.extendedOperation(null)); + + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingLdapContext.getConnectControls()); + + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingLdapContext.getRequestControls()); + + assertThatExceptionOfType(NamingException.class).isThrownBy(() -> delegatingLdapContext.getResponseControls()); verify(keyedObjectPoolMock).returnObject(DirContextType.READ_ONLY, ldapContextMock); } diff --git a/core/src/test/java/org/springframework/ldap/pool2/factory/DirContextPooledObjectFactoryTests.java b/core/src/test/java/org/springframework/ldap/pool2/factory/DirContextPooledObjectFactoryTests.java index 471bf2f4b..3d033cb4b 100644 --- a/core/src/test/java/org/springframework/ldap/pool2/factory/DirContextPooledObjectFactoryTests.java +++ b/core/src/test/java/org/springframework/ldap/pool2/factory/DirContextPooledObjectFactoryTests.java @@ -33,7 +33,7 @@ import org.springframework.util.ReflectionUtils; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; import static org.mockito.BDDMockito.given; import static org.mockito.BDDMockito.mock; import static org.mockito.BDDMockito.verify; @@ -49,25 +49,13 @@ public class DirContextPooledObjectFactoryTests extends AbstractPoolTestCase { public void testProperties() throws Exception { final DirContextPooledObjectFactory objectFactory = new DirContextPooledObjectFactory(contextSourceMock); - try { - objectFactory.setContextSource(null); - fail("DirContextPooledObjectFactory.setContextSource should have thrown an IllegalArgumentException"); - } - catch (IllegalArgumentException iae) { - // Expected - } + assertThatIllegalArgumentException().isThrownBy(() -> objectFactory.setContextSource(null)); objectFactory.setContextSource(contextSourceMock); final ContextSource contextSource2 = objectFactory.getContextSource(); assertThat(contextSource2).isEqualTo(contextSourceMock); - try { - objectFactory.setDirContextValidator(null); - fail("DirContextPooledObjectFactory.setDirContextValidator should have thrown an IllegalArgumentException"); - } - catch (IllegalArgumentException iae) { - // Expected - } + assertThatIllegalArgumentException().isThrownBy(() -> objectFactory.setDirContextValidator(null)); objectFactory.setDirContextValidator(dirContextValidatorMock); final DirContextValidator dirContextValidator2 = objectFactory.getDirContextValidator(); @@ -78,23 +66,11 @@ public void testProperties() throws Exception { public void testMakeObjectAssertions() throws Exception { final DirContextPooledObjectFactory objectFactory = new DirContextPooledObjectFactory(contextSourceMock); - try { - objectFactory.makeObject(DirContextType.READ_ONLY); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } + assertThatIllegalArgumentException().isThrownBy(() -> objectFactory.makeObject(DirContextType.READ_ONLY)); objectFactory.setContextSource(contextSourceMock); - try { - objectFactory.makeObject(null); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } + assertThatIllegalArgumentException().isThrownBy(() -> objectFactory.makeObject(null)); } @Test @@ -130,40 +106,23 @@ public void testMakeObjectReadWrite() throws Exception { public void testValidateObjectAssertions() throws Exception { final DirContextPooledObjectFactory objectFactory = new DirContextPooledObjectFactory(contextSourceMock); - try { + assertThatIllegalArgumentException().isThrownBy(() -> { PooledObject pooledObject = new DefaultPooledObject(dirContextMock); objectFactory.validateObject(null, pooledObject); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } + }); - try { + assertThatIllegalArgumentException().isThrownBy(() -> { PooledObject pooledObject = new DefaultPooledObject(dirContextMock); objectFactory.validateObject(new Object(), pooledObject); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } - - try { - objectFactory.validateObject(DirContextType.READ_ONLY, null); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } - - try { + }); + + assertThatIllegalArgumentException() + .isThrownBy(() -> objectFactory.validateObject(DirContextType.READ_ONLY, null)); + + assertThatIllegalArgumentException().isThrownBy(() -> { PooledObject pooledObject = new DefaultPooledObject(new Object()); objectFactory.validateObject(DirContextType.READ_ONLY, pooledObject); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } + }); } @Test @@ -192,22 +151,13 @@ public void testValidateObject() throws Exception { public void testDestroyObjectAssertions() throws Exception { final DirContextPooledObjectFactory objectFactory = new DirContextPooledObjectFactory(contextSourceMock); - try { - objectFactory.destroyObject(DirContextType.READ_ONLY, null); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } + assertThatIllegalArgumentException() + .isThrownBy(() -> objectFactory.destroyObject(DirContextType.READ_ONLY, null)); - try { + assertThatIllegalArgumentException().isThrownBy(() -> { PooledObject pooledObject = new DefaultPooledObject(new Object()); objectFactory.validateObject(DirContextType.READ_ONLY, pooledObject); - fail("IllegalArgumentException expected"); - } - catch (IllegalArgumentException expected) { - assertThat(true).isTrue(); - } + }); } @Test diff --git a/core/src/test/java/org/springframework/ldap/pool2/factory/PooledContextSourceTests.java b/core/src/test/java/org/springframework/ldap/pool2/factory/PooledContextSourceTests.java index a67ebc7a0..65682afe4 100644 --- a/core/src/test/java/org/springframework/ldap/pool2/factory/PooledContextSourceTests.java +++ b/core/src/test/java/org/springframework/ldap/pool2/factory/PooledContextSourceTests.java @@ -27,7 +27,8 @@ import org.springframework.ldap.pool2.validation.DirContextValidator; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; +import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; import static org.mockito.BDDMockito.given; import static org.mockito.BDDMockito.mock; @@ -62,24 +63,14 @@ public void testProperties() throws Exception { final PooledContextSource PooledContextSource = new PooledContextSource(poolConfig); - try { - PooledContextSource.setContextSource(null); - fail("PooledContextSource.setBaseName should have thrown an IllegalArgumentException"); - } - catch (IllegalArgumentException iae) { - // Expected - } + assertThatIllegalArgumentException().isThrownBy(() -> PooledContextSource.setContextSource(null)); + PooledContextSource.setContextSource(contextSourceMock); final ContextSource contextSource2 = PooledContextSource.getContextSource(); assertThat(contextSource2).isEqualTo(contextSourceMock); - try { - PooledContextSource.setDirContextValidator(null); - fail("PooledContextSource.setDirContextValidator should have thrown an IllegalArgumentException"); - } - catch (IllegalArgumentException iae) { - // Expected - } + assertThatIllegalArgumentException().isThrownBy(() -> PooledContextSource.setDirContextValidator(null)); + PooledContextSource.setDirContextValidator(dirContextValidatorMock); final DirContextValidator dirContextValidator2 = PooledContextSource.getDirContextValidator(); assertThat(dirContextValidator2).isEqualTo(dirContextValidatorMock); @@ -200,13 +191,8 @@ public void testGetContextException() throws Exception { final PooledContextSource PooledContextSource = new PooledContextSource(null); PooledContextSource.setContextSource(contextSourceMock); - try { - PooledContextSource.getReadWriteContext(); - fail("PooledContextSource.getReadWriteContext should have thrown DataAccessResourceFailureException"); - } - catch (DataAccessResourceFailureException darfe) { - // Expected - } + assertThatExceptionOfType(DataAccessResourceFailureException.class) + .isThrownBy(() -> PooledContextSource.getReadWriteContext()); } @Test diff --git a/core/src/test/java/org/springframework/ldap/support/LdapUtilsTests.java b/core/src/test/java/org/springframework/ldap/support/LdapUtilsTests.java index 9086a2bea..e68562c2a 100644 --- a/core/src/test/java/org/springframework/ldap/support/LdapUtilsTests.java +++ b/core/src/test/java/org/springframework/ldap/support/LdapUtilsTests.java @@ -31,7 +31,7 @@ import org.springframework.ldap.NoSuchAttributeException; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; @@ -72,13 +72,8 @@ public void testCollectAttributeValuesThrowsExceptionWhenAttributeNotPresent() { BasicAttributes attributes = new BasicAttributes(); LinkedList list = new LinkedList(); - try { - LdapUtils.collectAttributeValues(attributes, expectedAttributeName, list); - fail("NoSuchAttributeException expected"); - } - catch (NoSuchAttributeException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(NoSuchAttributeException.class) + .isThrownBy(() -> LdapUtils.collectAttributeValues(attributes, expectedAttributeName, list)); } @Test diff --git a/core/src/test/java/org/springframework/ldap/transaction/compensating/manager/ContextSourceTransactionManagerTests.java b/core/src/test/java/org/springframework/ldap/transaction/compensating/manager/ContextSourceTransactionManagerTests.java index 72bb26b77..bb35d8255 100644 --- a/core/src/test/java/org/springframework/ldap/transaction/compensating/manager/ContextSourceTransactionManagerTests.java +++ b/core/src/test/java/org/springframework/ldap/transaction/compensating/manager/ContextSourceTransactionManagerTests.java @@ -40,7 +40,7 @@ import org.springframework.transaction.support.TransactionSynchronizationManager; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import static org.mockito.BDDMockito.given; import static org.mockito.BDDMockito.mock; import static org.mockito.BDDMockito.verify; @@ -157,11 +157,12 @@ public void testTransactionSuspension_UnconnectableDataSource() throws Exception UncategorizedLdapException connectException = new UncategorizedLdapException("dummy"); given(unconnectableContextSourceMock.getReadWriteContext()).willThrow(connectException); - try { - // Create an outer transaction - final PlatformTransactionManager txMgrOuter = new DataSourceTransactionManager(dataSourceMock); + // Create an outer transaction + final PlatformTransactionManager txMgrOuter = new DataSourceTransactionManager(dataSourceMock); - final TransactionStatus txOuter = txMgrOuter.getTransaction(new DefaultTransactionDefinition()); + final TransactionStatus txOuter = txMgrOuter.getTransaction(new DefaultTransactionDefinition()); + + assertThatExceptionOfType(CannotCreateTransactionException.class).isThrownBy(() -> { try { // Create inner transaction (not nested, though: unrelated data @@ -191,11 +192,7 @@ public void testTransactionSuspension_UnconnectableDataSource() throws Exception throw ex; } - fail("Exception should be thrown"); - } - catch (CannotCreateTransactionException expected) { - assertThat(expected.getCause()).as("Should be thrown exception").isSameAs(connectException); - } + }).havingCause().isSameAs(connectException); verify(connectionMock).rollback(); } diff --git a/sandbox/src/test/java/org/springframework/ldap/control/VirtualListViewControlDirContextProcessorTests.java b/sandbox/src/test/java/org/springframework/ldap/control/VirtualListViewControlDirContextProcessorTests.java index 61a8b75bc..beda13227 100644 --- a/sandbox/src/test/java/org/springframework/ldap/control/VirtualListViewControlDirContextProcessorTests.java +++ b/sandbox/src/test/java/org/springframework/ldap/control/VirtualListViewControlDirContextProcessorTests.java @@ -33,6 +33,7 @@ import org.springframework.ldap.OperationNotSupportedException; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import static org.assertj.core.api.Assertions.fail; import static org.mockito.BDDMockito.given; import static org.mockito.BDDMockito.mock; @@ -111,16 +112,11 @@ public void testPostProcess() throws Exception { VirtualListViewResponseControl control = new VirtualListViewResponseControl(OID_RESPONSE, false, encoded); given(this.ldapContextMock.getResponseControls()).willReturn(new Control[] { control }); - try { - tested.postProcess(this.ldapContextMock); - fail("OperationNotSupportedException expected"); - } - catch (OperationNotSupportedException expected) { - Throwable cause = expected.getCause(); - assertThat(cause.getClass()).isEqualTo(javax.naming.OperationNotSupportedException.class); - assertThat(cause.getMessage()).isEqualTo("[LDAP: error code 53 - Unwilling To Perform]"); - } - + assertThatExceptionOfType(OperationNotSupportedException.class) + .isThrownBy(() -> tested.postProcess(this.ldapContextMock)) + .havingCause() + .isInstanceOf(javax.naming.OperationNotSupportedException.class) + .withMessage("[LDAP: error code 53 - Unwilling To Perform]"); assertThat(tested.getCookie()).isNotNull(); assertThat(tested.getCookie().getCookie().length).isEqualTo(0); } diff --git a/test/integration-tests/src/test/java/org/springframework/ldap/itest/DefaultLdapClientModifyITests.java b/test/integration-tests/src/test/java/org/springframework/ldap/itest/DefaultLdapClientModifyITests.java index fdb838750..05ef53074 100644 --- a/test/integration-tests/src/test/java/org/springframework/ldap/itest/DefaultLdapClientModifyITests.java +++ b/test/integration-tests/src/test/java/org/springframework/ldap/itest/DefaultLdapClientModifyITests.java @@ -39,7 +39,7 @@ import org.springframework.test.context.ContextConfiguration; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; /** * Tests {@link LdapClient}'s modification methods (rebind and modifyAttributes) @@ -148,13 +148,8 @@ public void testModifyAttributes_MultiValueAddDuplicateToUnordered() { ModificationItem[] mods = new ModificationItem[1]; mods[0] = new ModificationItem(DirContext.ADD_ATTRIBUTE, attr); - try { - this.tested.modify(PERSON4_DN).attributes(mods).execute(); - fail("AttributeInUseException expected"); - } - catch (AttributeInUseException expected) { - // expected - } + assertThatExceptionOfType(AttributeInUseException.class) + .isThrownBy(() -> this.tested.modify(PERSON4_DN).attributes(mods).execute()); } /** diff --git a/test/integration-tests/src/test/java/org/springframework/ldap/itest/DefaultLdapClientRenameITests.java b/test/integration-tests/src/test/java/org/springframework/ldap/itest/DefaultLdapClientRenameITests.java index 4622b0030..d669d0783 100644 --- a/test/integration-tests/src/test/java/org/springframework/ldap/itest/DefaultLdapClientRenameITests.java +++ b/test/integration-tests/src/test/java/org/springframework/ldap/itest/DefaultLdapClientRenameITests.java @@ -32,7 +32,7 @@ import org.springframework.test.context.ContextConfiguration; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; /** * Tests {@link LdapClient}'s rename methods. @@ -83,13 +83,8 @@ public void testRename_LdapName() { } private void verifyDeleted(Name dn) { - try { - this.tested.list(dn).toList(NameClassPair::getName); - fail("Expected entry '" + dn + "' to be non-existent"); - } - catch (NameNotFoundException expected) { - // expected - } + assertThatExceptionOfType(NameNotFoundException.class) + .isThrownBy(() -> this.tested.list(dn).toList(NameClassPair::getName)); } private void verifyBoundCorrectData() { diff --git a/test/integration-tests/src/test/java/org/springframework/ldap/itest/DefaultLdapClientSearchResultITests.java b/test/integration-tests/src/test/java/org/springframework/ldap/itest/DefaultLdapClientSearchResultITests.java index 3653ad86f..c9455e3ba 100644 --- a/test/integration-tests/src/test/java/org/springframework/ldap/itest/DefaultLdapClientSearchResultITests.java +++ b/test/integration-tests/src/test/java/org/springframework/ldap/itest/DefaultLdapClientSearchResultITests.java @@ -46,7 +46,6 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatExceptionOfType; -import static org.assertj.core.api.Assertions.fail; /** * Tests for {@link LdapClient}'s search methods. @@ -583,19 +582,13 @@ public void testSearch_SearchScope_LimitedAttrs_ContextMapper_Name() { @Test public void testSearchWithInvalidSearchBaseShouldByDefaultThrowException() { - try { - this.tested.search() - .query(LdapQueryBuilder.query() - .base(BASE_NAME + "ou=unknown") - .searchScope(SearchScope.SUBTREE) - .attributes(CN_SN_ATTRS) - .filter(FILTER_STRING)) - .toObject(this.contextMapper); - fail("NameNotFoundException expected"); - } - catch (NameNotFoundException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(NameNotFoundException.class).isThrownBy(() -> this.tested.search() + .query(LdapQueryBuilder.query() + .base(BASE_NAME + "ou=unknown") + .searchScope(SearchScope.SUBTREE) + .attributes(CN_SN_ATTRS) + .filter(FILTER_STRING)) + .toObject(this.contextMapper)); } @Test diff --git a/test/integration-tests/src/test/java/org/springframework/ldap/itest/LdapTemplateBindUnbindITests.java b/test/integration-tests/src/test/java/org/springframework/ldap/itest/LdapTemplateBindUnbindITests.java index 2a363f12a..b5e479925 100644 --- a/test/integration-tests/src/test/java/org/springframework/ldap/itest/LdapTemplateBindUnbindITests.java +++ b/test/integration-tests/src/test/java/org/springframework/ldap/itest/LdapTemplateBindUnbindITests.java @@ -30,7 +30,7 @@ import org.springframework.test.context.ContextConfiguration; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; /** * Tests the bind and unbind methods of LdapTemplate. The test methods in this class tests @@ -156,13 +156,7 @@ private void verifyReboundCorrectData() { } private void verifyCleanup() { - try { - this.tested.lookup(DN); - fail("NameNotFoundException expected"); - } - catch (NameNotFoundException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(NameNotFoundException.class).isThrownBy(() -> this.tested.lookup(DN)); } } diff --git a/test/integration-tests/src/test/java/org/springframework/ldap/itest/LdapTemplateModifyITests.java b/test/integration-tests/src/test/java/org/springframework/ldap/itest/LdapTemplateModifyITests.java index 2aa15c13d..0245b461d 100644 --- a/test/integration-tests/src/test/java/org/springframework/ldap/itest/LdapTemplateModifyITests.java +++ b/test/integration-tests/src/test/java/org/springframework/ldap/itest/LdapTemplateModifyITests.java @@ -38,7 +38,7 @@ import org.springframework.test.context.ContextConfiguration; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; /** * Tests the modification methods (rebind and modifyAttributes) of LdapTemplate. It also @@ -153,13 +153,8 @@ public void testModifyAttributes_MultiValueAddDuplicateToUnordered() { ModificationItem[] mods = new ModificationItem[1]; mods[0] = new ModificationItem(DirContext.ADD_ATTRIBUTE, attr); - try { - this.tested.modifyAttributes(PERSON4_DN, mods); - fail("AttributeInUseException expected"); - } - catch (AttributeInUseException expected) { - // expected - } + assertThatExceptionOfType(AttributeInUseException.class) + .isThrownBy(() -> this.tested.modifyAttributes(PERSON4_DN, mods)); } /** diff --git a/test/integration-tests/src/test/java/org/springframework/ldap/itest/LdapTemplateNoBaseSuffixITests.java b/test/integration-tests/src/test/java/org/springframework/ldap/itest/LdapTemplateNoBaseSuffixITests.java index 20703a5c7..48c1d78c5 100644 --- a/test/integration-tests/src/test/java/org/springframework/ldap/itest/LdapTemplateNoBaseSuffixITests.java +++ b/test/integration-tests/src/test/java/org/springframework/ldap/itest/LdapTemplateNoBaseSuffixITests.java @@ -30,7 +30,7 @@ import org.springframework.test.context.ContextConfiguration; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; /** * Tests to verify that not setting a base suffix on the ContextSource (as defined in @@ -94,13 +94,8 @@ public void testBindAndUnbind_Plain() { assertThat(result.getDn()).isEqualTo(LdapUtils.newLdapName("cn=Some Person4,ou=company1,ou=Sweden," + base)); this.tested.unbind("cn=Some Person4,ou=company1,ou=Sweden," + base); - try { - this.tested.lookup("cn=Some Person4, ou=company1, ou=Sweden," + base); - fail("NameNotFoundException expected"); - } - catch (NameNotFoundException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(NameNotFoundException.class) + .isThrownBy(() -> this.tested.lookup("cn=Some Person4, ou=company1, ou=Sweden," + base)); } } diff --git a/test/integration-tests/src/test/java/org/springframework/ldap/itest/LdapTemplatePooledITests.java b/test/integration-tests/src/test/java/org/springframework/ldap/itest/LdapTemplatePooledITests.java index c997aea29..e0e8d2295 100644 --- a/test/integration-tests/src/test/java/org/springframework/ldap/itest/LdapTemplatePooledITests.java +++ b/test/integration-tests/src/test/java/org/springframework/ldap/itest/LdapTemplatePooledITests.java @@ -32,7 +32,7 @@ import org.springframework.test.context.junit.jupiter.SpringExtension; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatException; /** * This test only works against in-process Apache DS server, regardless of configured @@ -76,14 +76,7 @@ public void verifyThatInvalidConnectionIsAutomaticallyPurged() throws Exception LdapTestUtils.shutdownEmbeddedServer(); LdapTestUtils.startEmbeddedServer(1888, "dc=261consulting,dc=com", "jayway"); - try { - this.tested.lookup("cn=Some Person2, ou=company1,ou=Sweden"); - fail("Exception expected"); - } - catch (Exception expected) { - // This should fail because the target connection was closed - assertThat(true).isTrue(); - } + assertThatException().isThrownBy(() -> this.tested.lookup("cn=Some Person2, ou=company1,ou=Sweden")); LdapTestUtils.cleanAndSetup(this.contextSource, LdapUtils.emptyLdapName(), new ClassPathResource("/setup_data.ldif")); diff --git a/test/integration-tests/src/test/java/org/springframework/ldap/itest/LdapTemplateRecursiveDeleteITests.java b/test/integration-tests/src/test/java/org/springframework/ldap/itest/LdapTemplateRecursiveDeleteITests.java index d3a9ee9b3..f5b3c77a2 100644 --- a/test/integration-tests/src/test/java/org/springframework/ldap/itest/LdapTemplateRecursiveDeleteITests.java +++ b/test/integration-tests/src/test/java/org/springframework/ldap/itest/LdapTemplateRecursiveDeleteITests.java @@ -30,7 +30,7 @@ import org.springframework.ldap.support.LdapUtils; import org.springframework.test.context.ContextConfiguration; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; /** * Tests the recursive modification methods (unbind and the protected delete methods) of @@ -121,13 +121,7 @@ public void testRecursiveUnbindOnLeaf() { } private void verifyDeleted(Name dn) { - try { - this.tested.lookup(dn); - fail("Expected entry '" + dn + "' to be non-existent"); - } - catch (NameNotFoundException expected) { - // expected - } + assertThatExceptionOfType(NameNotFoundException.class).isThrownBy(() -> this.tested.lookup(dn)); } } diff --git a/test/integration-tests/src/test/java/org/springframework/ldap/itest/LdapTemplateRenameITests.java b/test/integration-tests/src/test/java/org/springframework/ldap/itest/LdapTemplateRenameITests.java index bf67c60e6..1d4b29bcf 100644 --- a/test/integration-tests/src/test/java/org/springframework/ldap/itest/LdapTemplateRenameITests.java +++ b/test/integration-tests/src/test/java/org/springframework/ldap/itest/LdapTemplateRenameITests.java @@ -30,7 +30,7 @@ import org.springframework.test.context.ContextConfiguration; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; /** * Tests the rename methods of LdapTemplate. @@ -86,13 +86,7 @@ public void testRename_LdapName() throws Exception { } private void verifyDeleted(Name dn) { - try { - this.tested.lookup(dn); - fail("Expected entry '" + dn + "' to be non-existent"); - } - catch (NameNotFoundException expected) { - // expected - } + assertThatExceptionOfType(NameNotFoundException.class).isThrownBy(() -> this.tested.lookup(dn)); } private void verifyBoundCorrectData() { diff --git a/test/integration-tests/src/test/java/org/springframework/ldap/itest/LdapTemplateSearchResultITests.java b/test/integration-tests/src/test/java/org/springframework/ldap/itest/LdapTemplateSearchResultITests.java index 34d1e703d..f0ef8a3e0 100644 --- a/test/integration-tests/src/test/java/org/springframework/ldap/itest/LdapTemplateSearchResultITests.java +++ b/test/integration-tests/src/test/java/org/springframework/ldap/itest/LdapTemplateSearchResultITests.java @@ -48,7 +48,6 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatExceptionOfType; -import static org.assertj.core.api.Assertions.fail; /** * Tests for LdapTemplate's search methods. This test class tests all the different @@ -535,14 +534,9 @@ public void testSearch_SearchScope_LimitedAttrs_ContextMapper_Name() { @Test public void testSearchWithInvalidSearchBaseShouldByDefaultThrowException() { - try { - this.tested.search(BASE_NAME + "ou=unknown", FILTER_STRING, SearchControls.SUBTREE_SCOPE, CN_SN_ATTRS, - this.contextMapper); - fail("NameNotFoundException expected"); - } - catch (NameNotFoundException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(NameNotFoundException.class) + .isThrownBy(() -> this.tested.search(BASE_NAME + "ou=unknown", FILTER_STRING, SearchControls.SUBTREE_SCOPE, + CN_SN_ATTRS, this.contextMapper)); } @Test diff --git a/test/integration-tests/src/test/java/org/springframework/ldap/itest/LdapTemplateSearchResultNamespaceConfigITests.java b/test/integration-tests/src/test/java/org/springframework/ldap/itest/LdapTemplateSearchResultNamespaceConfigITests.java index 228a2ae9f..9ada61f18 100644 --- a/test/integration-tests/src/test/java/org/springframework/ldap/itest/LdapTemplateSearchResultNamespaceConfigITests.java +++ b/test/integration-tests/src/test/java/org/springframework/ldap/itest/LdapTemplateSearchResultNamespaceConfigITests.java @@ -45,7 +45,6 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatExceptionOfType; -import static org.assertj.core.api.Assertions.fail; /** * Tests for LdapTemplate's search methods. This test class tests all the different @@ -532,14 +531,9 @@ public void testSearch_SearchScope_LimitedAttrs_ContextMapper_Name() { @Test public void testSearchWithInvalidSearchBaseShouldByDefaultThrowException() { - try { - this.tested.search(BASE_NAME + "ou=unknown", FILTER_STRING, SearchControls.SUBTREE_SCOPE, CN_SN_ATTRS, - this.contextMapper); - fail("NameNotFoundException expected"); - } - catch (NameNotFoundException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(NameNotFoundException.class) + .isThrownBy(() -> this.tested.search(BASE_NAME + "ou=unknown", FILTER_STRING, SearchControls.SUBTREE_SCOPE, + CN_SN_ATTRS, this.contextMapper)); } @Test diff --git a/test/integration-tests/src/test/java/org/springframework/ldap/itest/core/simple/SimpleLdapTemplateITests.java b/test/integration-tests/src/test/java/org/springframework/ldap/itest/core/simple/SimpleLdapTemplateITests.java index ca581c59d..289815ef2 100644 --- a/test/integration-tests/src/test/java/org/springframework/ldap/itest/core/simple/SimpleLdapTemplateITests.java +++ b/test/integration-tests/src/test/java/org/springframework/ldap/itest/core/simple/SimpleLdapTemplateITests.java @@ -40,7 +40,7 @@ import org.springframework.test.context.ContextConfiguration; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; @ContextConfiguration(locations = { "/conf/simpleLdapTemplateTestContext.xml" }) public class SimpleLdapTemplateITests extends AbstractLdapTemplateIntegrationTests { @@ -213,13 +213,8 @@ private void verifyBoundCorrectData() { } private void verifyCleanup() { - try { - this.ldapTemplate.lookupContext(DN_STRING); - fail("NameNotFoundException expected"); - } - catch (NameNotFoundException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(NameNotFoundException.class) + .isThrownBy(() -> this.ldapTemplate.lookupContext(DN_STRING)); } private static final class CnContextMapper implements ContextMapper { diff --git a/test/integration-tests/src/test/java/org/springframework/ldap/itest/core/support/BaseLdapPathBeanPostprocessorITests.java b/test/integration-tests/src/test/java/org/springframework/ldap/itest/core/support/BaseLdapPathBeanPostprocessorITests.java index 8d7847c6f..201bec3bd 100644 --- a/test/integration-tests/src/test/java/org/springframework/ldap/itest/core/support/BaseLdapPathBeanPostprocessorITests.java +++ b/test/integration-tests/src/test/java/org/springframework/ldap/itest/core/support/BaseLdapPathBeanPostprocessorITests.java @@ -25,7 +25,7 @@ import org.springframework.ldap.support.LdapUtils; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; /** * Integration tests for @@ -51,14 +51,10 @@ public void testPostProcessBeforeInitialization() throws Exception { @Test public void testPostProcessBeforeInitializationMultipleContextSources() throws Exception { - try { - new ClassPathXmlApplicationContext("/conf/baseLdapPathPostProcessorMultiContextSourceTestContext.xml"); - fail("BeanCreationException expected"); - } - catch (BeanCreationException expected) { - Throwable cause = expected.getCause(); - assertThat(cause instanceof NoSuchBeanDefinitionException).isTrue(); - } + assertThatExceptionOfType(BeanCreationException.class) + .isThrownBy(() -> new ClassPathXmlApplicationContext( + "/conf/baseLdapPathPostProcessorMultiContextSourceTestContext.xml")) + .withCauseInstanceOf(NoSuchBeanDefinitionException.class); } @Test @@ -74,14 +70,10 @@ public void testPostProcessBeforeInitializationMultipleContextSourcesOneSpecifie @Test public void testPostProcessBeforeInitializationNoContextSource() throws Exception { - try { - new ClassPathXmlApplicationContext("/conf/baseLdapPathPostProcessorNoContextSourceTestContext.xml"); - fail("BeanCreationException expected"); - } - catch (BeanCreationException expected) { - Throwable cause = expected.getCause(); - assertThat(cause instanceof NoSuchBeanDefinitionException).isTrue(); - } + assertThatExceptionOfType(BeanCreationException.class) + .isThrownBy(() -> new ClassPathXmlApplicationContext( + "/conf/baseLdapPathPostProcessorNoContextSourceTestContext.xml")) + .withCauseInstanceOf(NoSuchBeanDefinitionException.class); } @Test diff --git a/test/integration-tests/src/test/java/org/springframework/ldap/itest/core/support/LdapContextSourceIntegrationTests.java b/test/integration-tests/src/test/java/org/springframework/ldap/itest/core/support/LdapContextSourceIntegrationTests.java index 3d06aec17..f046b658e 100644 --- a/test/integration-tests/src/test/java/org/springframework/ldap/itest/core/support/LdapContextSourceIntegrationTests.java +++ b/test/integration-tests/src/test/java/org/springframework/ldap/itest/core/support/LdapContextSourceIntegrationTests.java @@ -40,7 +40,6 @@ import org.springframework.test.context.ContextConfiguration; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; /** * Integration tests for LdapContextSource. @@ -150,12 +149,9 @@ public void verifyAuthenticate() { DirContext ctx = null; try { ctx = this.tested.getContext(results.get(0), "password"); - assertThat(true).isTrue(); - } - catch (Exception ex) { - fail("Authentication failed"); } finally { + assertThat(ctx).isNotNull(); LdapUtils.closeContext(ctx); } } diff --git a/test/integration-tests/src/test/java/org/springframework/ldap/itest/manager/ContextSourceTransactionManagerIntegrationTests.java b/test/integration-tests/src/test/java/org/springframework/ldap/itest/manager/ContextSourceTransactionManagerIntegrationTests.java index e90ce7df8..46125f41b 100644 --- a/test/integration-tests/src/test/java/org/springframework/ldap/itest/manager/ContextSourceTransactionManagerIntegrationTests.java +++ b/test/integration-tests/src/test/java/org/springframework/ldap/itest/manager/ContextSourceTransactionManagerIntegrationTests.java @@ -36,7 +36,7 @@ import org.springframework.transaction.support.TransactionSynchronizationManager; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; /** * Integration tests for @@ -65,25 +65,14 @@ public void prepareTestedInstance() throws Exception { @Test public void testCreateWithException() { - try { - this.dummyDao.createWithException("Sweden", "company1", "some testperson", "testperson", - "some description"); - fail("DummyException expected"); - } - catch (DummyException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(DummyException.class).isThrownBy(() -> this.dummyDao.createWithException("Sweden", + "company1", "some testperson", "testperson", "some description")); log.debug("Verifying result"); // Verify that no entry was created - try { - this.ldapTemplate.lookup("cn=some testperson, ou=company1, ou=Sweden"); - fail("NameNotFoundException expected"); - } - catch (NameNotFoundException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(NameNotFoundException.class) + .isThrownBy(() -> this.ldapTemplate.lookup("cn=some testperson, ou=company1, ou=Sweden")); } @Test @@ -101,13 +90,8 @@ public void testCreate() { @Test public void testUpdateWithException() { String dn = "cn=Some Person,ou=company1,ou=Sweden"; - try { - this.dummyDao.updateWithException(dn, "Some Person", "Updated Person", "Updated description"); - fail("DummyException expected"); - } - catch (DummyException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(DummyException.class).isThrownBy( + () -> this.dummyDao.updateWithException(dn, "Some Person", "Updated Person", "Updated description")); log.debug("Verifying result"); @@ -145,23 +129,12 @@ public Object mapFromAttributes(Attributes attributes) throws NamingException { public void testUpdateAndRenameWithException() { String dn = "cn=Some Person2,ou=company1,ou=Sweden"; String newDn = "cn=Some Person2,ou=company2,ou=Sweden"; - try { - // Perform test - this.dummyDao.updateAndRenameWithException(dn, newDn, "Updated description"); - fail("DummyException expected"); - } - catch (DummyException expected) { - assertThat(true).isTrue(); - } + // Perform test + assertThatExceptionOfType(DummyException.class) + .isThrownBy(() -> this.dummyDao.updateAndRenameWithException(dn, newDn, "Updated description")); // Verify that entry was not moved. - try { - this.ldapTemplate.lookup(newDn); - fail("NameNotFoundException expected"); - } - catch (NameNotFoundException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(NameNotFoundException.class).isThrownBy(() -> this.ldapTemplate.lookup(newDn)); // Verify that original entry was not updated. Object object = this.ldapTemplate.lookup(dn, new AttributesMapper() { @@ -195,14 +168,9 @@ public Object mapFromAttributes(Attributes attributes) throws NamingException { @Test public void testModifyAttributesWithException() { String dn = "cn=Some Person,ou=company1,ou=Sweden"; - try { - // Perform test - this.dummyDao.modifyAttributesWithException(dn, "Updated lastname", "Updated description"); - fail("DummyException expected"); - } - catch (DummyException expected) { - assertThat(true).isTrue(); - } + // Perform test + assertThatExceptionOfType(DummyException.class).isThrownBy( + () -> this.dummyDao.modifyAttributesWithException(dn, "Updated lastname", "Updated description")); // Verify result - check that the operation was properly rolled back Object result = this.ldapTemplate.lookup(dn, new AttributesMapper() { @@ -237,14 +205,10 @@ public Object mapFromAttributes(Attributes attributes) throws NamingException { @Test public void testUnbindWithException() { String dn = "cn=Some Person,ou=company1,ou=Sweden"; - try { - // Perform test - this.dummyDao.unbindWithException(dn, "Some Person"); - fail("DummyException expected"); - } - catch (DummyException expected) { - assertThat(true).isTrue(); - } + this.ldapTemplate.lookup(dn); + // Perform test + assertThatExceptionOfType(DummyException.class) + .isThrownBy(() -> this.dummyDao.unbindWithException(dn, "Some Person")); // Verify result - check that the operation was properly rolled back Object ldapResult = this.ldapTemplate.lookup(dn, new AttributesMapper() { @@ -262,16 +226,8 @@ public void testUnbind() { String dn = "cn=Some Person,ou=company1,ou=Sweden"; // Perform test this.dummyDao.unbind(dn, "Some Person"); - - try { - // Verify result - check that the operation was not rolled back - this.ldapTemplate.lookup(dn); - fail("NameNotFoundException expected"); - } - catch (NameNotFoundException expected) { - assertThat(true).isTrue(); - } - + // Verify result - check that the operation was not rolled back + assertThatExceptionOfType(NameNotFoundException.class).isThrownBy(() -> this.ldapTemplate.lookup(dn)); } } diff --git a/test/integration-tests/src/test/java/org/springframework/ldap/itest/manager/ContextSourceTransactionManagerNamespaceIntegrationTests.java b/test/integration-tests/src/test/java/org/springframework/ldap/itest/manager/ContextSourceTransactionManagerNamespaceIntegrationTests.java index 13503d9a0..760d70f3f 100644 --- a/test/integration-tests/src/test/java/org/springframework/ldap/itest/manager/ContextSourceTransactionManagerNamespaceIntegrationTests.java +++ b/test/integration-tests/src/test/java/org/springframework/ldap/itest/manager/ContextSourceTransactionManagerNamespaceIntegrationTests.java @@ -36,7 +36,7 @@ import org.springframework.transaction.support.TransactionSynchronizationManager; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; /** * Integration tests for @@ -66,25 +66,14 @@ public void prepareTestedInstance() throws Exception { @Test public void testCreateWithException() { - try { - this.dummyDao.createWithException("Sweden", "company1", "some testperson", "testperson", - "some description"); - fail("DummyException expected"); - } - catch (DummyException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(DummyException.class).isThrownBy(() -> this.dummyDao.createWithException("Sweden", + "company1", "some testperson", "testperson", "some description")); log.debug("Verifying result"); // Verify that no entry was created - try { - this.ldapTemplate.lookup("cn=some testperson, ou=company1, ou=Sweden"); - fail("NameNotFoundException expected"); - } - catch (NameNotFoundException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(NameNotFoundException.class) + .isThrownBy(() -> this.ldapTemplate.lookup("cn=some testperson, ou=company1, ou=Sweden")); } @Test @@ -102,13 +91,8 @@ public void testCreate() { @Test public void testUpdateWithException() { String dn = "cn=Some Person,ou=company1,ou=Sweden"; - try { - this.dummyDao.updateWithException(dn, "Some Person", "Updated Person", "Updated description"); - fail("DummyException expected"); - } - catch (DummyException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(DummyException.class).isThrownBy( + () -> this.dummyDao.updateWithException(dn, "Some Person", "Updated Person", "Updated description")); log.debug("Verifying result"); @@ -146,23 +130,12 @@ public Object mapFromAttributes(Attributes attributes) throws NamingException { public void testUpdateAndRenameWithException() { String dn = "cn=Some Person2,ou=company1,ou=Sweden"; String newDn = "cn=Some Person2,ou=company2,ou=Sweden"; - try { - // Perform test - this.dummyDao.updateAndRenameWithException(dn, newDn, "Updated description"); - fail("DummyException expected"); - } - catch (DummyException expected) { - assertThat(true).isTrue(); - } + // Perform test + assertThatExceptionOfType(DummyException.class) + .isThrownBy(() -> this.dummyDao.updateAndRenameWithException(dn, newDn, "Updated description")); // Verify that entry was not moved. - try { - this.ldapTemplate.lookup(newDn); - fail("NameNotFoundException expected"); - } - catch (NameNotFoundException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(NameNotFoundException.class).isThrownBy(() -> this.ldapTemplate.lookup(newDn)); // Verify that original entry was not updated. Object object = this.ldapTemplate.lookup(dn, new AttributesMapper() { @@ -196,14 +169,9 @@ public Object mapFromAttributes(Attributes attributes) throws NamingException { @Test public void testModifyAttributesWithException() { String dn = "cn=Some Person,ou=company1,ou=Sweden"; - try { - // Perform test - this.dummyDao.modifyAttributesWithException(dn, "Updated lastname", "Updated description"); - fail("DummyException expected"); - } - catch (DummyException expected) { - assertThat(true).isTrue(); - } + // Perform test + assertThatExceptionOfType(DummyException.class).isThrownBy( + () -> this.dummyDao.modifyAttributesWithException(dn, "Updated lastname", "Updated description")); // Verify result - check that the operation was properly rolled back Object result = this.ldapTemplate.lookup(dn, new AttributesMapper() { @@ -238,14 +206,9 @@ public Object mapFromAttributes(Attributes attributes) throws NamingException { @Test public void testUnbindWithException() { String dn = "cn=Some Person,ou=company1,ou=Sweden"; - try { - // Perform test - this.dummyDao.unbindWithException(dn, "Some Person"); - fail("DummyException expected"); - } - catch (DummyException expected) { - assertThat(true).isTrue(); - } + // Perform test + assertThatExceptionOfType(DummyException.class) + .isThrownBy(() -> this.dummyDao.unbindWithException(dn, "Some Person")); // Verify result - check that the operation was properly rolled back Object ldapResult = this.ldapTemplate.lookup(dn, new AttributesMapper() { @@ -264,15 +227,8 @@ public void testUnbind() { // Perform test this.dummyDao.unbind(dn, "Some Person"); - try { - // Verify result - check that the operation was not rolled back - this.ldapTemplate.lookup(dn); - fail("NameNotFoundException expected"); - } - catch (NameNotFoundException expected) { - assertThat(true).isTrue(); - } - + // Verify result - check that the operation was not rolled back + assertThatExceptionOfType(NameNotFoundException.class).isThrownBy(() -> this.ldapTemplate.lookup(dn)); } } diff --git a/test/integration-tests/src/test/java/org/springframework/ldap/itest/manager/ContextSourceTransactionManagerSubtreeIntegrationTests.java b/test/integration-tests/src/test/java/org/springframework/ldap/itest/manager/ContextSourceTransactionManagerSubtreeIntegrationTests.java index a276ed4cb..4e4e46639 100644 --- a/test/integration-tests/src/test/java/org/springframework/ldap/itest/manager/ContextSourceTransactionManagerSubtreeIntegrationTests.java +++ b/test/integration-tests/src/test/java/org/springframework/ldap/itest/manager/ContextSourceTransactionManagerSubtreeIntegrationTests.java @@ -31,8 +31,7 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.support.TransactionSynchronizationManager; -import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; /** * Integration tests for @@ -65,26 +64,15 @@ protected Resource getLdifFileResource() { @Test public void testLdap168DeleteRecursively() { this.dummyDao.deleteRecursively("ou=company1,ou=Sweden"); - - try { - this.ldapTemplate.lookup("ou=company1,ou=Sweden"); - fail("NameNotFoundException expected"); - } - catch (NameNotFoundException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(NameNotFoundException.class) + .isThrownBy(() -> this.ldapTemplate.lookup("ou=company1,ou=Sweden")); } @Test public void testLdap168DeleteWithException() { - try { - this.dummyDao.deleteRecursivelyWithException("ou=company1,ou=Sweden"); - fail("DummyException expected"); - } - catch (DummyException expected) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(DummyException.class) + .isThrownBy(() -> this.dummyDao.deleteRecursivelyWithException("ou=company1,ou=Sweden")); // Entry should have been restored this.ldapTemplate.lookup("ou=company1,ou=Sweden"); } @@ -96,13 +84,9 @@ public void testLdap244CreateRecursively() { @Test public void testLdap244CreateRecursivelyWithException() { - try { - this.dummyDao.createRecursivelyAndUnbindSubnodeWithException(); - fail("DummyException expected"); - } - catch (DummyException expected) { - assertThat(true).isTrue(); - } + + assertThatExceptionOfType(DummyException.class) + .isThrownBy(() -> this.dummyDao.createRecursivelyAndUnbindSubnodeWithException()); } } diff --git a/test/integration-tests/src/test/java/org/springframework/ldap/itest/odm/LdapTemplateOdmWithNoDnAnnotationsITests.java b/test/integration-tests/src/test/java/org/springframework/ldap/itest/odm/LdapTemplateOdmWithNoDnAnnotationsITests.java index 167e374b4..862e6e382 100644 --- a/test/integration-tests/src/test/java/org/springframework/ldap/itest/odm/LdapTemplateOdmWithNoDnAnnotationsITests.java +++ b/test/integration-tests/src/test/java/org/springframework/ldap/itest/odm/LdapTemplateOdmWithNoDnAnnotationsITests.java @@ -34,7 +34,6 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatExceptionOfType; -import static org.assertj.core.api.Assertions.fail; /** * @author Mattias Hellborg Arthursson @@ -190,14 +189,8 @@ public void testDelete() { Person person = this.tested.findOne(LdapQueryBuilder.query().where("cn").is("Some Person3"), Person.class); this.tested.delete(person); - - try { - this.tested.findOne(LdapQueryBuilder.query().where("cn").is("Some Person3"), Person.class); - fail("EmptyResultDataAccessException e"); - } - catch (EmptyResultDataAccessException ex) { - assertThat(true).isTrue(); - } + assertThatExceptionOfType(EmptyResultDataAccessException.class).isThrownBy( + () -> this.tested.findOne(LdapQueryBuilder.query().where("cn").is("Some Person3"), Person.class)); } /**