Skip to content
Snippets Groups Projects
Commit 857fd2c6 authored by Andy Summers's avatar Andy Summers
Browse files

Merge branch 'fix-image-tests' into 'master'

Fix more image tests

See merge request !4
parents 184fc5ee 89d15870
No related branches found
No related tags found
1 merge request!4Fix more image tests
......@@ -24,7 +24,7 @@ from django.test.utils import override_settings
from mock import patch
from spotseeker_server import models
TEST_ROOT = abspath(dirname(__file__))
IMAGE_ROOT = abspath(os.path.join(settings.BASE_DIR, "media"))
@override_settings(SPOTSEEKER_AUTH_MODULE='spotseeker_server.auth.all_ok')
......@@ -35,8 +35,7 @@ class ItemImagePUTTest(TestCase):
"""
def setUp(self):
self.TEMP_DIR = tempfile.mkdtemp()
with self.settings(MEDIA_ROOT=self.TEMP_DIR):
with self.settings(MEDIA_ROOT=IMAGE_ROOT):
spot = Spot.objects.create(
name="This is a spot fot testing PUTting images")
spot.save()
......@@ -51,7 +50,7 @@ class ItemImagePUTTest(TestCase):
self.url = self.url
# GIF
f = open("%s/../resources/test_gif.gif" % TEST_ROOT)
f = open("%s/test_gif.gif" % IMAGE_ROOT, 'rb')
gif = self.item.itemimage_set.create(
description="This is the GIF test",
image=File(f))
......@@ -61,7 +60,7 @@ class ItemImagePUTTest(TestCase):
self.gif_url = "%s/image/%s" % (self.url, self.gif.pk)
# JPEG
f = open("%s/../resources/test_jpeg.jpg" % TEST_ROOT)
f = open("%s/test_jpeg.jpg" % IMAGE_ROOT, 'rb')
jpeg = self.item.itemimage_set.create(
description="This is the JPEG test",
image=File(f))
......@@ -71,7 +70,7 @@ class ItemImagePUTTest(TestCase):
self.jpeg_url = "%s/image/%s" % (self.url, self.jpeg.pk)
# PNG
f = open("%s/../resources/test_png.png" % TEST_ROOT)
f = open("%s/test_png.png" % IMAGE_ROOT, 'rb')
png = self.item.itemimage_set.create(
description="This is the PNG test",
image=File(f))
......@@ -81,7 +80,7 @@ class ItemImagePUTTest(TestCase):
self.png_url = "%s/image/%s" % (self.url, self.png.pk)
def test_bad_url(self):
with self.settings(MEDIA_ROOT=self.TEMP_DIR):
with self.settings(MEDIA_ROOT=IMAGE_ROOT):
c = Client()
item = Item.objects.create(name="This is the wrong Item")
......@@ -92,7 +91,7 @@ class ItemImagePUTTest(TestCase):
self.assertEqual(response.status_code, 404)
def test_invalid_url(self):
with self.settings(MEDIA_ROOT=self.TEMP_DIR):
with self.settings(MEDIA_ROOT=IMAGE_ROOT):
c = Client()
bad_url = "%s/image/aa" % self.url
response = c.put(bad_url,
......@@ -101,7 +100,7 @@ class ItemImagePUTTest(TestCase):
self.assertEqual(response.status_code, 404)
def test_invalid_id_too_high(self):
with self.settings(MEDIA_ROOT=self.TEMP_DIR):
with self.settings(MEDIA_ROOT=IMAGE_ROOT):
c = Client()
test_id = self.gif.pk + 10000
test_url = "%s/image/%s" % (self.url, test_id)
......@@ -111,13 +110,13 @@ class ItemImagePUTTest(TestCase):
self.assertEqual(response.status_code, 404)
def test_valid_same_type_with_etag(self):
with self.settings(MEDIA_ROOT=self.TEMP_DIR):
with self.settings(MEDIA_ROOT=IMAGE_ROOT):
c = Client()
response = c.get(self.jpeg_url)
etag = response['etag']
f = open("%s/../resources/test_jpeg2.jpg" % TEST_ROOT)
f2 = open("%s/../resources/test_jpeg.jpg" % TEST_ROOT)
f = open("%s/test_jpeg2.jpg" % IMAGE_ROOT, 'rb')
f2 = open("%s/test_jpeg.jpg" % IMAGE_ROOT, 'rb')
new_jpeg_name = "testing PUT name: {0}".format(random.random())
......@@ -125,7 +124,7 @@ class ItemImagePUTTest(TestCase):
files={"description": new_jpeg_name,
"image": f},
If_Match=etag)
f = open("%s/../resources/test_jpeg2.jpg" % TEST_ROOT)
f = open("%s/test_jpeg2.jpg" % IMAGE_ROOT, 'rb')
self.assertEqual(response.status_code, 200)
self.assertEqual(int(response["content-length"]),
len(f.read()))
......@@ -134,14 +133,14 @@ class ItemImagePUTTest(TestCase):
self.assertEqual(response["content-type"], "image/jpeg")
def test_valid_different_image_type_valid_etag(self):
with self.settings(MEDIA_ROOT=self.TEMP_DIR):
with self.settings(MEDIA_ROOT=IMAGE_ROOT):
c = Client()
response = c.get(self.gif_url)
etag = response["etag"]
f = open("%s/../resources/test_png.png" % TEST_ROOT)
f2 = open("%s/../resources/test_gif.gif" % TEST_ROOT)
f = open("%s/test_png.png" % IMAGE_ROOT, 'rb')
f2 = open("%s/test_gif.gif" % IMAGE_ROOT, 'rb')
new_name = "testing PUT name: {0}".format(random.random())
......@@ -152,7 +151,7 @@ class ItemImagePUTTest(TestCase):
"boundary=--aklsjf--",
If_Match=etag)
self.assertEqual(response.status_code, 200)
f = open("%s/../resources/test_png.png" % TEST_ROOT)
f = open("%s/test_png.png" % IMAGE_ROOT, 'rb')
# Just to be sure
response = c.get(self.gif_url)
......@@ -163,18 +162,18 @@ class ItemImagePUTTest(TestCase):
len(f2.read()))
def test_invalid_image_type_valid_etag(self):
with self.settings(MEDIA_ROOT=self.TEMP_DIR):
with self.settings(MEDIA_ROOT=IMAGE_ROOT):
c = Client()
response = c.get(self.gif_url)
etag = response["ETag"]
f = open("%s/../resources/test_png.png" % TEST_ROOT)
f2 = open("%s/../resources/test_gif.gif" % TEST_ROOT)
f = open("%s/test_png.png" % IMAGE_ROOT, 'rb')
f2 = open("%s/test_gif.gif" % IMAGE_ROOT, 'rb')
new_name = "testing PUT name: {0}".format(random.random())
c = Client()
f = open("%s/../resources/fake_jpeg.jpg" % TEST_ROOT)
f = open("%s/fake_jpeg.jpg" % IMAGE_ROOT, 'rb')
response = c.put(self.gif_url,
files={"description": "This is a text file",
"image": f},
......@@ -184,10 +183,10 @@ class ItemImagePUTTest(TestCase):
# Want this to be one of the first tests to run
def test_a_valid_image_no_etag(self):
with self.settings(MEDIA_ROOT=self.TEMP_DIR):
with self.settings(MEDIA_ROOT=IMAGE_ROOT):
c = Client()
# GIF
f = open("%s/../resources/test_gif2.gif" % TEST_ROOT)
f = open("%s/test_gif2.gif" % IMAGE_ROOT, 'rb')
new_gif_name = "testing PUT name: {0}".format(random.random())
response = c.put(self.gif_url,
files={"description": new_gif_name,
......@@ -199,7 +198,7 @@ class ItemImagePUTTest(TestCase):
self.assertEqual(updated_img.image, self.gif.image)
# JPEG
f = open("%s/../resources/test_jpeg2.jpg" % TEST_ROOT)
f = open("%s/test_jpeg2.jpg" % IMAGE_ROOT, 'rb')
new_jpeg_name = "testing PUT name: {0}".format(random.random())
response = c.put(self.gif_url,
files={"description": new_jpeg_name,
......@@ -212,7 +211,7 @@ class ItemImagePUTTest(TestCase):
self.jpeg.description)
# PNG
f = open("%s/../resources/test_png2.png" % TEST_ROOT)
f = open("%s/test_png2.png" % IMAGE_ROOT, 'rb')
new_png_name = "testing PUT name: {0}".format(random.random())
response = c.put(self.gif_url,
files={"description": new_png_name,
......@@ -229,9 +228,6 @@ class ItemImagePUTTest(TestCase):
self.assertNotEqual(os.fstat(f.fileno()).st_size,
int(content_length))
f = open("%s/../resources/test_gif.gif" % TEST_ROOT)
f = open("%s/test_gif.gif" % IMAGE_ROOT, 'rb')
self.assertEqual(os.fstat(f.fileno()).st_size,
int(content_length))
def tearDown(self):
shutil.rmtree(self.TEMP_DIR)
......@@ -65,6 +65,9 @@ urlpatterns = [
path('v1/spot/<int:spot_id>/image/<int:image_id>/thumb/constrain/<str:thumb_dimensions>',
csrf_exempt(ThumbnailView().run),
{'constrain': True}),
path('v1/spot/<int:spot_id>/image/<int:image_id>/thumb/',
csrf_exempt(ThumbnailView().run),
name='spot-image-thumb'),
path('v1/spot/<int:spot_id>/image/<int:image_id>/thumb/<str:thumb_dimensions>',
csrf_exempt(ThumbnailView().run),
name='spot-image-thumb'),
......
......@@ -98,7 +98,7 @@ class ShareSpaceView(RESTDispatch):
path = getattr(settings,
'SS_APP_SPACE_PATH',
'/space/{{ spot_id }}/{{ spot_name }}')
path = re.sub(r'{{\s*spot_id\s*}}', spot_id, path)
path = re.sub(r'{{\s*spot_id\s*}}', str(spot_id), path)
path = \
re.sub(r'{{\s*spot_name\s*}}', urlquote(spot.name), path)
hash_val = \
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment