def test_pools_when_api_returns_pools_in_older_format(self, get): mocked_response = Mock(status_code=200) mocked_response.json.return_value = json.loads('[{"Name": "dead"}]') get.return_value = mocked_response view = CreateApp() pools = view.pools(self.request) self.assertListEqual([("", ""), ("dead", "dead")], pools)
def test_pools_when_api_returns_pools_in_new_format(self, get): mocked_response = Mock(status_code=200) mocked_response.json.return_value = json.loads('[{"name": "theonepool"}]') get.return_value = mocked_response view = CreateApp() pools = view.pools(self.request) self.assertEqual([("", ""), ("theonepool", "theonepool")], pools)
def test_pools_when_api_returns_pools_in_new_format(self, get): mocked_response = Mock(status_code=200) mocked_response.json.return_value = json.loads( '[{"name": "theonepool"}]') get.return_value = mocked_response view = CreateApp() pools = view.pools(self.request) self.assertEqual([("", ""), ("theonepool", "theonepool")], pools)
def test_pools_1_0(self, get): content = u"""[{"Name": "dead"}]""" m = Mock(status_code=200, content=content) m.json.return_value = json.loads(content) get.return_value = m request = RequestFactory().get("/") request.session = {'tsuru_token': 'tokentest'} view = CreateApp() pools = view.pools(request) self.assertListEqual([("", ""), ('dead', 'dead')], pools)
def test_pools_empty(self, get): content = u"[]" m = Mock(status_code=200, content=content) m.json.return_value = json.loads(content) get.return_value = m request = RequestFactory().get("/") request.session = {'tsuru_token': 'tokentest'} view = CreateApp() pools = view.pools(request) self.assertListEqual([('', '')], pools)
def test_pools_old_format(self, get): content = u"""[{"Pools": ["basic", "one"], "Team": "andrews"}]""" m = Mock(status_code=200, content=content) m.json.return_value = json.loads(content) get.return_value = m request = RequestFactory().get("/") request.session = {'tsuru_token': 'tokentest'} view = CreateApp() pools = view.pools(request) self.assertListEqual([("", ""), ('one', 'one'), ('basic', 'basic')], pools)
def test_pools_new_api(self, get): content = u"""{"pools_by_team": [{"Pools": ["one"], "Team": "admin"}], "public_pools": [{"Default": "True", "Public": "True", "Name": "basic", "Teams": []}]}""" m = Mock(status_code=200, content=content) m.json.return_value = json.loads(content) get.return_value = m request = RequestFactory().get("/") request.session = {"tsuru_token": "tokentest"} view = CreateApp() pools = view.pools(request) self.assertEqual([("", ""), ('one', 'one'), ('basic', 'basic')], pools)
def test_should_use_create_template(self, get): content = u"""[{"Name":"python"},{"Name":"ruby"},{"Name":"static"}]""" m = Mock(status_code=200, content=content) m.json.return_value = json.loads(content) get.return_value = m request = RequestFactory().get("/") request.session = {} view = CreateApp() view.plans = lambda r: ("small", [("small", "small")]) view.teams = lambda r: [] view.pools = lambda r: [] response = view.get(request) self.assertEqual("apps/create.html", response.template_name)
def test_AppForm_should_be_in_context(self, get): content = u"""[{"Name":"python"},{"Name":"ruby"},{"Name":"static"}]""" m = Mock(status_code=200, content=content) m.json.return_value = json.loads(content) get.return_value = m request = RequestFactory().get("/") request.session = {} view = CreateApp() view.plans = lambda r: ("basic", [("basic", "basic")]) view.teams = lambda r: [] view.pools = lambda r: [] response = view.get(request) app_form = response.context_data['app_form'] self.assertIsInstance(app_form, forms.AppForm)
def test_post_without_name_should_return_form_with_errors(self, get): content = u"""[{"Name":"python"},{"Name":"ruby"},{"Name":"static"}]""" m = Mock(status_code=200, content=content) m.json.return_value = json.loads(content) get.return_value = m request = RequestFactory().post("/", {"name": ""}) request.session = {} view = CreateApp() view.plans = lambda r: ("small", [("small", "small")]) view.teams = lambda r: [] view.pools = lambda r: [] response = view.post(request) form = response.context_data.get('app_form') self.assertIn('name', form.errors) self.assertIn(u'This field is required.', form.errors.get('name'))
def test_post_with_errors_should_show_error_message(self, get, error): content = u"""[{"Name":"python"},{"Name":"ruby"},{"Name":"static"}]""" m = Mock(status_code=200, content=content) m.json.return_value = json.loads(content) get.return_value = m request = RequestFactory().post( "/", {"name": "myepe", "platform": "python"}) request.session = {} view = CreateApp() view.plans = lambda r: ("small", [("small", "small")]) view.teams = lambda r: [] view.pools = lambda r: [] view.post(request) error.assert_called_with(request, u'Error creating app', fail_silently=True)
def test_post_with_invalid_name_should_return_500(self, post, get, error): content = u"""[{"Name":"python"},{"Name":"ruby"},{"Name":"static"}]""" m = Mock(status_code=200, content=content) m.json.return_value = json.loads(content) get.return_value = m request = RequestFactory().post("/", { "name": "myepe", "platform": "python" }) request.session = {} post.return_value = Mock(status_code=500, content='Error') view = CreateApp() view.plans = lambda r: ("small", [("small", "small")]) view.teams = lambda r: [] view.pools = lambda r: [] view.post(request) error.assert_called_with(request, u'Error', fail_silently=True)
def test_pools_when_api_returns_no_content(self, get): mocked_response = Mock(status_code=204) get.return_value = mocked_response view = CreateApp() pools = view.pools(self.request) self.assertListEqual([('', '')], pools)