|
8 | 8 | # FIXTURES AND TEST DATA |
9 | 9 | # Fixtures used in the below tests can be found in |
10 | 10 | # django/sierra/base/tests/conftest.py: |
11 | | -# records_by_recnum_range, new_exporter, export_records, |
12 | | -# delete_records, solr_conn, solr_search |
| 11 | +# sierra_records_by_recnum_range, sierra_full_object_set, |
| 12 | +# new_exporter, export_records, delete_records, solr_conn, |
| 13 | +# solr_search |
13 | 14 |
|
14 | 15 | pytestmark = pytest.mark.django_db |
15 | 16 |
|
16 | 17 |
|
17 | 18 | @pytest.fixture |
18 | | -def solr_exporter_test_params(records_by_recnum_range): |
19 | | - bib_set = records_by_recnum_range('b4371446') |
| 19 | +def solr_exporter_test_params(sierra_records_by_recnum_range, |
| 20 | + sierra_full_object_set): |
| 21 | + bib_set = sierra_records_by_recnum_range('b4371446') |
| 22 | + eres_set = sierra_records_by_recnum_range('e1001249') |
| 23 | + item_set = sierra_records_by_recnum_range('i4264281') |
| 24 | + itype_set = sierra_full_object_set('ItypeProperty') |
| 25 | + istatus_set = sierra_full_object_set('ItemStatusProperty') |
| 26 | + location_set = sierra_full_object_set('Location') |
| 27 | + |
20 | 28 | return { |
21 | 29 | 'BibsToSolr': { |
22 | 30 | 'record_set': bib_set, |
23 | | - 'core_tests': { |
24 | | - 'bibdata': { 'query': '*', 'result': 1 }, |
25 | | - 'marc': { 'query': '*', 'result': 1 } |
26 | | - } |
| 31 | + 'cores': ['bibdata', 'marc'], |
| 32 | + 'try_delete': True |
| 33 | + }, |
| 34 | + 'EResourcesToSolr': { |
| 35 | + 'record_set': eres_set, |
| 36 | + 'cores': ['haystack'], |
| 37 | + 'try_delete': True |
| 38 | + }, |
| 39 | + 'ItemsToSolr': { |
| 40 | + 'record_set': item_set, |
| 41 | + 'cores': ['haystack'], |
| 42 | + 'try_delete': True |
| 43 | + }, |
| 44 | + 'ItemStatusesToSolr': { |
| 45 | + 'record_set': istatus_set, |
| 46 | + 'cores': ['haystack'], |
| 47 | + 'try_delete': False |
| 48 | + }, |
| 49 | + 'ItypesToSolr': { |
| 50 | + 'record_set': itype_set, |
| 51 | + 'cores': ['haystack'], |
| 52 | + 'try_delete': False |
| 53 | + }, |
| 54 | + 'LocationsToSolr': { |
| 55 | + 'record_set': location_set, |
| 56 | + 'cores': ['haystack'], |
| 57 | + 'try_delete': False |
27 | 58 | }, |
28 | 59 | } |
29 | 60 |
|
30 | 61 |
|
31 | 62 | # TESTS |
32 | 63 |
|
33 | | -@pytest.mark.parametrize('etype_code', ['BibsToSolr']) |
| 64 | +@pytest.mark.parametrize('etype_code', [ |
| 65 | + 'BibsToSolr', |
| 66 | + 'EResourcesToSolr', |
| 67 | + 'ItemsToSolr', |
| 68 | + 'ItemStatusesToSolr', |
| 69 | + 'ItypesToSolr', |
| 70 | + 'LocationsToSolr']) |
34 | 71 | def test_exports_to_solr(etype_code, solr_exporter_test_params, new_exporter, |
35 | 72 | export_records, delete_records, solr_conn, |
36 | 73 | solr_search): |
37 | 74 | """ |
38 | 75 | For Exporter classes that load data into Solr, blah |
39 | 76 | """ |
40 | 77 | record_set = solr_exporter_test_params[etype_code]['record_set'] |
41 | | - core_tests = solr_exporter_test_params[etype_code]['core_tests'] |
42 | | - cores = core_tests.keys() |
| 78 | + cores = solr_exporter_test_params[etype_code]['cores'] |
| 79 | + try_delete = solr_exporter_test_params[etype_code]['try_delete'] |
43 | 80 | load_exporter = new_exporter(etype_code, 'full_export', 'waiting') |
44 | 81 | conns = {c: solr_conn(c) for c in cores} |
45 | | - pre_results = {c: solr_search(conns[c], {'q': core_tests[c]['query']}) |
46 | | - for c in cores} |
47 | | - export_records(load_exporter, record_set ) |
48 | | - load_results = {c: solr_search(conns[c], {'q': core_tests[c]['query']}) |
49 | | - for c in cores} |
50 | | - del_exporter = new_exporter(etype_code, 'full_export', 'waiting') |
51 | | - delete_records(del_exporter, record_set) |
52 | | - del_results = {c: solr_search(conns[c], {'q': core_tests[c]['query']}) |
53 | | - for c in cores} |
| 82 | + pre_results = {c: solr_search(conns[c], {'q': '*'}) for c in cores} |
| 83 | + export_records(load_exporter, record_set) |
| 84 | + load_results = {c: solr_search(conns[c], {'q': '*'}) for c in cores} |
| 85 | + del_results = {} |
| 86 | + if try_delete: |
| 87 | + del_exporter = new_exporter(etype_code, 'full_export', 'waiting') |
| 88 | + delete_records(del_exporter, record_set) |
| 89 | + del_results = {c: solr_search(conns[c], {'q': '*'}) for c in cores} |
54 | 90 |
|
55 | 91 | for core in cores: |
56 | 92 | assert len(pre_results[core]) == 0 |
57 | | - assert len(load_results[core]) == core_tests[core]['result'] |
58 | | - assert len(del_results[core]) == 0 |
| 93 | + assert len(load_results[core]) > 0 |
| 94 | + if try_delete: |
| 95 | + assert len(del_results[core]) == 0 |
0 commit comments