def test_add_company(self):
        """
        Create environment to test for every possible case--

         - Existing relationship but the name is different                 pk=10
         - No existing relationship, but the company exists in the database (as
           established by the BusinessUnit title matching a company name)  pk=11
         - No relationship and the company is not in the database          pk=12

        Start with  2 Company objects and 3 BusinessUnit objects
        End up with 3 Company objects and 3 BusinessUnit objects

        """

        for i in range(10, 4):
            add_company(BusinessUnit.get(id=i))

            # The names of the BU and the Co should be the same
            self.assertEquals(BusinessUnit.get(id=i).title,
                              Company.get(id=i).name,
                              msg="Company names do not match")

            # ensure the relationship was formed
            self.assertIn(Company.objects.get(id=i),
                          BusinessUnit.objects.get(id=i).company_set.all(),
                          msg="Company is not related to job feed")
Example #2
0
class DJCeleryAdminTestCase(DirectSEOBase):
    fixtures= ["countries.json"]

    def setUp(self):
        super(type(self), self).setUp()
        # User credentials
        self.password = '******'
        self.user = User.objects.create_superuser(password=self.password,
                                                  email='*****@*****.**')
        self.user.save()
        self.client.login(email=self.user.email,
                          password=self.password)

        # Task to resend
        self.id = 24974
        self.date = datetime(year=2015, month=1, day=1, hour=1, minute=1, second=1, tzinfo=pytz.utc)
        self.bu = BusinessUnit(id=self.id, date_updated=self.date, date_crawled=self.date)
        self.bu.save()
        self.etl_to_solr = TaskState(state="test", task_id="testing",
                                     name="priority_etl_to_solr", tstamp=datetime.now(),
                                     args="""(u'8f3dcec2-264d-49fb-98df-8c6f52fb3936', u'24974', u"Gold's Gym")""",
                                     kwargs="{}")
        self.etl_to_solr.save()

    @override_settings(CELERY_ALWAYS_EAGER=True,
                       BROKER_BACKEND='memory')
    def test_requeue_etl_task(self):
        url = "http://www.my.jobs/admin/djcelery/taskstate/"
        data = {'action': 'resend_task',
                '_selected_action': [unicode(self.etl_to_solr.pk)]}

        self.assertEqual(self.bu.date_updated, self.date)
        self.client.post(url, data)
        bu = BusinessUnit.objects.get(pk=self.id)
        self.assertNotEqual(bu.date_updated, self.date)
Example #3
0
class DJCeleryAdminTestCase(DirectSEOBase):
    fixtures= ["countries.json"]

    def setUp(self):
        super(type(self), self).setUp()
        # User credentials
        self.password = '******'
        self.user = User.objects.create_superuser(password=self.password,
                                                  email='*****@*****.**')
        self.user.save()
        self.client.login(email=self.user.email,
                          password=self.password)

        # Task to resend
        self.id = 25506
        self.date = datetime(year=2015, month=1, day=1, hour=1, minute=1, second=1, tzinfo=pytz.utc)
        self.bu = BusinessUnit(id=self.id, date_updated=self.date, date_crawled=self.date)
        self.bu.save()
        self.etl_to_solr = TaskState(state="test", task_id="testing",
                                     name="priority_etl_to_solr", tstamp=datetime.now(),
                                     args="""(u'442e8eab-a4d8-4c49-9ee1-c408c509c1ca', u'25506', u'Penske')""",
                                     kwargs="{}")
        self.etl_to_solr.save()

    @override_settings(CELERY_ALWAYS_EAGER=True,
                       BROKER_BACKEND='memory')
    def test_requeue_etl_task(self):
        url = "http://www.my.jobs/admin/djcelery/taskstate/"
        data = {'action': 'resend_task',
                '_selected_action': [unicode(self.etl_to_solr.pk)]}

        self.assertEqual(self.bu.date_updated, self.date)
        self.client.post(url, data)
        bu = BusinessUnit.objects.get(pk=self.id)
        self.assertNotEqual(bu.date_updated, self.date)
Example #4
0
def task_priority_etl_to_solr(guid, buid, name):
    try:
        import_jobs.update_job_source(guid, buid, name)
        BusinessUnit.clear_cache(int(buid))
        ImportRecord(buid=int(buid), success=True).save()
    except Exception as e:
        logging.error("Error loading jobs for jobsource: %s", guid)
        logging.exception(e)
        ImportRecord(buid=int(buid), success=False).save()
        raise task_priority_etl_to_solr.retry(exc=e)
Example #5
0
def task_priority_etl_to_solr(guid, buid, name):
    try:
        import_jobs.update_job_source(guid, buid, name)
        BusinessUnit.clear_cache(int(buid))
        ImportRecord(buid=int(buid), success=True).save()
    except Exception as e:
        logging.error("Error loading jobs for jobsource: %s", guid)
        logging.exception(e)
        ImportRecord(buid=int(buid), success=False).save()
        raise task_priority_etl_to_solr.retry(exc=e)
Example #6
0
 def setUp(self):
     super(MultiHostMiddlewareTestCase, self).setUp()
     self.bu = BusinessUnit(id=42,
                            date_crawled=datetime.datetime.now(),
                            date_updated=datetime.datetime.now())
     self.test_site = SeoSiteFactory(domain=u'buckconsultants.jobs',
                                     name=u'buckconsultants')
Example #7
0
    def setUp(self):
        super(type(self), self).setUp()
        # User credentials
        self.password = '******'
        self.user = User.objects.create_superuser(password=self.password,
                                                  email='*****@*****.**')
        self.user.save()
        self.client.login(email=self.user.email,
                          password=self.password)

        # Task to resend
        self.id = 25506
        self.date = datetime(year=2015, month=1, day=1, hour=1, minute=1, second=1, tzinfo=pytz.utc)
        self.bu = BusinessUnit(id=self.id, date_updated=self.date, date_crawled=self.date)
        self.bu.save()
        self.etl_to_solr = TaskState(state="test", task_id="testing",
                                     name="priority_etl_to_solr", tstamp=datetime.now(),
                                     args="""(u'442e8eab-a4d8-4c49-9ee1-c408c509c1ca', u'25506', u'Penske')""",
                                     kwargs="{}")
        self.etl_to_solr.save()
Example #8
0
    def setUp(self):
        super(type(self), self).setUp()
        # User credentials
        self.password = '******'
        self.user = User.objects.create_superuser(password=self.password,
                                                  email='*****@*****.**')
        self.user.save()
        self.client.login(email=self.user.email,
                          password=self.password)

        # Task to resend
        self.id = 24974
        self.date = datetime(year=2015, month=1, day=1, hour=1, minute=1, second=1, tzinfo=pytz.utc)
        self.bu = BusinessUnit(id=self.id, date_updated=self.date, date_crawled=self.date)
        self.bu.save()
        self.etl_to_solr = TaskState(state="test", task_id="testing",
                                     name="priority_etl_to_solr", tstamp=datetime.now(),
                                     args="""(u'8f3dcec2-264d-49fb-98df-8c6f52fb3936', u'24974', u"Gold's Gym")""",
                                     kwargs="{}")
        self.etl_to_solr.save()
Example #9
0
def task_clear_bu_cache(buid, **kwargs):
    try:
        BusinessUnit.clear_cache(buid)
    except:
        logging.error(traceback.format_exc(sys.exc_info()))
Example #10
0
def task_clear_bu_cache(buid, **kwargs):
    try:
        BusinessUnit.clear_cache(buid)
    except:
        logging.error(traceback.format_exc(sys.exc_info()))