Example #1
0
 def test_page(self):
     data1 = {
         "name": "John",
         "number": "1234567890",
         "address": "Maple Road, Orange, AB",
         "email": "*****@*****.**"
     }
     data2 = {
         "name": "Mark",
         "number": "7264527893",
         "address": "Scope Road, Peach, EF",
         "email": "*****@*****.**"
     }
     data3 = {
         "name": "Paul",
         "number": "5162763528",
         "address": "Neon Road, Berry, GH",
         "email": "*****@*****.**"
     }
     es.index(index="addressbook", doc_type="contact", id=1, body=data1)
     es.index(index="addressbook", doc_type="contact", id=2, body=data2)
     es.index(index="addressbook", doc_type="contact", id=3, body=data3)
     time.sleep(1)
     results = elasticsearch_handler.get_contacts(None, 2, None)
     self.assertEqual(1, len(results))
Example #2
0
 def test_get_contacts_pass(self):
     data1 = {
         "name": "John",
         "number": "1234567890",
         "address": "Maple Road, Orange, AB",
         "email": "*****@*****.**"
     }
     data2 = {
         "name": "Mark",
         "number": "7264527893",
         "address": "Scope Road, Peach, EF",
         "email": "*****@*****.**"
     }
     es.index(index="addressbook", doc_type="contact", id=1, body=data1)
     es.index(index="addressbook", doc_type="contact", id=2, body=data2)
     time.sleep(1)
     results = elasticsearch_handler.get_contacts(None, None, None)
     self.assertEqual(2, len(results))
     count = 0
     for result in results:
         get_data = result["_source"]
         if result["_id"] == "1":
             self.assertEqual(data1["name"], get_data["name"])
             self.assertEqual(data1["number"], get_data["number"])
             self.assertEqual(data1["address"], get_data["address"])
             self.assertEqual(data1["email"], get_data["email"])
             count += 1
         elif result["_id"] == "2":
             self.assertEqual(data2["name"], get_data["name"])
             self.assertEqual(data2["number"], get_data["number"])
             self.assertEqual(data2["address"], get_data["address"])
             self.assertEqual(data2["email"], get_data["email"])
             count += 1
     self.assertEqual(2, count)
def contact(request):
    if request.method == "GET":
        page_size = request.GET.get("pageSize")
        page = request.GET.get("page")
        query = request.GET.get("query")
        response = elasticsearch_handler.get_contacts(page_size, page, query)
        return HttpResponse(json.dumps(response), content_type="application/json")

    elif request.method == "POST":
        data = {}

        # Check if all the required fields are specified
        if request.POST.get("name") and request.POST.get("number") and request.POST.get("address") and request.POST.get(
                "email"):
            data["name"] = request.POST.get("name")
            data["number"] = request.POST.get("number")
            data["address"] = request.POST.get("address")
            data["email"] = request.POST.get("email")
            response = elasticsearch_handler.insert_contact(data)
            return HttpResponse(json.dumps(response), content_type="application/json")

        # Show error message if all the fields are not specified
        return HttpResponse(json.dumps({"acknowledged": False, "message": "Required fields not specified."}),
                            content_type="application/json")

    # Show error message if request is not GET or POST
    return HttpResponse(json.dumps({"acknowledged": False, "message": "Invalid request."}),
                        content_type="application/json")
Example #4
0
 def test_get_contacts_fail(self):
     results = elasticsearch_handler.get_contacts(None, None, None)
     self.assertEqual(0, len(results))