Refactor the ResourceResolver interface, require(..) method to throw a ResourceNotFoundException.

Edit Javadoc.

Resolves gh-92.
This commit is contained in:
John Blum
2020-07-21 20:31:56 -07:00
parent 4a7de7f565
commit a439b8a81d
2 changed files with 15 additions and 13 deletions

View File

@@ -23,6 +23,7 @@ import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
import java.util.Optional;
import java.util.Set;
@@ -78,10 +79,11 @@ public class ResourceResolverUnitTests {
verify(resourceResolver, times(1)).resolve(eq(location));
verify(mockResource, times(1)).exists();
verifyNoMoreInteractions(mockResource);
}
@Test(expected = IllegalStateException.class)
public void requireCallsResolveReturningNonExistingResourceThrowsIllegalStateException() {
@Test(expected = ResourceNotFoundException.class)
public void requireCallsResolveReturningNonExistingResourceThrowsResourceNotFoundException() {
String location = "/path/to/non-existing/resource.dat";
@@ -96,7 +98,7 @@ public class ResourceResolverUnitTests {
try {
resourceResolver.require(location);
}
catch (IllegalStateException expected) {
catch (ResourceNotFoundException expected) {
assertThat(expected).hasMessage("Resource [%s] does not exist", location);
assertThat(expected).hasNoCause();
@@ -106,23 +108,24 @@ public class ResourceResolverUnitTests {
finally {
verify(resourceResolver, times(1)).resolve(eq(location));
verify(mockResource, times(1)).exists();
verifyNoMoreInteractions(mockResource);
}
}
@Test(expected = IllegalStateException.class)
public void requireCallsResolveReturningNoResourceThrowsIllegalStateException() {
@Test(expected = ResourceNotFoundException.class)
public void requireCallsResolveReturningNoResourceThrowsResourceNotFoundException() {
String location = "/path/to/nowhere";
ResourceResolver resourceResolver = mock(ResourceResolver.class);
doReturn(Optional.empty()).when(resourceResolver).resolve(eq(location));
doReturn(Optional.empty()).when(resourceResolver).resolve(any());
doCallRealMethod().when(resourceResolver).require(any());
try {
resourceResolver.require(location);
}
catch (IllegalStateException expected) {
catch (ResourceNotFoundException expected) {
assertThat(expected).hasMessage("Resource [%s] does not exist", location);
assertThat(expected).hasNoCause();