NMPhap commited on
Commit
f92965c
1 Parent(s): 66144c5

<Test>: Increase coverage

Browse files
.coverage CHANGED
Binary files a/.coverage and b/.coverage differ
 
.gitignore CHANGED
@@ -7,4 +7,5 @@ demo
7
  **/*.mp4
8
  **/*.jpg
9
  .pytest_cache
10
- !demo.jpg
 
 
7
  **/*.mp4
8
  **/*.jpg
9
  .pytest_cache
10
+ !demo.jpg
11
+ /htmlcov
app/routers/friend_request.py CHANGED
@@ -102,11 +102,11 @@ async def makeFriend(inviteeId: str, inviterId: str):
102
  @router.delete("/{RequestId}")
103
  def deleteRequest(RequestId: str, user=Depends(get_current_user)):
104
  Request_ref = db.collection(COLLECTION_NAME).document(RequestId)
105
- Request = Request_ref.get().to_dict()
106
 
107
  if not Request.exists:
108
  raise HTTPException(status_code=404, detail="Friend request not found")
109
-
110
  if isInviter(user, Request):
111
  Request_ref.delete()
112
  return {"status": "OK"}
 
102
  @router.delete("/{RequestId}")
103
  def deleteRequest(RequestId: str, user=Depends(get_current_user)):
104
  Request_ref = db.collection(COLLECTION_NAME).document(RequestId)
105
+ Request = Request_ref.get()
106
 
107
  if not Request.exists:
108
  raise HTTPException(status_code=404, detail="Friend request not found")
109
+ Request = Request.to_dict()
110
  if isInviter(user, Request):
111
  Request_ref.delete()
112
  return {"status": "OK"}
tests/test_friend_request.py CHANGED
@@ -159,6 +159,17 @@ class TestFriendRequest:
159
  # Create invitee user
160
  user_ref.document(invitee["id"]).set({"deviceId": deviceId})
161
  # Send request
 
 
 
 
 
 
 
 
 
 
 
162
  request_id = read_qr_code("qrcode.jpg")
163
  payload = ""
164
  headers = {
@@ -169,6 +180,70 @@ class TestFriendRequest:
169
  "PATCH", "friend_request/" + request_id, headers=headers, data=payload
170
  )
171
  assert response.status_code == 200
 
172
  # Delete entity for next time test
173
  user_ref.document(inviter["id"]).delete()
174
  user_ref.document(invitee["id"]).delete()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
159
  # Create invitee user
160
  user_ref.document(invitee["id"]).set({"deviceId": deviceId})
161
  # Send request
162
+ ## Send request with false token
163
+ payload = ""
164
+ headers = {
165
+ "Content-Type": "application/json",
166
+ "Authorization": "Bearer " + inviter['token'],
167
+ }
168
+ response = client.request(
169
+ "PATCH", "friend_request/" + request_id, headers=headers, data=payload
170
+ )
171
+ assert response.status_code == 400
172
+ ## Send request
173
  request_id = read_qr_code("qrcode.jpg")
174
  payload = ""
175
  headers = {
 
180
  "PATCH", "friend_request/" + request_id, headers=headers, data=payload
181
  )
182
  assert response.status_code == 200
183
+
184
  # Delete entity for next time test
185
  user_ref.document(inviter["id"]).delete()
186
  user_ref.document(invitee["id"]).delete()
187
+ def test_delete_requestF(self, client, inviter, invitee):
188
+ # Call the firebase database
189
+ friend_request_ref = db.collection("friend_request")
190
+ # Remove all the friend_request use for testing in the past
191
+ query = friend_request_ref.where(
192
+ filter=FieldFilter("inviter", "==", inviter["id"])
193
+ )
194
+ docs = query.stream()
195
+ for doc in docs:
196
+ doc.reference.delete()
197
+ # Delete the user for safety-check
198
+ user_ref = db.collection("user")
199
+ user_ref.document(inviter["id"]).delete()
200
+ # Create request and re-send
201
+ user_ref.document(inviter["id"]).set({"deviceId": deviceId})
202
+ payload = ""
203
+ headers = {
204
+ "Content-Type": "application/json",
205
+ "Authorization": "Bearer " + inviter["token"],
206
+ }
207
+ response = client.request(
208
+ "POST", "friend_request", headers=headers, data=payload
209
+ )
210
+ assert response.status_code == 200
211
+ result = mmcv.imfrombytes(response.read())
212
+ # Check returned QR image
213
+ assert result.shape[2] == 3
214
+ # Write image for later read
215
+ mmcv.imwrite(result, "qrcode.jpg")
216
+ # check DELETE route
217
+ request_id = read_qr_code("qrcode.jpg")
218
+ payload = ""
219
+ headers = {
220
+ "Content-Type": "application/json",
221
+ "Authorization": "Bearer " + inviter["token"],
222
+ }
223
+ response = client.request(
224
+ "DELETE", "friend_request/" + "xxxx", headers=headers, data=payload
225
+ )
226
+ assert response.status_code == 404
227
+ payload = ""
228
+ headers = {
229
+ "Content-Type": "application/json",
230
+ "Authorization": "Bearer " + invitee["token"],
231
+ }
232
+ response = client.request(
233
+ "DELETE", "friend_request/" + request_id, headers=headers, data=payload
234
+ )
235
+ assert response.status_code == 403
236
+ #Correct Request
237
+ payload = ""
238
+ headers = {
239
+ "Content-Type": "application/json",
240
+ "Authorization": "Bearer " + inviter["token"],
241
+ }
242
+ response = client.request(
243
+ "DELETE", "friend_request/" + request_id, headers=headers, data=payload
244
+ )
245
+ assert response.status_code == 200
246
+
247
+ # Delete entity for next time test
248
+ user_ref.document(inviter["id"]).delete()
249
+ user_ref.document(invitee["id"]).delete()