def test_task_update_record_augments(self): with patch('adsmp.tasks.task_index_records.delay') as next_task: d = { u"aff": [ u"Purdue University (United States)", u"Purdue University (United States)", u"Purdue University (United States)" ], u"aff_abbrev": [u"NA", u"NA", u"NA"], u"aff_canonical": [u"-", u"-", u"-"], u"aff_facet": [], u"aff_facet_hier": [], u"aff_id": [], u"author": [u"Mikhail, E. M.", u"Kurtz, M. K.", u"Stevenson, W. H."], u"bibcode": u"1971SPIE...26..187M", u"institution": [] } tasks.task_update_record(AugmentAffiliationResponseRecord(**d)) db_rec = self.app.get_record(bibcode='1971SPIE...26..187M') db_rec['augments'].pop('status') self.maxDiff = None self.assertDictEqual(db_rec['augments'], d) self.assertFalse(next_task.called)
def test_task_index_links(self): """verify data is sent to links microservice update endpoint""" r = Mock() r.status_code = 200 # just make sure we have the entry in a database tasks.task_update_record(DenormalizedRecord(bibcode='linkstest')) with patch.object(self.app, 'get_record', return_value={'bibcode': 'linkstest', 'nonbib_data': {'data_links_rows': [{'baz': 0}]}, 'bib_data_updated': get_date(), 'nonbib_data_updated': get_date(), 'processed': get_date('2025')}), \ patch('requests.put', return_value = r, new_callable=CopyingMock) as p: tasks.task_index_records(['linkstest'], update_solr=False, update_metrics=False, update_links=True, force=True) p.assert_called_with('http://localhost:8080/update', data=json.dumps([{ 'bibcode': 'linkstest', 'data_links_rows': [{ 'baz': 0 }] }]), headers={'Authorization': 'Bearer api_token'}) rec = self.app.get_record(bibcode='linkstest') self.assertEquals(rec['datalinks_checksum'], '0x80e85169') self.assertEquals(rec['solr_checksum'], None) self.assertEquals(rec['metrics_checksum'], None)
def test_task_update_record_metrics(self): with patch('adsmp.tasks.task_index_records.delay') as next_task: self.assertFalse(next_task.called) tasks.task_update_record( MetricsRecord(bibcode='2015ApJ...815..133S')) self.assertTrue(next_task.called) self.assertTrue(next_task.call_args[0], ('2015ApJ...815..133S'))
def test_task_update_record_nonbib(self): with patch('adsmp.tasks.task_index_records.delay') as next_task: tasks.task_update_record( NonBibRecord(bibcode='2015ApJ...815..133S', read_count=9)) self.assertEquals( self.app.get_record(bibcode='2015ApJ...815..133S') ['nonbib_data']['read_count'], 9) self.assertFalse(next_task.called)
def test_task_update_record_fulltext(self): with patch('adsmp.tasks.task_index_records.delay') as next_task: self.assertFalse(next_task.called) tasks.task_update_record( FulltextUpdate(bibcode='2015ApJ...815..133S', body='INTRODUCTION')) self.assertTrue(next_task.called) self.assertTrue(next_task.call_args[0], ('2015ApJ...815..133S', ))
def test_task_update_record_fulltext(self): with patch('adsmp.tasks.task_index_records.delay') as next_task: tasks.task_update_record( FulltextUpdate(bibcode='2015ApJ...815..133S', body='INTRODUCTION')) self.assertEquals( self.app.get_record( bibcode='2015ApJ...815..133S')['fulltext']['body'], 'INTRODUCTION') self.assertFalse(next_task.called)
def test_task_update_record_metrics_list(self): with patch('adsmp.tasks.task_index_records.delay') as next_task: recs = MetricsRecordList() metrics_data = {'bibcode': '2015ApJ...815..133S'} metrics_data2 = {'bibcode': '3015ApJ...815..133Z'} rec = MetricsRecord(**metrics_data) rec2 = MetricsRecord(**metrics_data2) recs.metrics_records.extend([rec._data, rec2._data]) tasks.task_update_record(recs) self.assertFalse(next_task.called)
def test_task_update_record_augments_list(self): with patch('adsmp.tasks.task_index_records.delay') as next_task: recs = NonBibRecordList() nonbib_data = {'bibcode': '2003ASPC..295..361M', 'boost': 3.1} nonbib_data2 = {'bibcode': '3003ASPC..295..361Z', 'boost': 3.2} rec = NonBibRecord(**nonbib_data) rec2 = NonBibRecord(**nonbib_data2) recs.nonbib_records.extend([rec._data, rec2._data]) tasks.task_update_record(recs) self.assertFalse(next_task.called)
def test_task_update_record_nonbib_list(self): with patch('adsmp.tasks.task_index_records.delay') as next_task: self.assertFalse(next_task.called) recs = NonBibRecordList() nonbib_data = {'bibcode': '2003ASPC..295..361M', 'refereed': False} nonbib_data2 = {'bibcode': '3003ASPC..295..361Z', 'refereed': True} rec = NonBibRecord(**nonbib_data) rec2 = NonBibRecord(**nonbib_data2) recs.nonbib_records.extend([rec._data, rec2._data]) tasks.task_update_record(recs) self.assertTrue(next_task.called) self.assertTrue(next_task.call_args[0], ('2015ApJ...815..133S', '3003ASPC..295..361Z'))
def test_task_update_record(self): with patch('adsmp.tasks.task_index_records.apply_async') as next_task, \ patch('adsmp.app.ADSMasterPipelineCelery.request_aff_augment') as augment: tasks.task_update_record(DenormalizedRecord(bibcode='2015ApJ...815..133S')) self.assertFalse(next_task.called) self.assertTrue(augment.called) with patch('adsmp.solr_updater.delete_by_bibcodes', return_value=[('2015ApJ...815..133S'), ()]) as solr_delete, \ patch('adsmp.app.ADSMasterPipelineCelery.request_aff_augment') as augment, \ patch.object(self.app, 'metrics_delete_by_bibcode', return_value=True) as metrics_delete: tasks.task_update_record(DenormalizedRecord(bibcode='2015ApJ...815..133S', status='deleted')) self.assertTrue(solr_delete.called) self.assertTrue(metrics_delete.called) self.assertFalse(augment.called)
def test_task_update_record(self): with patch('adsmp.tasks.task_index_records.delay') as next_task: self.assertFalse(next_task.called) tasks.task_update_record( DenormalizedRecord(bibcode='2015ApJ...815..133S')) self.assertTrue(next_task.called) self.assertTrue(next_task.call_args[0], ('2015ApJ...815..133S', )) with patch('adsmp.solr_updater.delete_by_bibcodes', return_value=[('2015ApJ...815..133S'), ()]) as solr_delete: tasks.task_update_record( DenormalizedRecord(bibcode='2015ApJ...815..133S', status='deleted')) self.assertTrue(next_task.call_args[0], ('2015ApJ...815..133S', )) self.assertTrue(solr_delete.called)
def test_task_update_record_delete(self): for x, cls in (('fulltext', FulltextUpdate), ('orcid_claims', OrcidClaims)): self.app.update_storage('bibcode', x, {'foo': 'bar'}) self.assertEquals(self.app.get_record('bibcode')[x]['foo'], 'bar') with patch('adsmp.tasks.task_index_records.delay') as next_task: tasks.task_update_record( cls(bibcode='bibcode', status='deleted')) self.assertEquals(self.app.get_record('bibcode')[x], None) self.assertTrue(self.app.get_record('bibcode')) recs = NonBibRecordList() recs.nonbib_records.extend( [NonBibRecord(bibcode='bibcode', status='deleted').data]) with patch('adsmp.tasks.task_index_records.delay') as next_task: tasks.task_update_record(recs) self.assertEquals(self.app.get_record('bibcode')['metrics'], None) self.assertTrue(self.app.get_record('bibcode')) with patch('adsmp.tasks.task_delete_documents') as next_task: tasks.task_update_record( DenormalizedRecord(bibcode='bibcode', status='deleted')) self.assertTrue(next_task.called) self.assertTrue(next_task.call_args[0], ('bibcode', ))
def test_task_update_record_metrics(self): with patch('adsmp.tasks.task_index_records.apply_async') as next_task: self.assertFalse(next_task.called) tasks.task_update_record(MetricsRecord(bibcode='2015ApJ...815..133S')) self.assertFalse(next_task.called)