def test_friend_request(self):

	ReqUuid = uuid.uuid4()
	RecvUuid = uuid.uuid4()

	ReqUser = User.objects.create_user("Requester", "*****@*****.**", "testpassword")
	ReqAuthor = Author(user=ReqUser, uuid=ReqUuid)
	ReqAuthor.save()

	RecvUser = User.objects.create_user("Receiver", "*****@*****.**", "testpassword")
	RecvAuthor = Author(user=RecvUser, uuid=RecvUuid)
	RecvAuthor.save()
	
	friendrequest = FriendRequest(requester=ReqAuthor, receiver=RecvAuthor)
	friendrequest.save()
	
	self.assertEqual(FriendRequest.objects.count(), 1)
	self.assertEqual(friendrequest.requester.uuid, ReqUuid)
	self.assertEqual(friendrequest.receiver.uuid, RecvUuid)
    def test_friend_request_api(self):

       	ReqUuid = uuid.uuid4()
	RecvUuid = uuid.uuid4()

	ReqUser = User.objects.create_user("Requester", "*****@*****.**", "testpassword")
	ReqAuthor = Author(user=ReqUser, uuid=ReqUuid)
	ReqAuthor.save()

	self.client.login(username=ReqUser.username, password="******")

	RecvUser = User.objects.create_user("Receiver", "*****@*****.**", "testpassword")
	RecvAuthor = Author(user=RecvUser, uuid=RecvUuid)
	RecvAuthor.save()

	friendrequest = FriendRequest(requester=ReqAuthor, receiver=RecvAuthor)
	friendrequest.save()
	serializer = FriendRequestSerializer(friendrequest)

	ApiUrl = reverse("api:friend_request")
コード例 #3
0
    def test_friend_request(self):

        ReqUuid = uuid.uuid4()
        RecvUuid = uuid.uuid4()

        ReqUser = User.objects.create_user("Requester", "*****@*****.**",
                                           "testpassword")
        ReqAuthor = Author(user=ReqUser, uuid=ReqUuid)
        ReqAuthor.save()

        RecvUser = User.objects.create_user("Receiver", "*****@*****.**",
                                            "testpassword")
        RecvAuthor = Author(user=RecvUser, uuid=RecvUuid)
        RecvAuthor.save()

        friendrequest = FriendRequest(requester=ReqAuthor, receiver=RecvAuthor)
        friendrequest.save()

        self.assertEqual(FriendRequest.objects.count(), 1)
        self.assertEqual(friendrequest.requester.uuid, ReqUuid)
        self.assertEqual(friendrequest.receiver.uuid, RecvUuid)
コード例 #4
0
    def test_friend_request_api(self):

        ReqUuid = uuid.uuid4()
        RecvUuid = uuid.uuid4()

        ReqUser = User.objects.create_user("Requester", "*****@*****.**",
                                           "testpassword")
        ReqAuthor = Author(user=ReqUser, uuid=ReqUuid)
        ReqAuthor.save()

        self.client.login(username=ReqUser.username, password="******")

        RecvUser = User.objects.create_user("Receiver", "*****@*****.**",
                                            "testpassword")
        RecvAuthor = Author(user=RecvUser, uuid=RecvUuid)
        RecvAuthor.save()

        friendrequest = FriendRequest(requester=ReqAuthor, receiver=RecvAuthor)
        friendrequest.save()
        serializer = FriendRequestSerializer(friendrequest)

        ApiUrl = reverse("api:friend_request")
def friend_request(request):
    #current_user = User.objects.get(id=request.user.id)
    #current_author = Author.objects.get(user=current_user)
    #try:
        #author = Author.objects.get(uuid=author_uuid)
    #except Author.DoesNotExist:
        #return Response(status=status.HTTP_404_NOT_FOUND)
    #user = User.objects.get(author=author)

    #if request.method == 'GET':
        #requests = FriendRequest.objects.filter(requester=current_author, accepted=False)
        #serializer = FriendRequestSerializer(requests, many=True)
        #return Response(serializer.data)
    if request.method =='POST':
        if request.is_ajax():
            local =  False
            user_uuid = json.loads(request.POST.get('author'))
            author_uuid = json.loads(request.POST.get('friend'))
            author_host = json.loads(request.POST.get('host'))

            if request.POST.get('displayname'):
                author_name = request.POST.get('displayname')
            if request.POST.get('displayName'):
                author_name = request.POST.get('displayName')

            author_url = request.POST.get('author_url')
            current_author = Author.objects.get(uuid=user_uuid)

            if Author.objects.filter(uuid=author_uuid).exists():
                friend = Author.objects.get(uuid=author_uuid)
                local = True

            if local:
                if FriendRequest.objects.filter(requester=current_author, receiver=friend).exists():
                    return HttpResponse("Already added Friend")
                else:
                    friendRequest = FriendRequest(requester=current_author, receiver=friend)
                    friendRequest.save()
                    serializer = FriendRequestSerializer(friendRequest)
                    return Response(serializer.data, status=status.HTTP_200_OK)
            else:
                nodes = Node.objects.all()
                tempuser = User(username=author_name, password='******')
                tempauthor = Author(user=tempuser, uuid=author_uuid, host=author_host)
                friendRequest = FriendRequest(requester=current_author, receiver=tempauthor)
                serializer = FriendRequestSerializer(friendRequest)
                if author_host == 'project-c404.rhcloud.com/api':
                    endpoint = '/friendrequest'
                    auth_host_url = 'http://' + author_host
                else:
                    endpoint = '/api/friendrequest'
                    auth_host_url = 'http://' + author_host + '/api'
                url = 'http://' + author_host + endpoint
                for node in nodes:
                    if node.host == auth_host_url:
                        print "URL: ", url
                        headers = {'Content-type': 'application/json'}
                        r = requests.post(url, auth=(node.access_username, node.access_password), json=serializer.data, headers=headers)
                        print "RESPONSE TEXT: ", r.text
                        print "STATUS CODE: ", r.status_code
                        return Response(serializer.data, status=status.HTTP_200_OK)
                return HttpResponse(status=status.HTTP_403_FORBIDDEN)
        else:
            remote_author = request.data.get('author')
            author_id = request.data.get('author').get('id')
            friend_id = request.data.get('friend').get('id')
            local_author = Author.objects.get(uuid=friend_id)

            if remote_author.get('displayname'):
                author_name = remote_author.get('displayname')
            if remote_author.get('displayName'):
                author_name = remote_author.get('displayName')

            tempuser = User(username=author_name, password="******")
            tempuser.save()
            tempauthor = Author(user=tempuser, uuid=author_id)
            tempauthor.save()
            friendRequest = FriendRequest(requester=tempauthor, receiver=local_author)
            friendRequest.save()
            serializer = FriendRequestSerializer(friendRequest)
            return Response(status=status.HTTP_200_OK)
