Example #1
0
    def test_marshal_plates_runs(self, plates_runs):
        plate_a, plate_b, plate_c, plate_d = plates_runs
        perms_css = 'canEdit canAnnotate canLink canDelete isOwned canChgrp'
        expected = list()
        # The underlying query explicitly orders the Plates by name.
        for plate in sorted(plates_runs, cmp_name_insensitive):
            plate_id = plate.id.val
            expected.append({
                'id': plate_id,
                'name': plate.name.val,
                'plateAcquisitions': list(),
                'plateAcquisitionCount': 2,
                'permsCss': perms_css
            })
            # The underlying query explicitly orders the PlateAcquisitions
            # by id.
            plate_acquisitions = \
                sorted(plate.copyPlateAcquisitions(), cmp_id)
            for plate_acquisition in plate_acquisitions:
                expected[-1]['plateAcquisitions'].append({
                    'id': plate_acquisition.id.val,
                    'name': 'Run %d' % plate_acquisition.id.val,
                    'permsCss': perms_css
                })

        marshaled = marshal_plates(self.conn, self.conn.getUserId())
        assert marshaled == expected
Example #2
0
    def test_marshal_plates_runs(self, conn, plates_runs):
        plate_a, plate_b, plate_c, plate_d = plates_runs
        perms_css = 'canEdit canAnnotate canLink canDelete canChgrp'
        expected = list()
        # The underlying query explicitly orders the Plates by name.
        for plate in sorted(plates_runs, cmp_name_insensitive):
            plate_id = plate.id.val
            expected.append({
                'id': plate_id,
                'isOwned': True,
                'name': plate.name.val,
                'plateAcquisitions': list(),
                'plateAcquisitionCount': 2,
                'permsCss': perms_css
            })
            # The underlying query explicitly orders the PlateAcquisitions
            # by id.
            plate_acquisitions = \
                sorted(plate.copyPlateAcquisitions(), cmp_id)
            for plate_acquisition in plate_acquisitions:
                expected[-1]['plateAcquisitions'].append({
                    'id':
                    plate_acquisition.id.val,
                    'name':
                    'Run %d' % plate_acquisition.id.val,
                    'isOwned':
                    True,
                    'permsCss':
                    perms_css
                })

        marshaled = marshal_plates(conn, conn.getUserId())
        assert marshaled == expected
Example #3
0
    def test_marshal_plate_run(self, conn, plate_run):
        plate_id = plate_run.id.val
        plate_acquisition, = plate_run.copyPlateAcquisitions()
        perms_css = 'canEdit canAnnotate canLink canDelete canChgrp'
        expected = [{
            'id':
            plate_id,
            'isOwned':
            True,
            'name':
            plate_run.name.val,
            'plateAcquisitions': [{
                'id': plate_acquisition.id.val,
                'name': 'Run %d' % plate_acquisition.id.val,
                'isOwned': True,
                'permsCss': perms_css
            }],
            'plateAcquisitionCount':
            1,
            'permsCss':
            perms_css
        }]

        marshaled = marshal_plates(conn, conn.getUserId())
        assert marshaled == expected
Example #4
0
    def test_marshal_plate(self, plate):
        plate_id = plate.id.val
        perms_css = 'canEdit canAnnotate canLink canDelete isOwned canChgrp'
        expected = [{
            'id': plate_id,
            'name': plate.name.val,
            'plateAcquisitions': list(),
            'plateAcquisitionCount': 0,
            'permsCss': perms_css
        }]

        marshaled = marshal_plates(self.conn, self.conn.getUserId())
        assert marshaled == expected
Example #5
0
    def test_marshal_plate(self, conn, plate):
        plate_id = plate.id.val
        perms_css = 'canEdit canAnnotate canLink canDelete canChgrp'
        expected = [{
            'id': plate_id,
            'isOwned': True,
            'name': plate.name.val,
            'plateAcquisitions': list(),
            'plateAcquisitionCount': 0,
            'permsCss': perms_css
        }]

        marshaled = marshal_plates(conn, conn.getUserId())
        assert marshaled == expected
Example #6
0
    def test_marshal_plate_run(self, plate_run):
        plate_id = plate_run.id.val
        plate_acquisition, = plate_run.copyPlateAcquisitions()
        perms_css = 'canEdit canAnnotate canLink canDelete isOwned canChgrp'
        expected = [{
            'id': plate_id,
            'name': plate_run.name.val,
            'plateAcquisitions': [{
                'id': plate_acquisition.id.val,
                'name': 'Run %d' % plate_acquisition.id.val,
                'permsCss': perms_css
            }],
            'plateAcquisitionCount': 1,
            'permsCss': perms_css
        }]

        marshaled = marshal_plates(self.conn, self.conn.getUserId())
        assert marshaled == expected
Example #7
0
    def test_marshal_plates_different_users_as_other_user(
            self, plates_different_users):
        plate_a, plate_b = plates_different_users
        expected = list()
        perms_css = ''
        # The underlying query explicitly orders the Plates list by
        # case-insensitive name.
        for plate in sorted(plates_different_users, cmp_name_insensitive):
            expected.append({
                'id': plate.id.val,
                'name': plate.name.val,
                'plateAcquisitions': list(),
                'plateAcquisitionCount': 0,
                'permsCss': perms_css,
            })

        self.conn.SERVICE_OPTS.setOmeroGroup(plate_a.details.group.id.val)
        marshaled = marshal_plates(self.conn, None)
        assert marshaled == expected
Example #8
0
    def test_marshal_plates_different_users_as_other_user(
            self, conn, plates_different_users):
        plate_a, plate_b = plates_different_users
        expected = list()
        perms_css = ''
        # The underlying query explicitly orders the Plates list by
        # case-insensitive name.
        for plate in sorted(plates_different_users, cmp_name_insensitive):
            expected.append({
                'id': plate.id.val,
                'isOwned': False,
                'name': plate.name.val,
                'plateAcquisitions': list(),
                'plateAcquisitionCount': 0,
                'permsCss': perms_css,
            })

        conn.SERVICE_OPTS.setOmeroGroup(plate_a.details.group.id.val)
        marshaled = marshal_plates(conn, None)
        assert marshaled == expected
Example #9
0
 def test_marshal_plates_no_results(self):
     assert marshal_plates(self.conn, -1L) == []