def test_update_redflag_location_with_error_id(self): response = self.app.patch('/api/v1/red-flags/12/location', headers=token_header(encode_token(2)), data=json.dumps(new_location)) self.assertEqual(response.status_code, 404) data = response.data.decode() self.assertEqual(json.loads(data), error)
def test_get_all_redflags(self): response = self.app.get('/api/v1/red-flags', headers=token_header(encode_token(2))) self.assertEqual(response.status_code, 200) data = response.data.decode() message = {"data": get_incidents_by_type("redflag"), "status": 200} self.assertTrue(json.loads(data), message)
def test_update_intervention_comment_with_error_id(self): response = self.app.patch('/api/v1/intervention/45/comment', headers=token_header(encode_token(2)), data=json.dumps(new_comment)) self.assertEqual(response.status_code, 404) data = response.data.decode() self.assertEqual(json.loads(data), error)
def test_create_intervention(self): response = self.app.post('/api/v1/intervention', headers=token_header(encode_token(2)), data=json.dumps(new_intervention)) self.assertEqual(response.status_code, 201) data = response.data.decode() self.assertEqual(json.loads(data), new_intervention_response)
def test_create_redflag(self): response = self.app.post('/api/v1/red-flags', headers=token_header(encode_token(2)), data=json.dumps(new_redflag)) self.assertEqual(response.status_code, 201) data = response.data.decode() self.assertEqual(json.loads(data), new_redflag_response)
def test_get_specific_redflags(self): response = self.app.get('/api/v1/red-flags/2', headers=token_header(encode_token(2))) self.assertEqual(response.status_code,200) data = response.data.decode() message =[ {"data": { "comment": "james was caught idle and disorderly", "createdBy": 2, "createdOn": "Fri, 30 Nov 2018 12:09:32 GMT", "images": "1.jpeg", "incidentId": 2, "locationLat": 5.38974, "locationLong": 0.33737, "status": "draft", "type": "red-flag", "videos": "1.gif" } }, { "status": 200 } ] self.assertEqual(json.loads(data)[0]["data"]["comment"], message[0]["data"]["comment"]) self.assertEqual(json.loads(data)[0]["data"]["createdBy"], message[0]["data"]["createdBy"]) self.assertEqual(json.loads(data)[0]["data"]["locationLong"], message[0]["data"]["locationLong"]) self.assertEqual(json.loads(data)[0]["data"]["locationLat"], message[0]["data"]["locationLat"]) self.assertEqual(json.loads(data)[0]["data"]["type"], message[0]["data"]["type"])
def test_some_get_users_error(self): response = self.app.get('/api/v1/users', headers=token_header(encode_token(2))) self.assertEqual(response.status_code, 401) data = response.data.decode() message = {"messsage": "Only admin can access this route"} self.assertEqual(json.loads(data), message)
def test_delete_redflag(self): response = self.app.delete('/api/v1/red-flags/1', headers=token_header(encode_token(2))) self.assertEqual(response.status_code,200) data = response.data.decode() message = {"data": {"id": 1, "message": "redflag record has been deleted"}, "status": 200} self.assertEqual(json.loads(data), message)
def test_create_intervention_user__error(self): response = self.app.post('/api/v1/intervention', headers=token_header(encode_token(1)), data=json.dumps(new_bad_intervention)) self.assertEqual(response.status_code, 401) data = response.data.decode() message = {"messsage": "Only Non admin can access this route"} self.assertEqual(json.loads(data), message)
def test_update_redflag_status(self): response = self.app.patch('/api/v1/red-flags/2/status', headers=token_header(encode_token(1)),\ data=json.dumps(new_status)) self.assertEqual(response.status_code,200) data = response.data.decode() message = {"data": {"id": 2, "message": "Updated redflag record's status"}, "status": 200} self.assertEqual(json.loads(data), message)
def test_update_not_possible_comment(self): response = self.app.patch('/api/v1/intervention/2/comment', headers=token_header(encode_token(2)), data=json.dumps(new_comment)) self.assertEqual(response.status_code, 406) data = response.data.decode() message = {"status": 406, "error": "Sorry, Update not Possible"} self.assertEqual(json.loads(data), message)
def test_create_redflag_key_error(self): response = self.app.post('/api/v1/red-flags', headers=token_header(encode_token(2)), data=json.dumps(new_error_redflag)) self.assertEqual(response.status_code, 400) data = response.data.decode() message = {"message": invalid_key_msg, "example": example_create_data} self.assertEqual(json.loads(data), message)
def test_delete_intervention(self): response = self.app.delete('/api/v1/intervention/3', headers=token_header(encode_token(2))) self.assertEqual(response.status_code, 200) data = response.data.decode() message = { "data": { "id": 3, "message": "intervention record has been deleted" }, "status": 200 } self.assertEqual(json.loads(data), message)
def login(): data = request.get_json() password = data["password"] email = data["email"] for user_obj in users_table: if data["email"] == user_obj.email and user_obj.check_password( password) == True: return jsonify({ "token": encode_token(user_obj.userId), "message": "Successfully logged In" }), 200 return jsonify({"message": "Invalid credentials, Please try again"}), 401
def test_update_intervention_status(self): response = self.app.patch('/api/v1/intervention/1/status', headers=token_header(encode_token(1)), data=json.dumps(new_status)) self.assertEqual(response.status_code, 200) data = response.data.decode() message = { "data": [{ "id": 1, "message": "Updated intervention record's status" }], "status": 200 } self.assertEqual(json.loads(data), message)
def test_update_intervention_location(self): response = self.app.patch('/api/v1/intervention/2/location', headers=token_header(encode_token(2)), data=json.dumps(new_location)) self.assertEqual(response.status_code, 200) data = response.data.decode() message = { "status": 200, "data": { "id": 2, "message": "Updated intervention record's location" } } self.assertEqual(json.loads(data), message)
def test_get_users(self): response = self.app.get('/api/v1/users', headers=token_header(encode_token(1))) self.assertEqual(response.status_code, 200) data = response.data.decode() self.assertEqual( json.loads(data)["users"][0]["email"], all_users_response["users"][0]["email"]) self.assertEqual( json.loads(data)["users"][0]["userName"], all_users_response["users"][0]["userName"]) self.assertEqual( json.loads(data)["users"][0]["phoneNumber"], all_users_response["users"][0]["phoneNumber"])
def test_get_specific_intervention(self): response = self.app.get('/api/v1/intervention/2', headers=token_header(encode_token(2))) self.assertEqual(response.status_code, 200) data = response.data.decode() message = { "data": { "comment": "Mbarara highway needs construction", "createdBy": 2, "createdOn": "Fri, 30 Nov 2018 12:09:32 GMT", "images": "1.jpeg", "incidentId": 2, "locationLat": 5.38974, "locationLong": 0.33737, "status": "draft", "type": "intervention", "videos": "1.gif" }, "status": 200 } self.assertEqual(json.loads(data), message)
"isAdmin": False, "name": "manuel Dominic highway", "phoneNumber": 256700701616, "userId": 3, "userName": "******" } } login_user = {"password": "******", "email": "*****@*****.**"} invalid_login_user = {"password": "******", "email": "*****@*****.**"} new_status = {"status": "Rejected"} login_user_response = { "token": encode_token(2), "message": "Successfully logged In" } all_users_response = { "status": 200, "users": [{ "email": "*****@*****.**", "isAdmin": False, "name": "manuel manuelLastname manuelOthername", "phoneNumber": 256700701616, "userId": 2, "userName": "******" }] }
def test_delete_redflag_with_error_id(self): response = self.app.delete('/api/v1/red-flags/5', headers=token_header(encode_token(2))) self.assertEqual(response.status_code, 404) data = response.data.decode() self.assertEqual(json.loads(data), error)
def test_delete_intervention_with_error_id(self): response = self.app.delete('/api/v1/intervention/30', headers=token_header(encode_token(2))) self.assertEqual(response.status_code, 404) data = response.data.decode() self.assertEqual(json.loads(data), error)
def test_get_specific_redflags_with_error_id(self): response = self.app.get('/api/v1/red-flags/82', headers=token_header(encode_token(2))) self.assertEqual(response.status_code, 404) data = response.data.decode() self.assertEqual(json.loads(data), error)
def test_get_users(self): response = self.app.get('/api/v1/users',headers=token_header(encode_token(1))) self.assertEqual(response.status_code,200) data = response.data.decode() self.assertEqual(json.loads(data), all_users_response)