Exemplo n.º 1
0
 def setUp(self):
     User = get_user_model()
     self.user_ct = ContentType.objects.get_for_model(User)
     self.group_ct = ContentType.objects.get_for_model(Group)
     self.group, _ = Group.objects.get_or_create(name='CoolGroup')
     self.user1, _ = User.objects.get_or_create(username='******')
     self.user2, _ = User.objects.get_or_create(username='******')
     self.user3, _ = User.objects.get_or_create(username='******')
     self.user4, _ = User.objects.get_or_create(username='******')
     Action.objects.get_or_create(actor_content_type=self.user_ct,
                                  actor_object_id=self.user1.id,
                                  verb='followed',
                                  target_content_type=self.user_ct,
                                  target_object_id=self.user2.id)
     Action.objects.get_or_create(actor_content_type=self.user_ct,
                                  actor_object_id=self.user1.id,
                                  verb='followed',
                                  target_content_type=self.user_ct,
                                  target_object_id=self.user3.id)
     Action.objects.get_or_create(actor_content_type=self.user_ct,
                                  actor_object_id=self.user1.id,
                                  verb='followed',
                                  target_content_type=self.user_ct,
                                  target_object_id=self.user4.id)
     Action.objects.get_or_create(actor_content_type=self.user_ct,
                                  actor_object_id=self.user1.id,
                                  verb='joined',
                                  target_content_type=self.group_ct,
                                  target_object_id=self.group.id)
    def setUp(self):
        self.User = get_user_model()
        super(ZombieTest, self).setUp()
        settings.DEBUG = True

        player_generator = lambda n, count: [self.User.objects.create(
            username='******' % (n, i)) for i in range(count)]

        self.humans = player_generator('human', self.human)
        self.zombies = player_generator('zombie', self.zombie)

        self.zombie_apocalypse()
Exemplo n.º 3
0
    def setUp(self):
        self.User = get_user_model()
        super(ZombieTest, self).setUp()
        settings.DEBUG = True

        player_generator = lambda n, count: [
            self.User.objects.create(username='******' % (n, i))
            for i in range(count)
        ]

        self.humans = player_generator('human', self.human)
        self.zombies = player_generator('zombie', self.zombie)

        self.zombie_apocalypse()
Exemplo n.º 4
0
    def test_doesnt_generate_duplicate_follow_records(self):
        User = get_user_model()
        g = Group.objects.get_or_create(name='DupGroup')[0]
        s = User.objects.get_or_create(username='******')[0]

        f1 = follow(s, g)
        self.assertTrue(f1 is not None, "Should have received a new follow "
            "record")
        self.assertTrue(isinstance(f1, Follow), "Returns a Follow object")

        self.assertEqual(1, Follow.objects.filter(user=s, object_id=g.pk,
            content_type=ContentType.objects.get_for_model(g)).count(),
            "Should only have 1 follow record here")

        f2 = follow(s, g)
        self.assertEqual(1, Follow.objects.filter(user=s, object_id=g.pk,
            content_type=ContentType.objects.get_for_model(g)).count(),
            "Should still only have 1 follow record here")
        self.assertTrue(f2 is not None, "Should have received a Follow object")
        self.assertTrue(isinstance(f2, Follow), "Returns a Follow object")
        self.assertEqual(f1, f2, "Should have received the same Follow "
            "object that I first submitted")
Exemplo n.º 5
0
 def setUp(self):
     User = get_user_model()
     self.user_ct = ContentType.objects.get_for_model(User)
     self.group_ct = ContentType.objects.get_for_model(Group)
     self.group, _ = Group.objects.get_or_create(name='CoolGroup')
     self.user1, _ = User.objects.get_or_create(username='******')
     self.user2, _ = User.objects.get_or_create(username='******')
     self.user3, _ = User.objects.get_or_create(username='******')
     self.user4, _ = User.objects.get_or_create(username='******')
     Action.objects.get_or_create(
         actor_content_type=self.user_ct,
         actor_object_id=self.user1.id,
         verb='followed',
         target_content_type=self.user_ct,
         target_object_id=self.user2.id
     )
     Action.objects.get_or_create(
         actor_content_type=self.user_ct,
         actor_object_id=self.user1.id,
         verb='followed',
         target_content_type=self.user_ct,
         target_object_id=self.user3.id
     )
     Action.objects.get_or_create(
         actor_content_type=self.user_ct,
         actor_object_id=self.user1.id,
         verb='followed',
         target_content_type=self.user_ct,
         target_object_id=self.user4.id
     )
     Action.objects.get_or_create(
         actor_content_type=self.user_ct,
         actor_object_id=self.user1.id,
         verb='joined',
         target_content_type=self.group_ct,
         target_object_id=self.group.id
     )
