Skip to content

Commit

Permalink
[DSC-2014] split test method
Browse files Browse the repository at this point in the history
  • Loading branch information
Micheleboychuk committed Nov 6, 2024
1 parent 318fcbe commit 5bc0e3e
Showing 1 changed file with 65 additions and 38 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
import org.junit.Test;

/**
* Test suit for RequestItemMetadataStrategy
* Test suite for RequestItemMetadataStrategy
*
* @author Mykhaylo Boychuk (mykhaylo.boychuk at 4science.com)
*/
Expand All @@ -47,7 +47,7 @@ public class RequestItemMetadataStrategyTest extends AbstractUnitTest {

private Item item;
private Item orphanItem;
private Item notVadilEmailItem;
private Item notValidEmailItem;

@BeforeClass
public static void setUpClass() throws SQLException {
Expand All @@ -72,6 +72,9 @@ public void setUp() {
this.itemService = ContentServiceFactory.getInstance().getItemService();
this.configurationService = DSpaceServicesFactory.getInstance().getConfigurationService();

this.configurationService.setProperty("mail.helpdesk", "helpdesk@test.com");
this.configurationService.setProperty("mail.helpdesk.name", "Helpdesk Name");

context = new Context();
context.setCurrentUser(johnDoe);
context.turnOffAuthorisationSystem();
Expand All @@ -88,7 +91,7 @@ public void setUp() {
.build();
orphanItem.setSubmitter(null);

notVadilEmailItem = ItemBuilder.createItem(context, collection)
notValidEmailItem = ItemBuilder.createItem(context, collection)
.withTitle("Not Valid email Item")
.withPersonEmail("test@test")
.build();
Expand All @@ -100,52 +103,76 @@ public void setUp() {
* @throws Exception passed through.
*/
@Test
public void testGetRequestItemAuthor() throws Exception {
public void testMetadataStrategy() throws Exception {
RequestItemMetadataStrategy metadataStrategy = new RequestItemMetadataStrategy();
metadataStrategy.setItemService(this.itemService);
metadataStrategy.setConfigurationService(this.configurationService);
metadataStrategy.setEmailMetadata("person.email");
metadataStrategy.setFullNameMetadata("dc.title");
List<RequestItemAuthor> author = metadataStrategy.getRequestItemAuthor(context, item);
assertEquals("misha.boychuk@test.com", author.get(0).getEmail());
assertEquals("Misha Boychuk", author.get(0).getFullName());

this.configurationService.setProperty("mail.helpdesk", "helpdesk@test.com");
this.configurationService.setProperty("mail.helpdesk.name", "Helpdesk Name");
List<RequestItemAuthor> authors = metadataStrategy.getRequestItemAuthor(context, item);
assertEquals("misha.boychuk@test.com", authors.get(0).getEmail());
assertEquals("Misha Boychuk", authors.get(0).getFullName());

List<RequestItemAuthor> authorsOforphanItem = metadataStrategy.getRequestItemAuthor(context, orphanItem);
assertEquals("orphanItem@test.com", authorsOforphanItem.get(0).getEmail());
assertEquals("Orphan Item", authorsOforphanItem.get(0).getFullName());

List<RequestItemAuthor> authorsOfnotValidEmailItem =
metadataStrategy.getRequestItemAuthor(context, notValidEmailItem);
assertEquals(AUTHOR_ADDRESS, authorsOfnotValidEmailItem.get(0).getEmail());
assertEquals("John Doe", authorsOfnotValidEmailItem.get(0).getFullName());
}

@Test
public void testMissingMetadataStrategy() throws Exception {
RequestItemMetadataStrategy metadataStrategy = new RequestItemMetadataStrategy();
metadataStrategy.setItemService(this.itemService);
metadataStrategy.setConfigurationService(this.configurationService);
metadataStrategy.setEmailMetadata("person.notExist");
metadataStrategy.setFullNameMetadata("dc.title");

List<RequestItemAuthor> authors = metadataStrategy.getRequestItemAuthor(context, item);
assertEquals(AUTHOR_ADDRESS, authors.get(0).getEmail());
assertEquals("John Doe", authors.get(0).getFullName());

// item without 'person.notExist' metadata & submitter is null
RequestItemMetadataStrategy metadataStrategy2 = new RequestItemMetadataStrategy();
metadataStrategy2.setItemService(this.itemService);
metadataStrategy2.setConfigurationService(this.configurationService);
metadataStrategy2.setEmailMetadata("person.notExist");
metadataStrategy2.setFullNameMetadata("dc.title");
List<RequestItemAuthor> author2 = metadataStrategy2.getRequestItemAuthor(context, orphanItem);
assertEquals("helpdesk@test.com", author2.get(0).getEmail());
assertEquals("Helpdesk Name", author2.get(0).getFullName());

// item without 'person.notExist' metadata & submitter is null & helpdesk is null
List<RequestItemAuthor> authorsOforphanItem = metadataStrategy.getRequestItemAuthor(context, orphanItem);
assertEquals("helpdesk@test.com", authorsOforphanItem.get(0).getEmail());
assertEquals("Helpdesk Name", authorsOforphanItem.get(0).getFullName());

List<RequestItemAuthor> authorsOfnotValidEmailItem =
metadataStrategy.getRequestItemAuthor(context, notValidEmailItem);
assertEquals(AUTHOR_ADDRESS, authorsOfnotValidEmailItem.get(0).getEmail());
assertEquals("John Doe", authorsOfnotValidEmailItem.get(0).getFullName());
}

@Test
public void testNotConfiguredMetadataStrategy() throws Exception {
RequestItemMetadataStrategy metadataStrategy = new RequestItemMetadataStrategy();
metadataStrategy.setItemService(this.itemService);
metadataStrategy.setConfigurationService(this.configurationService);

List<RequestItemAuthor> authors = metadataStrategy.getRequestItemAuthor(context, item);
assertEquals(AUTHOR_ADDRESS, authors.get(0).getEmail());
assertEquals("John Doe", authors.get(0).getFullName());

List<RequestItemAuthor> authorsOforphanItem = metadataStrategy.getRequestItemAuthor(context, orphanItem);
assertEquals("helpdesk@test.com", authorsOforphanItem.get(0).getEmail());
assertEquals("Helpdesk Name", authorsOforphanItem.get(0).getFullName());

// set helpdesk to null
this.configurationService.setProperty("mail.helpdesk", null);
this.configurationService.setProperty("mail.admin", "adminTest@test.com");
this.configurationService.setProperty("mail.admin.name", "Admin Name");

RequestItemMetadataStrategy metadataStrategy3 = new RequestItemMetadataStrategy();
metadataStrategy3.setItemService(this.itemService);
metadataStrategy3.setConfigurationService(this.configurationService);
metadataStrategy3.setEmailMetadata("person.notExist");
metadataStrategy3.setFullNameMetadata("dc.title");
List<RequestItemAuthor> author3 = metadataStrategy3.getRequestItemAuthor(context, orphanItem);
assertEquals("adminTest@test.com", author3.get(0).getEmail());
assertEquals("Admin Name", author3.get(0).getFullName());

// not valid email test
RequestItemMetadataStrategy metadataStrategy4 = new RequestItemMetadataStrategy();
metadataStrategy4.setItemService(this.itemService);
metadataStrategy4.setConfigurationService(this.configurationService);
metadataStrategy4.setEmailMetadata("person.email");
metadataStrategy4.setFullNameMetadata("dc.title");
List<RequestItemAuthor> author4 = metadataStrategy4.getRequestItemAuthor(context, notVadilEmailItem);
assertEquals(AUTHOR_ADDRESS, author4.get(0).getEmail());
assertEquals(johnDoe.getFullName(), author4.get(0).getFullName());
List<RequestItemAuthor> authorsOforphanItem2 = metadataStrategy.getRequestItemAuthor(context, orphanItem);
assertEquals("adminTest@test.com", authorsOforphanItem2.get(0).getEmail());
assertEquals("Admin Name", authorsOforphanItem2.get(0).getFullName());

List<RequestItemAuthor> authorsOfnotValidEmailItem =
metadataStrategy.getRequestItemAuthor(context, notValidEmailItem);
assertEquals(AUTHOR_ADDRESS, authorsOfnotValidEmailItem.get(0).getEmail());
assertEquals("John Doe", authorsOfnotValidEmailItem.get(0).getFullName());
}

}

0 comments on commit 5bc0e3e

Please sign in to comment.