def test_returns_legacy_name_as_name(): schema = AcceleratorExperimentSchemaV1() dump = {'legacy_name': 'Test'} expected = {'name': 'Test'} result = schema.dumps(dump).data assert expected == json.loads(result)
def test_returns_none_as_name_if_empty_present(): schema = AcceleratorExperimentSchemaV1() dump = {} expected = {'name': None} result = schema.dumps(dump).data assert expected == json.loads(result)
def test_returns_legacy_name_as_name_if_experiment_missing(): schema = AcceleratorExperimentSchemaV1() dump = { 'legacy_name': 'LEGACY-EXP1', 'institutions': [{ 'value': 'INS' }], 'accelerator': { 'value': 'ACC' }, } expected = {'name': 'LEGACY-EXP1'} result = schema.dumps(dump).data assert expected == json.loads(result)
def test_returns_dashed_institution_accelerator_experiment_as_name_if_all_present( ): schema = AcceleratorExperimentSchemaV1() dump = { 'legacy_name': 'LEGACY-EXP1', 'institutions': [{ 'value': 'INS' }], 'accelerator': { 'value': 'ACC' }, 'experiment': { 'value': 'EXP1' }, } expected = {'name': 'INS-ACC-EXP1'} result = schema.dumps(dump).data assert expected == json.loads(result)
def test_returns_dashed_institution_accelerator_experiment_as_name_with_unicode( ): schema = AcceleratorExperimentSchemaV1() dump = { 'legacy_name': 'LEGACY-EXP1', 'institutions': [{ 'value': u'PSI, Villigen' }], 'accelerator': { 'value': u'PSI πM1 beam line' }, 'experiment': { 'value': u'MUSE' }, } expected = {'name': u'PSI, Villigen-PSI πM1 beam line-MUSE'} result = schema.dumps(dump).data assert expected == json.loads(result)