def test_invalidcontact_profile_create(self): request = HttpRequest() request.user = self.user contact_view_set = storeContactsViewSet() request.data = {} request.data['contact_profile_image'] = create_image_file() request.data['contact_id'] = 5000 response = contact_view_set.upload_contact_profile(request) self.assertEqual(response.status_code, 400, "Invalid Contact id")
def test_contact_profile_create(self): request = HttpRequest() request.user = self.user contact_view_set = storeContactsViewSet() request.data = {} request.data['contact_profile_image'] = create_image_file() request.data['contact_id'] = self.contact.id request.data['user_id'] = self.contact.id response = contact_view_set.upload_contact_profile(request) self.assertEqual(response.status_code, 200)
def list(self, request): try: # Fetch the all users contact queryset_contact_without_bcard = self.queryset.filter( businesscard_id__isnull=True).order_by("user_id") queryset_contact_have_bcard = self.queryset.filter( businesscard_id__isnull=False).order_by("user_id") queryset_serializer = ContactsSerializer( queryset_contact_have_bcard, many=True) if queryset_serializer.data is not None: contacts_copy = queryset_serializer.data match_contact_insert = [] store_object = storeContactsViewSet() for value in queryset_contact_without_bcard: iterator = iter(contacts_copy) try: while True: value_copy = iterator.next() if value.user_id.id != value_copy["user_id"]: if value.bcard_json_data and value_copy[ "bcard_json_data"]: # print # value.user_id.id,value_copy["user_id"] try: result = store_object.find_duplicate( value.bcard_json_data, value_copy["bcard_json_data"]) except ValueError as e: logger.error( "UpdateContactLinkStatusCron: contacts have bad json : {},{}, {}".format( value.id, value_copy["id"], e)) # print result else: result = '' # print result if result: # Change the link status then insert into MatchContact Model # related field is not working # value.folder_contact try: folder_contact = FolderContact.objects.get( contact_id=value.id, user_id=value.user_id) if folder_contact.link_status == 0: folder_contact.link_status = 1 folder_contact.save() match_contact_insert.append( { "user_id": value.user_id.id, "folder_contact_id": folder_contact.id, "businesscard_id": value_copy['businesscard_id']}) except: pass # match_contact_insert = MatchContactSerializer({''}) # pass except StopIteration: pass if match_contact_insert: for items in match_contact_insert: match_contact_serializer = MatchContactSerializer( data=items) if match_contact_serializer.is_valid(): match_contact_serializer.save() else: pass if match_contact_insert: # match_contact_insert = MatchContactSerializer(data=match_contact_insert,many=True) # if match_contact_insert.is_valid(): # match_contact_insert.save() # else: # return # CustomeResponse(match_contact_insert.errors,status=status.HTTP_400_BAD_REQUEST,validate_errors=1) for items in match_contact_insert: match_contact_serializer = MatchContactSerializer( data=items) if match_contact_serializer.is_valid(): match_contact_serializer.save() else: pass # Note : TODO we will change the order of execution of # find_duplicate return CustomeResponse( {"msg": "run successfully"}, status=status.HTTP_200_OK) except Exception: logger.critical( "Caught exception in {}".format(__file__), exc_info=True ) ravenclient.captureException()