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
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
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
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
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
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
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
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
def test_marshal_plates_no_results(self): assert marshal_plates(self.conn, -1L) == []