def test_get_configuration(arxiv_record, publisher_record): assert get_configuration(arxiv_record, arxiv_record) == ArxivOnArxivOperations assert get_configuration(arxiv_record, publisher_record) == PublisherOnArxivOperations assert get_configuration(publisher_record, arxiv_record) == ArxivOnPublisherOperations assert get_configuration( publisher_record, publisher_record) == PublisherOnPublisherOperations arxiv1 = arxiv_record arxiv1['control_number'] = 1 arxiv2 = dict(arxiv_record) arxiv2['control_number'] = 2 pub1 = publisher_record pub1['control_number'] = 3 pub2 = dict(publisher_record) pub2['control_number'] = 4 assert get_configuration(arxiv1, arxiv2) == ManualMergeOperations assert get_configuration(pub1, pub2) == ManualMergeOperations # even if both have a ``control_number`` arxiv-publisher # will give always the configuration ArxivOnPublisherOperations assert get_configuration(arxiv1, pub1) == PublisherOnArxivOperations assert get_configuration(pub1, arxiv1) == ArxivOnPublisherOperations arxiv2['control_number'] = 1 # same of the other arxiv record assert get_configuration(arxiv1, arxiv2) == ArxivOnArxivOperations
def test_get_configuration_without_acquisition_source(arxiv_record, publisher_record): arxiv1 = dict(arxiv_record) arxiv1['control_number'] = 1 del arxiv1['acquisition_source'] arxiv2 = dict(arxiv_record) arxiv2['control_number'] = 2 del arxiv2['acquisition_source'] assert get_configuration(arxiv1, arxiv2) == ManualMergeOperations # arxiv2 is a publisher because doesn't have acquisition source assert get_configuration(arxiv_record, arxiv2) == PublisherOnArxivOperations # first one is arxiv because has arxiv_eprint assert get_configuration(arxiv1, arxiv_record) == ArxivOnArxivOperations assert get_configuration(arxiv1, arxiv2) == ManualMergeOperations
def test_get_configuration(arxiv_record, publisher_record, erratum_1, erratum_2, erratum_3): assert get_configuration(arxiv_record, arxiv_record) == ArxivOnArxivOperations assert get_configuration(arxiv_record, publisher_record) == PublisherOnArxivOperations assert get_configuration(publisher_record, arxiv_record) == ArxivOnPublisherOperations assert get_configuration(publisher_record, publisher_record) == PublisherOnPublisherOperations assert get_configuration(publisher_record, erratum_1) == ErratumOnPublisherOperations assert get_configuration(publisher_record, erratum_2) == ErratumOnPublisherOperations assert get_configuration(publisher_record, erratum_3) == ErratumOnPublisherOperations arxiv1 = arxiv_record arxiv1['control_number'] = 1 arxiv2 = dict(arxiv_record) arxiv2['control_number'] = 2 pub1 = publisher_record pub1['control_number'] = 3 pub2 = dict(publisher_record) pub2['control_number'] = 4 assert get_configuration(arxiv1, arxiv2) == ManualMergeOperations assert get_configuration(pub1, pub2) == ManualMergeOperations assert get_configuration(arxiv1, pub1) == ManualMergeOperations assert get_configuration(pub1, arxiv1) == ManualMergeOperations arxiv2['control_number'] = 1 # same of the other arxiv record assert get_configuration(arxiv1, arxiv2) == ArxivOnArxivOperations