<classResult _class='hudson.tasks.junit.ClassResult'><child><age>0</age><className>OmeroPy.test.integration.gatewaytest.test_get_objects.TestGetObject</className><duration>2.418</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>11.057</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.029</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.048</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.84</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.613</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.128</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.029</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.032</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.034</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.041</duration><failedSince>0</failedSince><name>testGetImageLoadPixels[True-True]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>8</age><className>OmeroPy.test.integration.gatewaytest.test_get_objects.TestGetObject</className><duration>2.862</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 0x7f5f4cecec50&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>6.162</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>2.694</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.257</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>2.614</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>3.242</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.02</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.006</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.345</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>4.495</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.637</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>0.959</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.515</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.46</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.019</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.416</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.01</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>3.892</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.072</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>