Exemplo n.º 6
0
    def setUp(self):
        User = get_user_model()
        super(ActivityTestCase, self).setUp()
        self.group = Group.objects.create(name='CoolGroup')
        self.user1 = User.objects.get_or_create(username='******')[0]
        self.user1.set_password('admin')
        self.user1.is_superuser = self.user1.is_staff = True
        self.user1.save()
        self.user2 = User.objects.get_or_create(username='******')[0]
        self.user3 = User.objects.get_or_create(username='******')[0]

        # User1 joins group
        self.user1.groups.add(self.group)
        self.join_action = action.send(self.user1, verb='joined', target=self.group)[0][1]

        # User1 follows User2
        follow(self.user1, self.user2)

        # User2 joins group
        self.user2.groups.add(self.group)
        action.send(self.user2, verb='joined', target=self.group)

        # User2 follows group
        follow(self.user2, self.group)

        # User1 comments on group
        # Use a site object here and predict the "__unicode__ method output"
        action.send(self.user1, verb='commented on', target=self.group)
        self.comment = Site.objects.create(
            domain="admin: Sweet Group!...")

        # Group responds to comment
        action.send(self.group, verb='responded to', target=self.comment)

        # User 3 did something but doesn't following someone
        action.send(self.user3, verb='liked actstream')
Exemplo n.º 7
0
 def setUp(self):
     self.User = get_user_model()
     self.user_ct = ContentType.objects.get_for_model(self.User)
     register(self.User)
     for model in self.actstream_models:
         register(model)
Exemplo n.º 8
0
from django.contrib.auth.models import Group
from django.contrib.contenttypes.models import ContentType
from django.contrib.sites.models import Site
from django.template.loader import Template, Context
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import activate, get_language

from actstream.models import Action, Follow, model_stream, user_stream,\
    setup_generic_relations, following, followers
from actstream.actions import follow, unfollow
from actstream.exceptions import ModelNotActionable
from actstream.signals import action
from actstream.settings import get_models, SETTINGS
from actstream.compat import get_user_model

User = get_user_model()


class LTE(int):
    def __new__(cls, n):
        obj = super(LTE, cls).__new__(cls, n)
        obj.n = n
        return obj

    def __eq__(self, other):
        return other <= self.n

    def __repr__(self):
        return "<= %s" % self.n

 def setUp(self):
     self.User = get_user_model()
     self.user_ct = ContentType.objects.get_for_model(self.User)
     register(self.User)
     for model in self.actstream_models:
         register(model)
Exemplo n.º 10
0
from django.shortcuts import render_to_response, get_object_or_404
from django.template import RequestContext
from django.http import HttpResponseRedirect, HttpResponse

from django.contrib.auth.decorators import login_required
from django.contrib.contenttypes.models import ContentType
from django.views.decorators.csrf import csrf_exempt

from actstream import actions, models, compat

User = compat.get_user_model()


def respond(request, code):
    """
    Responds to the request with the given response code.
    If ``next`` is in the form, it will redirect instead.
    """
    redirect = request.GET.get('next', request.POST.get('next'))
    if redirect:
        return HttpResponseRedirect(redirect)
    return type('Response%d' % code, (HttpResponse, ), {'status_code': code})()


@login_required
@csrf_exempt
def follow_unfollow(request, content_type_id, object_id, do_follow=True, actor_only=True):
    """
    Creates or deletes the follow relationship between ``request.user`` and the
    actor defined by ``content_type_id``, ``object_id``.
    """
#copyright @ Eko India Financial Service Pvt. Ltd.
from django.shortcuts import render_to_response, get_object_or_404
from django.template import RequestContext
from django.http import HttpResponseRedirect, HttpResponse

from django.contrib.auth.decorators import login_required
from django.contrib.contenttypes.models import ContentType
from django.views.decorators.csrf import csrf_exempt

from actstream import actions, models, compat

User = compat.get_user_model()


def respond(request, code):
    """
    Responds to the request with the given response code.
    If ``next`` is in the form, it will redirect instead.
    """
    if 'next' in request.REQUEST:
        return HttpResponseRedirect(request.REQUEST['next'])
    return type('Response%d' % code, (HttpResponse, ), {'status_code': code})()


@login_required
@csrf_exempt
def follow_unfollow(request, content_type_id, object_id, do_follow=True, actor_only=True):
    """
    Creates or deletes the follow relationship between ``request.user`` and the
    actor defined by ``content_type_id``, ``object_id``.
    """
Exemplo n.º 12
0
 def test_query_count_sliced(self):
     User = get_user_model()
     queryset = model_stream(User)[:5]
     result = self.check_query_count(queryset)
     self.assertEqual(len(result), 5)
Exemplo n.º 13
0
 def test_following(self):
     User = get_user_model()
     self.assertEqual(list(following(self.user1)), [self.user2])
     self.assertEqual(len(following(self.user2, User)), 0)