예제 #1
0
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
예제 #2
0
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
예제 #3
0
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