Skip to content
Snippets Groups Projects
Verified Commit ea5cfdb6 authored by Tobias Grantner's avatar Tobias Grantner
Browse files

Changed tests to not alter obects in BaseTest, which can produce side effects

parent f714e7e8
No related branches found
No related tags found
2 merge requests!163Relase 1.3.0,!150Resolve "Use DOIs as PIDs"
...@@ -98,9 +98,8 @@ public class DataCiteIdentifierServiceUnitTest extends BaseUnitTest { ...@@ -98,9 +98,8 @@ public class DataCiteIdentifierServiceUnitTest extends BaseUnitTest {
IdentifierRequestException { IdentifierRequestException {
final Principal principal = new BasicUserPrincipal(USER_1_USERNAME); final Principal principal = new BasicUserPrincipal(USER_1_USERNAME);
final String bearer = "Bearer abcxyz"; final String bearer = "Bearer abcxyz";
final String doi = "10.000/thisisadoi";
final DataCiteBody<DataCiteDoi> response = final DataCiteBody<DataCiteDoi> response =
new DataCiteBody<>(new DataCiteData<>(null, "dois", new DataCiteDoi(doi))); new DataCiteBody<>(new DataCiteData<>(null, "dois", new DataCiteDoi(IDENTIFIER_1_DOI_NOT_NULL)));
/* mock */ /* mock */
when(identifierService.create(any(IdentifierCreateDto.class), eq(principal), eq(bearer))) when(identifierService.create(any(IdentifierCreateDto.class), eq(principal), eq(bearer)))
...@@ -112,7 +111,7 @@ public class DataCiteIdentifierServiceUnitTest extends BaseUnitTest { ...@@ -112,7 +111,7 @@ public class DataCiteIdentifierServiceUnitTest extends BaseUnitTest {
/* test */ /* test */
Identifier result = dataCiteIdentifierService.create(IDENTIFIER_1_DTO_REQUEST, principal, bearer); Identifier result = dataCiteIdentifierService.create(IDENTIFIER_1_DTO_REQUEST, principal, bearer);
assertTrue(identifierRepository.existsById(result.getId())); assertTrue(identifierRepository.existsById(result.getId()));
assertEquals(doi, result.getDoi()); assertEquals(IDENTIFIER_1_DOI_NOT_NULL, result.getDoi());
} }
@Test @Test
...@@ -162,42 +161,36 @@ public class DataCiteIdentifierServiceUnitTest extends BaseUnitTest { ...@@ -162,42 +161,36 @@ public class DataCiteIdentifierServiceUnitTest extends BaseUnitTest {
@Test @Test
public void update_existing_succeeds() public void update_existing_succeeds()
throws IdentifierRequestException, IdentifierNotFoundException { throws IdentifierRequestException, IdentifierNotFoundException {
final String doi = "10.000/thisisanotherdoi";
final DataCiteBody<DataCiteDoi> response = final DataCiteBody<DataCiteDoi> response =
new DataCiteBody<>(new DataCiteData<>(null, "dois", new DataCiteDoi(doi))); new DataCiteBody<>(new DataCiteData<>(null, "dois", new DataCiteDoi(IDENTIFIER_1_DOI_NOT_NULL)));
IDENTIFIER_1.setDoi(doi);
/* mock */ /* mock */
when(identifierService.update(eq(IDENTIFIER_1_ID), any(IdentifierDto.class))) when(identifierService.update(eq(IDENTIFIER_1_ID), any(IdentifierDto.class)))
.thenAnswer((i) -> identifierRepository.save(IDENTIFIER_1)); .thenAnswer((i) -> identifierRepository.save(IDENTIFIER_1_WITH_DOI));
when(restTemplate.exchange(anyString(), eq(HttpMethod.PUT), any(HttpEntity.class), when(restTemplate.exchange(anyString(), eq(HttpMethod.PUT), any(HttpEntity.class),
any(ParameterizedTypeReference.class), eq(doi))) any(ParameterizedTypeReference.class), eq(IDENTIFIER_1_DOI_NOT_NULL)))
.thenReturn(ResponseEntity.ok(response)); .thenReturn(ResponseEntity.ok(response));
/* test */ /* test */
Identifier result = dataCiteIdentifierService.update(IDENTIFIER_1_ID, IDENTIFIER_1_DTO); Identifier result = dataCiteIdentifierService.update(IDENTIFIER_1_ID, IDENTIFIER_1_WITH_DOI_DTO);
assertTrue(identifierRepository.existsById(IDENTIFIER_1_ID)); assertTrue(identifierRepository.existsById(IDENTIFIER_1_ID));
assertEquals(doi, result.getDoi()); assertEquals(IDENTIFIER_1_DOI_NOT_NULL, result.getDoi());
} }
@Test @Test
public void update_invalidMetadata_fails() public void update_invalidMetadata_fails()
throws IdentifierRequestException, IdentifierNotFoundException { throws IdentifierRequestException, IdentifierNotFoundException {
final String doi = "10.000/thisisanotherdoi";
final DataCiteBody<DataCiteDoi> response =
new DataCiteBody<>(new DataCiteData<>(null, "dois", new DataCiteDoi(doi)));
IDENTIFIER_1.setDoi(doi);
/* mock */ /* mock */
when(identifierService.update(eq(IDENTIFIER_1_ID), any(IdentifierDto.class))) when(identifierService.update(eq(IDENTIFIER_1_ID), any(IdentifierDto.class)))
.thenAnswer((i) -> identifierRepository.save(IDENTIFIER_1)); .thenAnswer((i) -> identifierRepository.save(IDENTIFIER_1_WITH_DOI));
when(restTemplate.exchange(anyString(), eq(HttpMethod.PUT), any(HttpEntity.class), when(restTemplate.exchange(anyString(), eq(HttpMethod.PUT), any(HttpEntity.class),
any(ParameterizedTypeReference.class), eq(doi))) any(ParameterizedTypeReference.class), eq(IDENTIFIER_1_DOI_NOT_NULL)))
.thenThrow(HttpClientErrorException.BadRequest.class); .thenThrow(HttpClientErrorException.BadRequest.class);
/* test */ /* test */
assertThrows(IdentifierRequestException.class, () -> { assertThrows(IdentifierRequestException.class, () -> {
dataCiteIdentifierService.update(IDENTIFIER_1_ID, IDENTIFIER_1_DTO); dataCiteIdentifierService.update(IDENTIFIER_1_ID, IDENTIFIER_1_WITH_DOI_DTO);
}); });
assertEquals(0, identifierRepository.count()); assertEquals(0, identifierRepository.count());
} }
...@@ -205,21 +198,17 @@ public class DataCiteIdentifierServiceUnitTest extends BaseUnitTest { ...@@ -205,21 +198,17 @@ public class DataCiteIdentifierServiceUnitTest extends BaseUnitTest {
@Test @Test
public void update_restClientException_fails() public void update_restClientException_fails()
throws IdentifierRequestException, IdentifierNotFoundException { throws IdentifierRequestException, IdentifierNotFoundException {
final String doi = "10.000/thisisanotherdoi";
final DataCiteBody<DataCiteDoi> response =
new DataCiteBody<>(new DataCiteData<>(null, "dois", new DataCiteDoi(doi)));
IDENTIFIER_1.setDoi(doi);
/* mock */ /* mock */
when(identifierService.update(eq(IDENTIFIER_1_ID), any(IdentifierDto.class))) when(identifierService.update(eq(IDENTIFIER_1_ID), any(IdentifierDto.class)))
.thenAnswer((i) -> identifierRepository.save(IDENTIFIER_1)); .thenAnswer((i) -> identifierRepository.save(IDENTIFIER_1_WITH_DOI));
when(restTemplate.exchange(anyString(), eq(HttpMethod.PUT), any(HttpEntity.class), when(restTemplate.exchange(anyString(), eq(HttpMethod.PUT), any(HttpEntity.class),
any(ParameterizedTypeReference.class), eq(doi))) any(ParameterizedTypeReference.class), eq(IDENTIFIER_1_DOI_NOT_NULL)))
.thenThrow(RestClientException.class); .thenThrow(RestClientException.class);
/* test */ /* test */
assertThrows(InternalError.class, () -> { assertThrows(InternalError.class, () -> {
dataCiteIdentifierService.update(IDENTIFIER_1_ID, IDENTIFIER_1_DTO); dataCiteIdentifierService.update(IDENTIFIER_1_ID, IDENTIFIER_1_WITH_DOI_DTO);
}); });
assertEquals(0, identifierRepository.count()); assertEquals(0, identifierRepository.count());
} }
......
...@@ -190,16 +190,15 @@ public class IdentifierServiceUnitTest extends BaseUnitTest { ...@@ -190,16 +190,15 @@ public class IdentifierServiceUnitTest extends BaseUnitTest {
@Test @Test
public void update_doiChange_fails() { public void update_doiChange_fails() {
Identifier identifier = Identifier.builder().id(IDENTIFIER_1_ID).doi("10.000/thisisadoi").build(); IdentifierDto identifierWithNewDoiDto = IdentifierDto.builder().id(IDENTIFIER_1_ID).visibility(VisibilityTypeDto.EVERYONE).doi("10.000/thisisadifferentdoi").build();
IdentifierDto identifierDto = IdentifierDto.builder().id(IDENTIFIER_1_ID).visibility(VisibilityTypeDto.EVERYONE).doi("10.000/thisisadifferentdoi").build();
/* mock */ /* mock */
when(identifierRepository.findById(IDENTIFIER_1_ID)) when(identifierRepository.findById(IDENTIFIER_1_ID))
.thenReturn(Optional.of(identifier)); .thenReturn(Optional.of(IDENTIFIER_1_WITH_DOI));
/* test */ /* test */
assertThrows(IdentifierRequestException.class, () -> { assertThrows(IdentifierRequestException.class, () -> {
identifierService.update(IDENTIFIER_1_ID, identifierDto); identifierService.update(IDENTIFIER_1_ID, identifierWithNewDoiDto);
}); });
} }
...@@ -319,11 +318,9 @@ public class IdentifierServiceUnitTest extends BaseUnitTest { ...@@ -319,11 +318,9 @@ public class IdentifierServiceUnitTest extends BaseUnitTest {
@Test @Test
public void delete_withDoi_fails() { public void delete_withDoi_fails() {
Identifier identifier = Identifier.builder().id(IDENTIFIER_1_ID).doi("10.000/thisisadoi").build();
/* mock */ /* mock */
when(identifierRepository.findById(IDENTIFIER_1_ID)) when(identifierRepository.findById(IDENTIFIER_1_ID))
.thenReturn(Optional.of(identifier)); .thenReturn(Optional.of(IDENTIFIER_1_WITH_DOI));
doNothing() doNothing()
.when(identifierRepository) .when(identifierRepository)
.delete(IDENTIFIER_1); .delete(IDENTIFIER_1);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment