Search in sources :

Example 11 with Strain

use of org.jbei.ice.storage.model.Strain in project ice by JBEI.

the class CustomFieldsTest method testGetPartsByFields.

@Test
public void testGetPartsByFields() throws Exception {
    // create part
    Account account = AccountCreator.createTestAccount("testGetPartsByFields", false);
    final String userId = account.getEmail();
    Strain strain = TestEntryCreator.createTestStrain(account);
    Assert.assertNotNull(strain);
    // create fields for strain
    long strainId = strain.getId();
    fields.createField(userId, strainId, new CustomField(strainId, "type", "promoter"));
    fields.createField(userId, strainId, new CustomField(strainId, "strength", "weak"));
    // search for strength:weak
    List<CustomField> searchFields = new ArrayList<>();
    searchFields.add(new CustomField("strength", "weak"));
    List<PartData> results = fields.getPartsByFields(userId, searchFields);
    Assert.assertEquals(1, results.size());
    // create additional entry
    Plasmid plasmid = TestEntryCreator.createTestPlasmid(account);
    Assert.assertNotNull(plasmid);
    long plasmidId = plasmid.getId();
    fields.createField(userId, plasmidId, new CustomField(plasmidId, "type", "promoter"));
    fields.createField(userId, plasmidId, new CustomField(plasmidId, "strength", "strong"));
    searchFields.clear();
    searchFields.add(new CustomField("strength", "strong"));
    results = fields.getPartsByFields(userId, searchFields);
    Assert.assertEquals(1, results.size());
    Assert.assertEquals(plasmid.getId(), results.get(0).getId());
    // search for type:promoter
    searchFields.clear();
    searchFields.add(new CustomField("type", "promoter"));
    results = fields.getPartsByFields(userId, searchFields);
    Assert.assertEquals(2, results.size());
    Assert.assertTrue(strain.getId() == results.get(0).getId() || results.get(1).getId() == strain.getId());
    // test two
    searchFields.clear();
    searchFields.add(new CustomField(strainId, "type", "promoter"));
    searchFields.add(new CustomField(strainId, "strength", "weak"));
    results = fields.getPartsByFields(userId, searchFields);
    Assert.assertNotNull(results);
    Assert.assertTrue(results.size() == 1);
    Assert.assertEquals(strain.getId(), results.get(0).getId());
}
Also used : Plasmid(org.jbei.ice.storage.model.Plasmid) Account(org.jbei.ice.storage.model.Account) ArrayList(java.util.ArrayList) Strain(org.jbei.ice.storage.model.Strain) Test(org.junit.Test)

Example 12 with Strain

use of org.jbei.ice.storage.model.Strain in project ice by JBEI.

the class CustomFieldsTest method testGetFieldsForPart.

@Test
public void testGetFieldsForPart() throws Exception {
    Account account = AccountCreator.createTestAccount("testGetFieldsForPart", false);
    Assert.assertNotNull(account);
    final String userId = account.getEmail();
    Strain strain = TestEntryCreator.createTestStrain(account);
    Assert.assertNotNull(strain);
    HashSet<Long> ids = new HashSet<>();
    for (int i = 1; i <= 10; i += 1) {
        CustomField field = new CustomField(strain.getId(), "name" + i, "value" + i);
        long id = fields.createField(userId, strain.getId(), field).getId();
        ids.add(id);
    }
    List<CustomField> result = fields.getFieldsForPart(userId, strain.getId());
    Assert.assertNotNull(result);
    Assert.assertTrue(result.size() == 10);
    for (CustomField field : result) {
        Assert.assertTrue(ids.contains(field.getId()));
    }
}
Also used : Account(org.jbei.ice.storage.model.Account) Strain(org.jbei.ice.storage.model.Strain) HashSet(java.util.HashSet) Test(org.junit.Test)

Example 13 with Strain

use of org.jbei.ice.storage.model.Strain in project ice by JBEI.

the class FolderContentsTest method testGetContents.

@Test
public void testGetContents() throws Exception {
    FolderContents folderContents = new FolderContents();
    // test with null id
    folderContents.getContents(null, 0, new PageParameters(0, 10, ColumnField.PART_ID, false, null));
    Account account = AccountCreator.createTestAccount("testRetrieveFolderContents", false);
    String userId = account.getEmail();
    FolderDetails folderDetails = new FolderDetails();
    folderDetails.setName("test");
    // create folder
    FolderDetails folder = createPersonalFolder(userId, folderDetails);
    Assert.assertNotNull(folder);
    final short size = 105;
    // create 100 test strains
    HashMap<String, Entry> parts = new HashMap<>();
    List<Long> entryList = new ArrayList<>();
    for (int i = 0; i < size; i += 1) {
        Strain strain = TestEntryCreator.createTestStrain(account);
        Assert.assertNotNull(strain);
        parts.put(strain.getPartNumber(), strain);
        entryList.add(strain.getId());
    }
    Assert.assertEquals(size, parts.size());
    // add to folder
    List<FolderDetails> foldersToAdd = new ArrayList<>();
    foldersToAdd.add(folder);
    foldersToAdd = folderContents.addEntriesToFolders(account.getEmail(), entryList, foldersToAdd);
    Assert.assertNotNull(foldersToAdd);
    // keep track to find duplicates
    HashSet<Long> set = new HashSet<>();
    // retrieve (supported sort types created, status, name, part_id, type)
    FolderDetails details = folderContents.getContents(account.getEmail(), folder.getId(), new PageParameters(0, 15, ColumnField.PART_ID, false, null));
    Assert.assertNotNull(details);
    short pageSize = 15;
    int it = 1;
    while (!details.getEntries().isEmpty()) {
        Assert.assertEquals(pageSize, details.getEntries().size());
        for (PartData partData : details.getEntries()) {
            Assert.assertNotNull(parts.remove(partData.getPartId()));
            Assert.assertFalse(set.contains(partData.getId()));
            set.add(partData.getId());
        }
        // check remaining
        Assert.assertEquals((size - (it * pageSize)), parts.size());
        details = folderContents.getContents(account.getEmail(), folder.getId(), new PageParameters(pageSize * it, pageSize, ColumnField.PART_ID, false, null));
        it += 1;
    }
}
Also used : Account(org.jbei.ice.storage.model.Account) FolderDetails(org.jbei.ice.lib.dto.folder.FolderDetails) PageParameters(org.jbei.ice.lib.dto.common.PageParameters) Strain(org.jbei.ice.storage.model.Strain) Entry(org.jbei.ice.storage.model.Entry) PartData(org.jbei.ice.lib.dto.entry.PartData) Test(org.junit.Test)

Example 14 with Strain

use of org.jbei.ice.storage.model.Strain in project ice by JBEI.

the class PartSequenceTest method testGet.

@Test
public void testGet() throws Exception {
    Account account = AccountCreator.createTestAccount("PartSequenceTest.testGet", false);
    Strain strain = TestEntryCreator.createTestStrain(account);
    PartSequence partSequence = new PartSequence(account.getEmail(), strain.getRecordId());
    FeaturedDNASequence sequence = partSequence.get();
    Assert.assertNull(sequence);
    ByteArrayInputStream inputStream = new ByteArrayInputStream(genbank.getBytes());
    SequenceInfo sequenceInfo = partSequence.parseSequenceFile(inputStream, "testFile.gb");
    Assert.assertNotNull(sequenceInfo);
    FeaturedDNASequence featuredDNASequence = (FeaturedDNASequence) sequenceInfo.getSequence();
    Assert.assertNotNull(featuredDNASequence);
    Assert.assertEquals(1, featuredDNASequence.getFeatures().size());
    sequence = partSequence.get();
    Assert.assertNotNull(sequence);
    Assert.assertEquals(234, sequence.getSequence().length());
    Assert.assertEquals(1, sequence.getFeatures().size());
}
Also used : Account(org.jbei.ice.storage.model.Account) ByteArrayInputStream(java.io.ByteArrayInputStream) SequenceInfo(org.jbei.ice.lib.dto.entry.SequenceInfo) FeaturedDNASequence(org.jbei.ice.lib.dto.FeaturedDNASequence) Strain(org.jbei.ice.storage.model.Strain) Test(org.junit.Test)

Example 15 with Strain

use of org.jbei.ice.storage.model.Strain in project ice by JBEI.

the class SelectionMarkerDAOTest method testGetMatchingSelectionMarkers.

@Test
public void testGetMatchingSelectionMarkers() throws Exception {
    String email = "testGetMatchingSelectionMarkers";
    Account account = AccountCreator.createTestAccount(email, false);
    Assert.assertNotNull(account);
    Strain strain = new Strain();
    strain.setName("sTrain");
    strain.setBioSafetyLevel(BioSafetyOption.LEVEL_ONE.ordinal());
    strain.setShortDescription("test strain");
    SelectionMarker marker = new SelectionMarker();
    marker.setName("xkcd");
    SelectionMarker marker2 = new SelectionMarker();
    marker2.setName("test");
    Set<SelectionMarker> markerSet = new HashSet<>();
    markerSet.add(marker);
    markerSet.add(marker2);
    strain.setSelectionMarkers(markerSet);
    EntryCreator creator = new EntryCreator();
    strain = (Strain) creator.createEntry(account, strain, null);
    Assert.assertNotNull(strain);
    Assert.assertEquals(2, strain.getSelectionMarkers().size());
    List<String> results = dao.getMatchingSelectionMarkers("xkcd", 5);
    Assert.assertEquals(1, results.size());
    List<String> res = dao.getMatchingSelectionMarkers("tes", 5);
    Assert.assertEquals(1, res.size());
    Assert.assertEquals("test", res.get(0));
}
Also used : Account(org.jbei.ice.storage.model.Account) EntryCreator(org.jbei.ice.lib.entry.EntryCreator) SelectionMarker(org.jbei.ice.storage.model.SelectionMarker) Strain(org.jbei.ice.storage.model.Strain) HashSet(java.util.HashSet) Test(org.junit.Test)

Aggregations

Strain (org.jbei.ice.storage.model.Strain)23 Account (org.jbei.ice.storage.model.Account)20 Test (org.junit.Test)19 Plasmid (org.jbei.ice.storage.model.Plasmid)6 PartData (org.jbei.ice.lib.dto.entry.PartData)5 PartSample (org.jbei.ice.lib.dto.sample.PartSample)4 ArrayList (java.util.ArrayList)3 StorageLocation (org.jbei.ice.lib.dto.StorageLocation)3 EntryCreator (org.jbei.ice.lib.entry.EntryCreator)3 HashSet (java.util.HashSet)2 ByteArrayInputStream (java.io.ByteArrayInputStream)1 Date (java.util.Date)1 HashMap (java.util.HashMap)1 PermissionsController (org.jbei.ice.lib.access.PermissionsController)1 FeaturedDNASequence (org.jbei.ice.lib.dto.FeaturedDNASequence)1 AccessPermission (org.jbei.ice.lib.dto.access.AccessPermission)1 UserComment (org.jbei.ice.lib.dto.comment.UserComment)1 PageParameters (org.jbei.ice.lib.dto.common.PageParameters)1 SequenceInfo (org.jbei.ice.lib.dto.entry.SequenceInfo)1 FolderDetails (org.jbei.ice.lib.dto.folder.FolderDetails)1