コード例 #6
0
def friend_request(request):
    #current_user = User.objects.get(id=request.user.id)
    #current_author = Author.objects.get(user=current_user)
    #try:
    #author = Author.objects.get(uuid=author_uuid)
    #except Author.DoesNotExist:
    #return Response(status=status.HTTP_404_NOT_FOUND)
    #user = User.objects.get(author=author)

    #if request.method == 'GET':
    #requests = FriendRequest.objects.filter(requester=current_author, accepted=False)
    #serializer = FriendRequestSerializer(requests, many=True)
    #return Response(serializer.data)
    if request.method == 'POST':
        if request.is_ajax():
            local = False
            user_uuid = json.loads(request.POST.get('author'))
            author_uuid = json.loads(request.POST.get('friend'))
            author_host = json.loads(request.POST.get('host'))

            if request.POST.get('displayname'):
                author_name = request.POST.get('displayname')
            if request.POST.get('displayName'):
                author_name = request.POST.get('displayName')

            author_url = request.POST.get('author_url')
            current_author = Author.objects.get(uuid=user_uuid)

            if Author.objects.filter(uuid=author_uuid).exists():
                friend = Author.objects.get(uuid=author_uuid)
                local = True

            if local:
                if FriendRequest.objects.filter(requester=current_author,
                                                receiver=friend).exists():
                    return HttpResponse("Already added Friend")
                else:
                    friendRequest = FriendRequest(requester=current_author,
                                                  receiver=friend)
                    friendRequest.save()
                    serializer = FriendRequestSerializer(friendRequest)
                    return Response(serializer.data, status=status.HTTP_200_OK)
            else:
                nodes = Node.objects.all()
                tempuser = User(username=author_name, password='******')
                tempauthor = Author(user=tempuser,
                                    uuid=author_uuid,
                                    host=author_host)
                friendRequest = FriendRequest(requester=current_author,
                                              receiver=tempauthor)
                serializer = FriendRequestSerializer(friendRequest)
                if author_host == 'project-c404.rhcloud.com/api':
                    endpoint = '/friendrequest'
                    auth_host_url = 'http://' + author_host
                else:
                    endpoint = '/api/friendrequest'
                    auth_host_url = 'http://' + author_host + '/api'
                url = 'http://' + author_host + endpoint
                for node in nodes:
                    if node.host == auth_host_url:
                        print "URL: ", url
                        headers = {'Content-type': 'application/json'}
                        r = requests.post(url,
                                          auth=(node.access_username,
                                                node.access_password),
                                          json=serializer.data,
                                          headers=headers)
                        print "RESPONSE TEXT: ", r.text
                        print "STATUS CODE: ", r.status_code
                        return Response(serializer.data,
                                        status=status.HTTP_200_OK)
                return HttpResponse(status=status.HTTP_403_FORBIDDEN)
        else:
            remote_author = request.data.get('author')
            author_id = request.data.get('author').get('id')
            friend_id = request.data.get('friend').get('id')
            local_author = Author.objects.get(uuid=friend_id)

            if remote_author.get('displayname'):
                author_name = remote_author.get('displayname')
            if remote_author.get('displayName'):
                author_name = remote_author.get('displayName')

            tempuser = User(username=author_name, password="******")
            tempuser.save()
            tempauthor = Author(user=tempuser, uuid=author_id)
            tempauthor.save()
            friendRequest = FriendRequest(requester=tempauthor,
                                          receiver=local_author)
            friendRequest.save()
            serializer = FriendRequestSerializer(friendRequest)
            return Response(status=status.HTTP_200_OK)