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'))
Beispiel #10
0
 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', ))
Beispiel #13
0
 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)