示例#1
0
 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)
示例#3
0
 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)
示例#6
0
    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)
示例#8
0
 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)
示例#9
0
 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)
示例#10
0
 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)
示例#11
0
 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)
示例#12
0
 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)
示例#13
0
 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)
示例#14
0
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
示例#15
0
 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)
示例#16
0
 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"])
示例#18
0
 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)
示例#19
0
        "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": "******"
    }]
}
示例#20
0
 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)
示例#21
0
 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)
示例#22
0
 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)
示例#23
0
 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)