38 lines
1.4 KiB
Python
38 lines
1.4 KiB
Python
import unittest
|
|
from webob import Request
|
|
#TODO: should this be teller.image ?
|
|
from teller import server as image_server
|
|
|
|
class TestImageController(unittest.TestCase):
|
|
def setUp(self):
|
|
conf = {}
|
|
self.image_controller = image_server.ImageController(conf)
|
|
|
|
def test_GET(self):
|
|
# uri must be specified
|
|
request = Request.blank("/image")
|
|
response = self.image_controller.GET(request)
|
|
self.assertEqual(response.status_int, 400) # should be 422?
|
|
|
|
# FIXME: need urllib.quote here?
|
|
image_uri = "http://parallax/myacct/my-image"
|
|
request = Request.blank("/image?uri=%s" % image_uri)
|
|
def mock_parallax_lookup(uri):
|
|
return {"objects": [{"uri": "teststr://chunk0"},
|
|
{"uri": "teststr://chunk1"}]}
|
|
|
|
self.image_controller.image_lookup_fn = mock_parallax_lookup
|
|
response = self.image_controller.GET(request)
|
|
self.assertEqual("chunk0chunk1", response.body)
|
|
|
|
image_uri = "http://parallax/myacct/does-not-exist"
|
|
request = Request.blank("/image?uri=%s" % image_uri)
|
|
def mock_parallax_lookup(uri):
|
|
return None
|
|
self.image_controller.image_lookup_fn = mock_parallax_lookup
|
|
response = self.image_controller.GET(request)
|
|
self.assertEqual(response.status_int, 404)
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|