def test_related_event_remove(self): event = Event.objects.get(title='Test event') self._attach_file(event, self.main_image) # events similar but with different tags other = Event.objects.create( title='Mozilla Event', description='bla bla', status=event.STATUS_REMOVED, start_time=event.start_time, archive_time=event.archive_time, privacy=event.privacy, placeholder_img=event.placeholder_img, ) tag1 = Tag.objects.create(name='SomeTag') event.tags.add(tag1) other.tags.add(tag1) related.index(all=True) url = reverse('main:related_content', args=(event.slug, )) response = self.client.get(url) ok_('Mozilla Event' not in response.content) User.objects.create_user('gloria', '*****@*****.**', 'starlight') assert self.client.login(username='******', password='******') response = self.client.get(url) eq_(response.status_code, 200) ok_('Mozilla Festival' not in response.content) contributor = User.objects.create_user('nigel', '*****@*****.**', 'secret') UserProfile.objects.create(user=contributor, contributor=True) assert self.client.login(username='******', password='******') response = self.client.get(url) eq_(response.status_code, 200) ok_('Mozilla Festival' not in response.content)
def test_unrelated_privacy_contributor(self): event = Event.objects.get(title='Test event') self._attach_file(event, self.main_image) # events with privacy contributors other = Event.objects.create( title='Happiness event', description='bla bla', status=event.status, start_time=event.start_time, archive_time=event.archive_time, privacy=Event.PRIVACY_CONTRIBUTORS, placeholder_img=event.placeholder_img, ) tag1 = Tag.objects.create(name='SomeTag') event.tags.add(tag1) other.tags.add(tag1) related.index(all=True) url = reverse('main:related_content', args=(event.slug, )) response = self.client.get(url) ok_('Happiness event' not in response.content) User.objects.create_user('gloria', '*****@*****.**', 'starlight') assert self.client.login(username='******', password='******') response = self.client.get(url) eq_(response.status_code, 200) ok_('Happiness event' in response.content) contributor = User.objects.create_user('nigel', '*****@*****.**', 'secret') UserProfile.objects.create(user=contributor, contributor=True) assert self.client.login(username='******', password='******') response = self.client.get(url) eq_(response.status_code, 200) ok_('Happiness event' in response.content)
def related_content(request): es = related.get_connection() index = related.get_index() if request.method == 'POST': form = forms.ReindexRelatedContentForm(request.POST) if form.is_valid(): if form.cleaned_data['delete_and_recreate']: try: related.delete(es) except pyelasticsearch.ElasticHttpNotFoundError: pass related.create(es) form.cleaned_data['all'] = True since = None if form.cleaned_data['since']: since = datetime.timedelta( minutes=form.cleaned_data['since'] ) related.index( all=form.cleaned_data['all'], since=since ) messages.success( request, 'Re-indexing issued.' ) return redirect('manage:related_content') else: initial = { 'since': 30, } form = forms.ReindexRelatedContentForm(initial=initial) query = { 'query': { 'match_all': {} } } try: count = es.count(query, index=index)['count'] except pyelasticsearch.ElasticHttpNotFoundError: count = 'no' context = { 'form': form, 'count_indexed': count, 'count_events': Event.objects.scheduled_or_processing().count(), 'index_name': index, } return render(request, 'manage/related_content.html', context)
def test_related_content_logged_users(self): event = Event.objects.get(title='Test event') self._attach_file(event, self.main_image) # events similar with use logged-in other = Event.objects.create( title='Event test', description='bla bla', status=event.status, start_time=event.start_time, archive_time=event.archive_time, privacy=event.privacy, placeholder_img=event.placeholder_img, ) tag1 = Tag.objects.create(name='SomeTag') other.tags.add(tag1) event.tags.add(tag1) related.index(all=True) self._login() url = reverse('main:related_content', args=(event.slug,)) response = self.client.get(url) eq_(response.status_code, 200) ok_('Event test' in response.content) User.objects.create_user( 'helen', '*****@*****.**', 'secret' ) assert self.client.login(username='******', password='******') response = self.client.get(url) eq_(response.status_code, 200) ok_('Event test' in response.content) contributor = User.objects.create_user( 'nigel', '*****@*****.**', 'secret' ) UserProfile.objects.create( user=contributor, contributor=True ) assert self.client.login(username='******', password='******') response = self.client.get(url) eq_(response.status_code, 200) ok_('Event test' in response.content)
def test_unrelated_users(self): event = Event.objects.get(title='Test event') self._attach_file(event, self.main_image) # events that are dissimilar in tags and title other = Event.objects.create( title='Mozilla Festival', description='bla bla', status=event.status, start_time=event.start_time, archive_time=event.archive_time, privacy=Event.PRIVACY_PUBLIC, placeholder_img=event.placeholder_img, ) tag1 = Tag.objects.create(name='SomeTag') event.tags.add(tag1) tag2 = Tag.objects.create(name='PartyTag') other.tags.add(tag2) related.index(all=True) url = reverse('main:related_content', args=(event.slug,)) response = self.client.get(url) ok_('Mozilla Festival' not in response.content) User.objects.create_user( 'gloria', '*****@*****.**', 'starlight' ) assert self.client.login(username='******', password='******') response = self.client.get(url) eq_(response.status_code, 200) ok_('Mozilla Festival' not in response.content) contributor = User.objects.create_user( 'nigel', '*****@*****.**', 'secret' ) UserProfile.objects.create( user=contributor, contributor=True ) assert self.client.login(username='******', password='******') response = self.client.get(url) eq_(response.status_code, 200) ok_('Mozilla Festival' not in response.content)
def test_unrelated_privacy_company(self): event = Event.objects.get(title='Test event') self._attach_file(event, self.main_image) # events with privacy company i.e staff other = Event.objects.create( title='Happiness event', description='bla bla', status=event.status, start_time=event.start_time, archive_time=event.archive_time, privacy=Event.PRIVACY_COMPANY, placeholder_img=event.placeholder_img, ) tag1 = Tag.objects.create(name='SomeTag') event.tags.add(tag1) other.tags.add(tag1) related.index(all=True) url = reverse('main:related_content', args=(event.slug,)) response = self.client.get(url) ok_('Happiness event' not in response.content) User.objects.create_user( 'gloria', '*****@*****.**', 'starlight' ) assert self.client.login(username='******', password='******') response = self.client.get(url) eq_(response.status_code, 200) ok_('Happiness event' in response.content) contributor = User.objects.create_user( 'nigel', '*****@*****.**', 'secret' ) UserProfile.objects.create( user=contributor, contributor=True ) assert self.client.login(username='******', password='******') response = self.client.get(url) eq_(response.status_code, 200) ok_('Happiness event' not in response.content)
def test_related_content_logged_users(self): event = Event.objects.get(title='Test event') self._attach_file(event, self.main_image) # events similar with use logged-in other = Event.objects.create( title='Event test', description='bla bla', status=event.status, start_time=event.start_time, archive_time=event.archive_time, privacy=event.privacy, placeholder_img=event.placeholder_img, ) tag1 = Tag.objects.create(name='SomeTag') other.tags.add(tag1) event.tags.add(tag1) related.index(all=True) self._login() url = reverse('main:related_content', args=(event.slug, )) response = self.client.get(url) eq_(response.status_code, 200) ok_('Event test' in response.content) User.objects.create_user('helen', '*****@*****.**', 'secret') assert self.client.login(username='******', password='******') response = self.client.get(url) eq_(response.status_code, 200) ok_('Event test' in response.content) contributor = User.objects.create_user('nigel', '*****@*****.**', 'secret') UserProfile.objects.create(user=contributor, contributor=True) assert self.client.login(username='******', password='******') response = self.client.get(url) eq_(response.status_code, 200) ok_('Event test' in response.content)
def test_related_public(self): event = Event.objects.get(title='Test event') self._attach_file(event, self.main_image) # events similar but with different tags other = Event.objects.create( title='Mozilla Event', description='bla bla', status=event.status, start_time=event.start_time, archive_time=event.archive_time, privacy=event.privacy, placeholder_img=event.placeholder_img, ) tag1 = Tag.objects.create(name='SomeTag') event.tags.add(tag1) tag2 = Tag.objects.create(name='PartyTag') other.tags.add(tag2) related.index(all=True) url = reverse('main:related_content', args=(event.slug, )) response = self.client.get(url) ok_('Mozilla Event' in response.content)
def test_related_public(self): event = Event.objects.get(title='Test event') self._attach_file(event, self.main_image) # events similar but with different tags other = Event.objects.create( title='Mozilla Event', description='bla bla', status=event.status, start_time=event.start_time, archive_time=event.archive_time, privacy=event.privacy, placeholder_img=event.placeholder_img, ) tag1 = Tag.objects.create(name='SomeTag') event.tags.add(tag1) tag2 = Tag.objects.create(name='PartyTag') other.tags.add(tag2) related.index(all=True) url = reverse('main:related_content', args=(event.slug,)) response = self.client.get(url) ok_('Mozilla Event' in response.content)
def test_unrelated_privacy(self): event = Event.objects.get(title='Test event') self._attach_file(event, self.main_image) # events with different privacies and logged in other = Event.objects.create( title='Happiness event', description='bla bla', status=event.status, start_time=event.start_time, archive_time=event.archive_time, privacy=Event.PRIVACY_COMPANY, placeholder_img=event.placeholder_img, ) tag1 = Tag.objects.create(name='SomeTag') event.tags.add(tag1) other.tags.add(tag1) related.index(all=True) self._login() url = reverse('main:related_content', args=(event.slug, )) response = self.client.get(url) ok_('Hapiness event' not in response.content)
def test_unrelated_privacy(self): event = Event.objects.get(title='Test event') self._attach_file(event, self.main_image) # events with different privacies and logged in other = Event.objects.create( title='Happiness event', description='bla bla', status=event.status, start_time=event.start_time, archive_time=event.archive_time, privacy=Event.PRIVACY_COMPANY, placeholder_img=event.placeholder_img, ) tag1 = Tag.objects.create(name='SomeTag') event.tags.add(tag1) other.tags.add(tag1) related.index(all=True) self._login() url = reverse('main:related_content', args=(event.slug,)) response = self.client.get(url) ok_('Hapiness event' not in response.content)