def test_missing(self): """ Exception is raised when data arguments are missing when invoking a program. """ request = make_request("/no_defaults.json/5") c = HTTPController(request, self.manifest) self.assertRaises(Exception, c.get_data_response)
def test_too_much_data(self): """ Exception is raised when too many data arguments are passed into a program. """ request = make_request("/no_defaults.json/5/12/2") c = HTTPController(request, self.manifest) self.assertRaises(Exception, c.get_data_response)
def test_nested_404(self): """ Verify that an incorrect name invokes as a 404 instead of being passed into the root program. """ request = make_request("/another/invalid") cx = HTTPController(request, self.manifest) self.assertRaises(ProgramNotFound, cx.get_data_response)
def test_raw_primitive(self): request = make_request("/raw.json/raw/arg/to_some/program") c = HTTPController(request, self.manifest) data = c.get_data_response() self.assertEquals(json.loads(data['body']), "raw/arg/to_some/program3")
def test_none(self): request = make_request("/none.json/3") c = HTTPController(request, self.manifest) data = c.get_data_response() self.assertEquals(json.loads(data['body']), "3 None")
def test_order_defaults(self): request = make_request("/order.json") c = HTTPController(request, self.manifest) data = c.get_data_response() self.assertEquals(json.loads(data['body']), ['a', 'b', 'c', 'd', 'e', 'f', 'g'])
def test_order(self): request = make_request("/order.json/1/2/3/4/5/6/7") c = HTTPController(request, self.manifest) data = c.get_data_response() self.assertEquals(json.loads(data['body']), ['1', '2', '3', '4', '5', '6', '7'])
def test_default(self): request = make_request("/defaults.json") c = HTTPController(request, self.manifest) data = c.get_data_response() self.assertEquals(json.loads(data['body']), 8)
def test_kwargs(self): request = make_request("/no_defaults.json?x=3&y=4") c = HTTPController(request, self.manifest) data = c.get_data_response() self.assertEquals(json.loads(data['body']), 12)