def test_solr_rm_feedfile(self): """ Test that at the end of Solr parsing, the feed file is deleted. """ import_jobs.update_solr(self.buid_id) self.assertFalse(os.access(self.filepath, os.F_OK))
def test_empty_solr(self): """ Tests for the proper behavior when encountering a job-less, but otherwise valid, feed file. The proper behavior is to delete any jobs associated with that BusinessUnit from the Solr index. """ # Normal download-and-parse operation on a feed file with jobs. import_jobs.update_solr(self.buid_id) results = self.conn.search(q="*:*", fq="buid:%s" % self.buid_id) self.assertEqual(results.hits, self.numjobs) # Download-and-parse operation on a feed file with no jobs. Expected # behavior is to delete all jobs. self._get_feedfile() import_jobs.update_solr(self.buid_id, download=False) results = self.conn.search(q="*:*", fq="buid:%s" % self.buid_id) self.assertEqual(results.hits, 0)
def test_set_bu_title(self): """ Ensure that if a feedfile for a BusinessUnit comes through, and the `title` attribute for that BusinessUnit is not set, that `helpers.update_solr` sets the `title` attribute properly. """ bu = BusinessUnit.objects.get(id=self.buid_id) bu.title = None bu.save() # Since the BusinessUnit title is None, the intent is that update_solr # will set its title to match the company name found in the feed file. results = import_jobs.update_solr(self.buid_id) # We have to get the updated state of the BusinessUnit instance, since # changes to the database won't be reflected by our in-memory version of # the data. bu = BusinessUnit.objects.get(id=self.buid_id) # The title attribute should now equal the initial value established in # the setUp method. self.assertEquals(self.businessunit.title, bu.title)