Ejemplo n.º 1
0
 def test_create_client_without_user_agent(self):
     request = HttpRequest()
     # noinspection PyPropertyAccess
     request.headers = {}
     request.META = {'REMOTE_ADDR': '192.168.2.3'}
     client = get_client(request)
     self.assertEquals(client.ip, '192.168.2.3')
     self.assertIsNone(client.user_agent)
Ejemplo n.º 2
0
def ack(request, domain):
    client = get_client(request)
    if client.current_offset is None:
        return HttpResponse(status=204)
    else:
        if client.current_offset is not None and client.current_offset.domain.name != domain:
            raise Exception(
                'Bad domain for client {} that send ack for domain {}', client,
                domain)
        offset.ack(client)
        return HttpResponse(status=204)
Ejemplo n.º 3
0
    def test_get_existing_client_without_uuid(self):
        ip = '192.168.2.3'
        client = Client(ip=ip, user_agent='tester_existing', uuid=None)
        client.save()

        other = Client(ip=ip, user_agent='tester_existing 2', uuid=None)
        other.save()

        request = HttpRequest()
        # noinspection PyPropertyAccess
        request.headers = {'User-Agent': 'tester_existing'}
        request.META = {'REMOTE_ADDR': ip}
        self.assertEquals(client, get_client(request))
Ejemplo n.º 4
0
 def test_create_client(self):
     uuid = 'da8e4c40-8c10-4f97-b109-d17ec8ad9960'
     user_agent = 'Mozilla/5.0 (Linux; U; Android 2.2) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile ' \
                  'Safari/533.1 '
     ip = '192.168.2.3'
     request = HttpRequest()
     # noinspection PyPropertyAccess
     request.headers = {'User-Agent': user_agent, 'X-CLIENT-UUID': uuid}
     request.META = {'REMOTE_ADDR': ip}
     client = get_client(request)
     self.assertEquals(client.ip, ip)
     self.assertEquals(client.user_agent, user_agent)
     self.assertEquals(client.uuid, uuid)
Ejemplo n.º 5
0
def probes(request, domain):
    client = get_client(request)
    next_offset = next_username_offset(Domain.objects.get(name=domain), client,
                                       timezone.now())
    return JsonResponse({'probes': list(next_offset.values())})