def test_is_company_user(self): # Current user is a CompanyUser params = {'email': self.user.email} url = build_url(reverse('is_company_user'), params) response = self.client.post(url) self.assertEqual(response.content, 'true') # Non-existant user is not a CompanyUser params = {'email': '*****@*****.**'} url = build_url(reverse('is_company_user'), params) response = self.client.post(url) self.assertEqual(response.content, 'false') # Generic User is not a CompanyUser. user = UserFactory(email='*****@*****.**') params = {'email': user.email} url = build_url(reverse('is_company_user'), params) response = self.client.post(url) self.assertEqual(response.content, 'false') # Is inaccessable to non-CompanyUsers. self.company_user.delete() params = {'email': self.user.email} url = build_url(reverse('is_company_user'), params) response = self.client.post(url) self.assertEqual(response.status_code, 404)
def wrap(request, *args, **kwargs): # this decorator factory only works if called with enabled=True or # settings.DEBUG is False if not enabled and settings.DEBUG: return view_func(request, *args, **kwargs) if request.user.is_anonymous() and redirect: params = {'next': request.get_full_path()} next_url = build_url(reverse('login'), params) return HttpResponseRedirect(next_url) ctx = {'feature': feature, 'message': message, 'link': link, 'link_text': link_text} if condition(request): if exception: raise exception('{0}: {1}'.format(feature, message)) return render_to_response('warning_page.html', ctx, RequestContext(request)) return view_func(request, *args, **kwargs)
def test_feed_with_path_and_querystring(self): for feed_type in self.feed_types: kwargs = {'feed_type': feed_type, 'filter_path': self.path} path = reverse('feed', kwargs=kwargs) self.client.get(build_url(path, {'q': self.q})) self.assertIn(settings.SOLR_QUERY_COUNTER, self.query_range) settings.SOLR_QUERY_COUNTER = 0
def test_feed_with_querystring(self): for feed_type in self.feed_types: kwargs = { 'feed_type': feed_type, 'filter_path': reverse('all_jobs') } path = reverse('feed', kwargs=kwargs) self.client.get(build_url(path, {'location': self.location})) self.assertIn(settings.SOLR_QUERY_COUNTER, self.query_range) settings.SOLR_QUERY_COUNTER = 0
def test_login_with_next(self): password = '******' user = UserFactory(password=password) block = LoginBlock.objects.get() data = { 'username': user.email, 'password': password, block.submit_btn_name(): '' } next_url = {'next': '/test/'} response = self.client.post(build_url(reverse('login'), next_url), data=data, follow=True) self.assertTrue(response.context['request'].user.is_authenticated()) last_redirect = response.redirect_chain[-1][0] self.assertTrue(last_redirect.endswith(next_url['next']))
def test_register_with_next(self): email = '*****@*****.**' block = RegistrationBlock.objects.get() data = { 'email': email, 'password1': 'Secret555!', 'password2': 'Secret555!', block.submit_btn_name(): '', } next_url = {'next': '/test/'} response = self.client.post(build_url(reverse('login'), next_url), data=data, follow=True) User.objects.get(email=email) self.assertTrue(response.context['request'].user.is_authenticated()) last_redirect = response.redirect_chain[-1][0] self.assertTrue(last_redirect.endswith(next_url['next']))
def test_login_with_next(self): password = '******' user = UserFactory(password=password) block = LoginBlock.objects.get() data = { 'username': user.email, 'password': password, block.submit_btn_name(): '' } next_url = { 'next': '/test/' } response = self.client.post(build_url(reverse('login'), next_url), data=data, follow=True) self.assertTrue(response.context['request'].user.is_authenticated()) last_redirect = response.redirect_chain[-1][0] self.assertTrue(last_redirect.endswith(next_url['next']))
def test_register_with_next(self): email = '*****@*****.**' block = RegistrationBlock.objects.get() data = { 'email': email, 'password1': 'Secret555!', 'password2': 'Secret555!', block.submit_btn_name(): '', } next_url = { 'next': '/test/' } response = self.client.post(build_url(reverse('login'), next_url), data=data, follow=True) User.objects.get(email=email) self.assertTrue(response.context['request'].user.is_authenticated()) last_redirect = response.redirect_chain[-1][0] self.assertTrue(last_redirect.endswith(next_url['next']))
def wrap(request, *args, **kwargs): # If the user is not logged in, redirect them to the login page # with this url as the next url. if request.user.is_anonymous(): params = {'next': request.get_full_path()} next_url = build_url(reverse('login'), params) return HttpResponseRedirect(next_url) # If the user is logged in, but they aren't a CompanyUser or they # are a CompanyUser, but their current Company doesn't have # perm_field access, return a 404. company = get_company(request) if not company or (perm_field and not getattr(company, perm_field, False)): raise Http404 return view_func(request, *args, **kwargs)
def wrap(request, *args, **kwargs): if request.user.is_anonymous() and redirect: params = {'next': request.get_full_path()} next_url = build_url(reverse('home'), params) return HttpResponseRedirect(next_url) ctx = {'feature': feature, 'message': message, 'link': link, 'link_text': link_text} if condition(request): if exception: raise exception('{0}: {1}'.format(feature, message)) return render_to_response('warning_page.html', ctx, RequestContext(request)) return view_func(request, *args, **kwargs)
def wrap(request, *args, **kwargs): # If the user is not logged in, redirect them to the login page # with this url as the next url. if request.user.is_anonymous(): params = {'next': request.get_full_path()} next_url = build_url(reverse('login'), params) return HttpResponseRedirect(next_url) # If the user is logged in, but they aren't an admin or they # are an admin , but their current Company doesn't have # perm_field access, return a 404. company = get_company(request) if not company or (perm_field and not getattr(company, perm_field, False)): raise Http404("universal.decorators.company_has_access: " "company doesn't exist or doesn't have " "{perm} permissions".format(perm=perm_field)) return view_func(request, *args, **kwargs)
def wrap(request, *args, **kwargs): if not enabled: return view_func(request, *args, **kwargs) if request.user.is_anonymous() and redirect: params = {'next': request.get_full_path()} next_url = build_url(reverse('login'), params) return HttpResponseRedirect(next_url) ctx = { 'feature': feature, 'message': message, 'link': link, 'link_text': link_text } if condition(request): if exception: raise exception('{0}: {1}'.format(feature, message)) return render_to_response('warning_page.html', ctx, RequestContext(request)) return view_func(request, *args, **kwargs)
def test_num_queries_search_results_with_path_and_querystring(self): self.client.get(build_url(self.path, {'q': self.q})) self.assertIn(settings.SOLR_QUERY_COUNTER, self.query_range)
def setUp(self): super(BlocksTestBase, self).setUp() self.site = SeoSite.objects.get() self.config = Configuration.objects.get(status=2) self.config.browse_facet_show = True self.config.save() # Can't do a get_or_create here because we don't # care about the date_crawled/date_updated fields, # but if the BusinessUnit doesn't exist they will need # to be supplied. try: self.buid = BusinessUnit.objects.get(pk=0) except BusinessUnit.DoesNotExist: self.buid = BusinessUnitFactory(id=0) self.site.business_units.add(0) self.commitment = SpecialCommitmentFactory() self.site.special_commitments.add(self.commitment) self.site.save() self.tag = SiteTag.objects.create(site_tag='Test tag') self.site.site_tags.add(self.tag) self.site.save() self.job = SOLR_FIXTURE[1] self.conn.add([self.job]) self.user = UserFactory() url = reverse('all_jobs') self.search_results_request = RequestFactory().get(url) self.search_results_request.user = self.user self.q_kwargs = {'q': self.job['title']} url = build_url(reverse('all_jobs'), self.q_kwargs) self.search_results_with_q_request = RequestFactory().get(url) self.search_results_with_q_request.user = self.user self.facet = CustomFacetFactory(show_production=True, name='%s' % self.job['title'], name_slug='%s' % self.job['title_slug'], querystring='*', blurb='Test') self.bad_facet = CustomFacetFactory(show_production=True, name='Bad Facet', name_slug='bad-facet', querystring='asfljasdlfjsadfsdf', blurb='Test', always_show=True) SeoSiteFacetFactory(customfacet=self.facet, seosite=self.site) SeoSiteFacetFactory(customfacet=self.bad_facet, seosite=self.site) url = '%s/new-jobs/' % self.job['title_slug'] self.search_results_with_custom_facet = RequestFactory().get(url) self.search_results_with_custom_facet.user = self.user self.job_detail_kwargs = { 'job_id': self.job['guid'], 'title_slug': self.job['title_slug'], 'location_slug': slugify(self.job['location']), } url = reverse('job_detail_by_location_slug_title_slug_job_id', kwargs=self.job_detail_kwargs) self.job_detail_request = RequestFactory().get(url) self.job_detail_request.user = self.user kwargs = {'job_id': self.job['guid']} url = reverse('job_detail_by_job_id', kwargs=kwargs) self.job_detail_redirect_request = RequestFactory().get(url) self.job_detail_redirect_request.user = self.user # Send a request through middleware so all the required # settings (from MultiHostMiddleware) actually get set. self.client.get('/')
def test_num_queries_search_results_with_querystring(self): path = reverse('all_jobs') self.client.get(build_url(path, {'location': self.location})) self.assertIn(settings.SOLR_QUERY_COUNTER, self.query_range)