Skip to content

Commit

Permalink
Fix Merge conflicts
Browse files Browse the repository at this point in the history
  • Loading branch information
ktabouguia committed Dec 2, 2018
2 parents c19de2d + 5359577 commit 5b25d5f
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 12 deletions.
11 changes: 3 additions & 8 deletions bounce/server/api/clubs.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,6 @@ class ClubImagesEndpoint(Endpoint):

__uri__ = '/clubs/<club_name>/images/<image_name>'

##@validate(GetClubImageRequest, GetClubImageResponse)
async def get(self, _, club_name, image_name):
"""
Handles a GET /clubs/<club_name>/images/<image_name> request
Expand All @@ -141,7 +140,6 @@ async def get(self, _, club_name, image_name):
raise APIError('No such image', status=404)

# @verify_token()
##@validate(PutClubImageRequest, PutClubImageResponse)
async def put(self, request, club_name, image_name):
"""
Handles a PUT /clubs/<club_name>/images/<image_name> request
Expand All @@ -166,16 +164,13 @@ async def put(self, request, club_name, image_name):
'Only png and jpeg images are supported', status=400)
if len(image_upload.body) > IMAGE_SIZE_LIMIT:
raise APIError('Image too large', status=400)
try:
image.save(self.server.config.image_dir, EntityType.CLUB,
club_name, image_name, image_upload.body)
except FileExistsError:
raise APIError('No such image', status=404)

image.save(self.server.config.image_dir, EntityType.CLUB, club_name,
image_name, image_upload.body)

return response.text('', status=200)

# @verify_token()
## @validate(DeleteClubImageRequest, DeleteClubImageResponse)
async def delete(self, _, club_name, image_name):
"""Handles a DETELE by deleting the club's image by the given name."""

Expand Down
48 changes: 44 additions & 4 deletions tests/api/test_endpoints.py
Original file line number Diff line number Diff line change
Expand Up @@ -278,7 +278,7 @@ def test_put_club_image__success(server):


def test_put_club_image__failure(server):
#No such club
# No such club
token = util.create_jwt(2, server.config.secret)
data = FormData()
_, response = server.app.test_client.put(
Expand All @@ -288,9 +288,39 @@ def test_put_club_image__failure(server):
'Authorization': token,
})
assert response.status == 404
#Invalid image name
# Invalid image name
_, response = server.app.test_client.put(
'/clubs/test/images/profile',
data=data,
headers={
'Authorization': token,
})
assert response.status == 400

data.add_field('image', open('tests/testdata/gif-file.gif', 'rb'))

_, response = server.app.test_client.put(
'/clubs/test/images/profile',
data=data,
headers={
'Authorization': token,
})
assert response.status == 400

data = FormData()
data.add_field('image', open('tests/testdata/large-png-file.png', 'rb'))
_, response = server.app.test_client.put(
'/clubs/test/images/profile',
data=data,
headers={
'Authorization': token,
})
assert response.status == 400

data = FormData()
data.add_field('image', open('tests/testdata/large-logo.png', 'rb'))
_, response = server.app.test_client.put(
'/clubs/test/images/$%^&*(',
'/clubs/test/images/@$@3(',
data=data,
headers={
'Authorization': token,
Expand All @@ -304,10 +334,13 @@ def test_get_club_image__success(server):


def test_get_club_image__failure(server):
#No such club
# No such club
_, response = server.app.test_client.get('/clubs/newTest/images/profile')
assert response.status == 404

_, response = server.app.test_client.get('/clubs/test/images/adw0@?dow')
assert response.status == 400


def test_delete_club_image__success(server):
token = util.create_jwt(2, server.config.secret)
Expand All @@ -326,6 +359,13 @@ def test_delete_club_image__failure(server):
'Authorization': token,
})
assert response.status == 404

_, response = server.app.test_client.delete(
'/clubs/test/images/adw0@?dow', headers={
'Authorization': token,
})
assert response.status == 400
# TODO : Uncomment this portion of code once memberships code is merged in
# # Forbidden (user is trying to delete image of an unrelated club)
# _, response = server.app.test_client.delete(
# '/clubs/newtest/images/profile', headers={
Expand Down

0 comments on commit 5b25d5f

Please sign in to comment.