Skip to content
Snippets Groups Projects
Commit e7cbe1b1 authored by jakubs's avatar jakubs
Browse files

add emails sending to the test

SVN: 25949
parent df81fce4
No related branches found
No related tags found
No related merge requests found
from ch.systemsx.cisd.common.mail import EMailAddress
SPACE_CODE = "RICH_SPACE"
PROJECT_ID = "/RICH_SPACE/RICH_PROJECT"
EXPERIMENT_ID = "/RICH_SPACE/RICH_PROJECT/RICH_EXPERIMENT"
# the hooks
def sendMail(context, subject, message):
mailClient = context.getGlobalState().getMailClient();
addressFrom = EMailAddress("example@example.com")
addressTo = EMailAddress("rich_test_example@example.com", "example name")
mailClient.sendEmailMessage(subject, message, None,
addressFrom, addressTo)
def post_metadata_registration(context):
content = "post_metadata_registration rich %s " % context.getPersistentMap().get("email_text")
sendMail(context, "Subject", "post_metadata_registration rich")
def create_space_if_needed(transaction):
space = transaction.getSpace(SPACE_CODE)
if None == space:
......@@ -19,18 +34,19 @@ def create_experiment_if_needed(transaction):
exp = transaction.getExperiment(EXPERIMENT_ID)
if None == exp:
create_project_if_needed(transaction)
print 'Creating new experiment : ' + EXPERIMENT_ID
exp = transaction.createNewExperiment(EXPERIMENT_ID, 'SIRNA_HCS')
exp.setPropertyValue("DESCRIPTION", "A sample experiment")
return exp
def createMaterials(transaction):
for x in range(0,100):
mat = transaction.createNewMaterial("RM_%d" % x, "GENE")
mat.setPropertyValue("GENE_SYMBOL", "RM_%d_S" %x)
def createSamples(transaction):
sample = transaction.createNewSample('/RICH_SPACE/SAMPLE123', 'DYNAMIC_PLATE')
def process(transaction):
# create experiment
experiment = create_experiment_if_needed(transaction)
......@@ -43,3 +59,8 @@ def process(transaction):
# register many materials
createMaterials(transaction)
# register samples
createSamples(transaction)
transaction.getRegistrationContext.getPersistentMap().put("email_text", "rich_email_text")
......@@ -40,7 +40,7 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ProjectIdentifier;
*/
public class FeatureRichDataSetImportSystemTest extends SystemTestCase
{
// for jython script go to sourceTest/core-plugins/generic-test/1/dss/drop-boxes/link-data-test
// for jython script go to sourceTest/core-plugins/generic-test/1/dss/drop-boxes/rich-test
@Override
protected File getIncomingDirectory()
......@@ -51,6 +51,7 @@ public class FeatureRichDataSetImportSystemTest extends SystemTestCase
@Test
public void testRichImport() throws Exception
{
File exampleDataSet = new File(workingDirectory, "my-data");
createExampleDataSet(exampleDataSet);
moveFileToIncoming(exampleDataSet);
......@@ -65,6 +66,25 @@ public class FeatureRichDataSetImportSystemTest extends SystemTestCase
assertLinkedDataSetImported(openBISService);
assert100MaterialsCreated(openBISService);
assertEmailHasBeenSentFromHook();
}
private void assertEmailHasBeenSentFromHook()
{
File emailDirectory = new File(new File(workingDirectory, "dss-root"), "email");
for (File f : FileUtilities.listFiles(emailDirectory))
{
String content = FileUtilities.loadExactToString(f);
if (content.contains("post_metadata_registration rich"))
{
assertTrue(content.contains("rich_email_text")); // check the content introduced
// with the persistent map
return; // assert ok
}
}
fail("No email found!");
}
private void assertSpaceProjectExperiment(IEncapsulatedOpenBISService openBISService)
......@@ -99,8 +119,7 @@ public class FeatureRichDataSetImportSystemTest extends SystemTestCase
for (int i = 0; i < 100; i++)
{
MaterialIdentifier ident =
MaterialIdentifier.tryParseIdentifier("RM_" + i + " (GENE)");
MaterialIdentifier ident = MaterialIdentifier.tryParseIdentifier("RM_" + i + " (GENE)");
ids.add(ident);
}
......
......@@ -37,6 +37,9 @@ public class LinkDataSetImportSystemTest extends SystemTestCase
// for jython script go to sourceTest/core-plugins/generic-test/1/dss/drop-boxes/link-data-test
File emailDirectory = new File(new File(new File(workingDirectory, "SystemTests"), "dss-root"),
"email");
@Override
protected File getIncomingDirectory()
{
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment