<classResult _class='hudson.tasks.junit.ClassResult'><child><age>0</age><className>OmeroPy.test.integration.gatewaytest.test_get_objects.TestGetObject</className><duration>1.834</duration><failedSince>0</failedSince><name>testFindExperimenterWithGroups</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroPy.test.integration.gatewaytest.test_get_objects.TestGetObject</className><duration>9.337</duration><failedSince>0</failedSince><name>testGetAnnotations</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroPy.test.integration.gatewaytest.test_get_objects.TestGetObject</className><duration>0.027</duration><failedSince>0</failedSince><name>testGetDatasetsByProject</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroPy.test.integration.gatewaytest.test_get_objects.TestGetObject</className><duration>2.573</duration><failedSince>0</failedSince><name>testGetExperimenter</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroPy.test.integration.gatewaytest.test_get_objects.TestGetObject</className><duration>4.309</duration><failedSince>0</failedSince><name>testGetExperimentersByGroup[False]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroPy.test.integration.gatewaytest.test_get_objects.TestGetObject</className><duration>5.288</duration><failedSince>0</failedSince><name>testGetExperimentersByGroup[True]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroPy.test.integration.gatewaytest.test_get_objects.TestGetObject</className><duration>0.139</duration><failedSince>0</failedSince><name>testGetImage</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroPy.test.integration.gatewaytest.test_get_objects.TestGetObject</className><duration>0.028</duration><failedSince>0</failedSince><name>testGetImageLoadPixels[False-False]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroPy.test.integration.gatewaytest.test_get_objects.TestGetObject</className><duration>0.031</duration><failedSince>0</failedSince><name>testGetImageLoadPixels[False-True]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroPy.test.integration.gatewaytest.test_get_objects.TestGetObject</className><duration>0.033</duration><failedSince>0</failedSince><name>testGetImageLoadPixels[True-False]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroPy.test.integration.gatewaytest.test_get_objects.TestGetObject</className><duration>0.04</duration><failedSince>0</failedSince><name>testGetImageLoadPixels[True-True]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>10</age><className>OmeroPy.test.integration.gatewaytest.test_get_objects.TestGetObject</className><duration>2.484</duration><errorDetails>assert 11 == 9
 +  where 11 = len([&lt;FileAnnotationWrapper id=365&gt;, &lt;FileAnnotationWrapper id=366&gt;, &lt;CommentAnnotationWrapper id=5328&gt;, &lt;TagAnnotationWrapper id=5329&gt;, &lt;FileAnnotationWrapper id=5330&gt;, &lt;CommentAnnotationWrapper id=5331&gt;, ...])</errorDetails><errorStackTrace>self = &lt;test.integration.gatewaytest.test_get_objects.TestGetObject object at 0x7f25f6a8add0&gt;

    def testGetObjectsAnnotation(self):
    
        # create new group and user - don't rely on existing test user/group
    
        group = self.new_group(perms='rwra--')
        client, user = self.new_client_and_user(group=group)
    
        conn = BlitzGateway(client_obj=client)
        update = conn.getUpdateService()
    
        ns = "test_get_objects_annotation_comment"
        ns_tag = "test_get_objects_annotation_tag"
        ns_file = "test_get_objects_annotation_file"
    
        def create_dataset_with_annotations(name, dtype="Dataset"):
            if dtype == "Dataset":
                obj = DatasetI()
                obj.name = rstring(name)
                obj = update.saveAndReturnObject(obj)
                wrapper = omero.gateway.DatasetWrapper(conn, obj)
            elif dtype == "Project":
                obj = ProjectI()
                obj.name = rstring(name)
                obj = update.saveAndReturnObject(obj)
                wrapper = omero.gateway.ProjectWrapper(conn, obj)
    
            # create Comment
            ann = omero.gateway.CommentAnnotationWrapper(conn)
            ann.setNs(ns)
            ann.setValue("Test Comment: " + name)
            ann = wrapper.linkAnnotation(ann)
            # create Tag
            tag = omero.gateway.TagAnnotationWrapper(conn)
            tag.setNs(ns_tag)
            tag.setValue("Test Tag: " + name)
            wrapper.linkAnnotation(tag)
            # create FileAnnotation
            fileAnn = omero.gateway.FileAnnotationWrapper(conn)
            fileObj = omero.model.OriginalFileI()
            fileObj = omero.gateway.OriginalFileWrapper(conn, fileObj)
            fileObj.setName(omero.rtypes.rstring('fileName'))
            fileObj.setPath(omero.rtypes.rstring('path/to/file'))
            fileObj.setHash(omero.rtypes.rstring('a'))
            fileObj.setSize(omero.rtypes.rlong(0))
            fileObj.save()
            fileAnn.setFile(fileObj)
            fileAnn.setNs(ns_file)
            fileAnn.save()
            wrapper.linkAnnotation(fileAnn)
    
            return wrapper
    
        dataset1 = create_dataset_with_annotations("Dataset 1")
        dataset2 = create_dataset_with_annotations("Dataset 2")
        create_dataset_with_annotations("Project 1", dtype="Project")
    
        # get all annotations on one Dataset
        annGen = conn.getObjects("Annotation",
                                 opts={'parent_type': "dataset",
                                       'parent_ids': [dataset1.id]})
        assert len(list(annGen)) == 3
    
        # get all annotations on two Datasets
        annGen = conn.getObjects("Annotation",
                                 opts={'parent_type': "dataset",
                                       'parent_ids': [dataset1.id,
                                                      dataset2.id]})
        assert len(list(annGen)) == 6
    
        # get all annotations on ALL Datasets
        annGen = conn.getObjects("Annotation", opts={'parent_type': "dataset"})
        assert len(list(annGen)) == 6
    
        # No annotations on PlateAcquisition (none created)
        annGen = conn.getObjects("Annotation",
                                 opts={'parent_type': "plateacquisition"})
        assert len(list(annGen)) == 0
    
        # get ALL annotations
        anns = list(conn.getObjects("Annotation"))
&gt;       assert len(anns) == 9
E       assert 11 == 9
E        +  where 11 = len([&lt;FileAnnotationWrapper id=365&gt;, &lt;FileAnnotationWrapper id=366&gt;, &lt;CommentAnnotationWrapper id=5328&gt;, &lt;TagAnnotationWrapper id=5329&gt;, &lt;FileAnnotationWrapper id=5330&gt;, &lt;CommentAnnotationWrapper id=5331&gt;, ...])

test/integration/gatewaytest/test_get_objects.py:720: AssertionError</errorStackTrace><failedSince>1</failedSince><name>testGetObjectsAnnotation</name><properties></properties><skipped>false</skipped><status>FAILED</status></child><child><age>0</age><className>OmeroPy.test.integration.gatewaytest.test_get_objects.TestGetObject</className><duration>2.537</duration><failedSince>0</failedSince><name>testGetObjectsByMapAnnotations[Dataset]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroPy.test.integration.gatewaytest.test_get_objects.TestGetObject</className><duration>3.13</duration><failedSince>0</failedSince><name>testGetObjectsByMapAnnotations[Image]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroPy.test.integration.gatewaytest.test_get_objects.TestGetObject</className><duration>4.775</duration><failedSince>0</failedSince><name>testGetObjectsByMapAnnotations[Plate]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroPy.test.integration.gatewaytest.test_get_objects.TestGetObject</className><duration>3.059</duration><failedSince>0</failedSince><name>testGetObjectsByMapAnnotations[Project]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroPy.test.integration.gatewaytest.test_get_objects.TestGetObject</className><duration>2.54</duration><failedSince>0</failedSince><name>testGetObjectsByMapAnnotations[Screen]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroPy.test.integration.gatewaytest.test_get_objects.TestGetObject</className><duration>0.018</duration><failedSince>0</failedSince><name>testGetProject</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroPy.test.integration.gatewaytest.test_get_objects.TestGetObject</className><duration>0.005</duration><failedSince>0</failedSince><name>testListColleagues</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroPy.test.integration.gatewaytest.test_get_objects.TestGetObject</className><duration>2.964</duration><failedSince>0</failedSince><name>testListExperimentersAndGroups[False]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroPy.test.integration.gatewaytest.test_get_objects.TestGetObject</className><duration>3.638</duration><failedSince>0</failedSince><name>testListExperimentersAndGroups[True]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroPy.test.integration.gatewaytest.test_get_objects.TestGetObject</className><duration>0.649</duration><failedSince>0</failedSince><name>testListOrphans[False0-False]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroPy.test.integration.gatewaytest.test_get_objects.TestGetObject</className><duration>1.035</duration><failedSince>0</failedSince><name>testListOrphans[False0-True]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroPy.test.integration.gatewaytest.test_get_objects.TestGetObject</className><duration>0.529</duration><failedSince>0</failedSince><name>testListOrphans[False1-False]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroPy.test.integration.gatewaytest.test_get_objects.TestGetObject</className><duration>0.525</duration><failedSince>0</failedSince><name>testListOrphans[False1-True]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroPy.test.integration.gatewaytest.test_get_objects.TestGetObject</className><duration>0.017</duration><failedSince>0</failedSince><name>testListProjects</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroPy.test.integration.gatewaytest.test_get_objects.TestGetObject</className><duration>0.415</duration><failedSince>0</failedSince><name>testOrderById</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroPy.test.integration.gatewaytest.test_get_objects.TestGetObject</className><duration>0.009</duration><failedSince>0</failedSince><name>testPagination</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroPy.test.integration.gatewaytest.test_get_objects.TestGetObject</className><duration>4.08</duration><failedSince>0</failedSince><name>testSearchObjects</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroPy.test.integration.gatewaytest.test_get_objects.TestGetObject</className><duration>0.069</duration><failedSince>0</failedSince><name>testTraversal</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><failCount>1</failCount><name>TestGetObject</name><passCount>29</passCount><skipCount>0</skipCount></classResult>