def test_post_should_split_tags(self, get): data = {"name": "myepe", "platform": "django", "tags": " tag 1 , tag 2, tag 3 ,, , "} request = RequestFactory().post("/", data) request.session = {'tsuru_token': 'tokentest'} view = CreateApp() view.plans = lambda r: ("basic", [("basic", "basic")]) view.platforms = lambda r: [("django", "django")] view.post(request) CreateApp.client.apps.create.assert_called_with(name="myepe", platform="django", tag=["tag 1", "tag 2", "tag 3"])
def test_post_should_send_to_tsuru_removing_empty_keys(self, get): data = {"name": "myepe", "platform": "django", "plan": ""} request = RequestFactory().post("/", data) request.session = {'tsuru_token': 'tokentest'} view = CreateApp() view.plans = lambda r: ("basic", [("basic", "basic")]) view.platforms = lambda r: [("django", "django")] view.post(request) CreateApp.client.apps.create.assert_called_with(name="myepe", platform="django")
def test_post_should_split_tags(self, get): data = { "name": "myepe", "platform": "django", "tags": " tag 1 , tag 2, tag 3 ,, , " } request = RequestFactory().post("/", data) request.session = {'tsuru_token': 'tokentest'} view = CreateApp() view.plans = lambda r: ("basic", [("basic", "basic")]) view.platforms = lambda r: [("django", "django")] view.post(request) CreateApp.client.apps.create.assert_called_with( name="myepe", platform="django", tag=["tag 1", "tag 2", "tag 3"])
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_should_send_to_tsuru_with_args_expected(self, post, get): post.return_value = Mock(status_code=200) data = {"name": "myepe", "platform": "django", "plan": "basic"} request = RequestFactory().post("/", data) request.session = {'tsuru_token': 'tokentest'} view = CreateApp() view.plans = lambda r: ("basic", [("basic", "basic")]) view.platforms = lambda r: [("django", "django")] view.post(request) self.assertEqual(1, post.call_count) url = '{}/apps'.format(settings.TSURU_HOST) post.assert_called_with( url, data='{"platform": "django", "name": "myepe", "plan": {"name": "basic"}}', headers={'authorization': request.session['tsuru_token']} )
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_post_should_send_to_tsuru_removing_empty_keys(self, post, get): post.return_value = Mock(status_code=200) data = {"name": "myepe", "platform": "django", "plan": ""} request = RequestFactory().post("/", data) request.session = {'tsuru_token': 'tokentest'} view = CreateApp() view.plans = lambda r: ("basic", [("basic", "basic")]) view.platforms = lambda r: [("django", "django")] view.post(request) self.assertEqual(1, post.call_count) url = '{}/apps'.format(settings.TSURU_HOST) post.assert_called_with( url, data={ "platform": "django", "name": "myepe" }, headers={'authorization': request.session['tsuru_token']})
def test_post_with_success_should_redirect_to_app_list(self, get, success): data = {"name": "myepe", "platform": "django", "plan": ""} request = RequestFactory().post("/", data) request.session = {'tsuru_token': 'tokentest'} view = CreateApp() view.plans = lambda r: ("basic", [("basic", "basic")]) view.platforms = lambda r: [("django", "django")] response = view.post(request) success.assert_called_with(request, u'App was successfully created', fail_silently=True) self.assertEquals(302, response.status_code) self.assertEquals("/apps/", response.url)
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'))