def test_update_plan_failure(self, stderr, Request, urlopen): request = mock.Mock() Request.return_value = request plan = {"name": "small", "description": "smalll vms", "config": {}} old_retrieve = admin_plugin._retrieve_plan admin_plugin._retrieve_plan = lambda service_name, name: plan def recover_retrieve(): admin_plugin._retrieve_plan = old_retrieve self.addCleanup(recover_retrieve) result = mock.Mock() result.getcode.return_value = 404 result.read.return_value = "plan not found\n" urlopen.return_value = result with self.assertRaises(SystemExit) as cm: admin_plugin.update_plan( ["-s", self.service_name, "-n", "small", "-d", "smalll vms", "-c", "SERVICE=abcdef-123"] ) exc = cm.exception self.assertEqual(1, exc.code) Request.assert_called_with(self.target + "services/proxy/service/rpaas?" + "callback=/admin/plans/small") request.add_header.assert_any_call("Authorization", "bearer " + self.token) request.add_header.assert_any_call("Content-Type", "application/x-www-form-urlencoded") self.assertEqual("PUT", request.get_method()) stderr.write.assert_called_with("ERROR: plan not found\n")
def test_update_plan_failure(self, stderr, Request, urlopen): request = mock.Mock() Request.return_value = request plan = {"name": "small", "description": "smalll vms", "config": {}} old_retrieve = admin_plugin._retrieve_plan admin_plugin._retrieve_plan = lambda service_name, name: plan def recover_retrieve(): admin_plugin._retrieve_plan = old_retrieve self.addCleanup(recover_retrieve) result = mock.Mock() result.getcode.return_value = 404 result.read.return_value = "plan not found\n" urlopen.return_value = result with self.assertRaises(SystemExit) as cm: admin_plugin.update_plan([ "-s", self.service_name, "-n", "small", "-d", "smalll vms", "-c", "SERVICE=abcdef-123" ]) exc = cm.exception self.assertEqual(1, exc.code) Request.assert_called_with(self.target + "services/proxy/service/rpaas?" + "callback=/admin/plans/small") request.add_header.assert_any_call("Authorization", "bearer " + self.token) request.add_header.assert_any_call( "Content-Type", "application/x-www-form-urlencoded") self.assertEqual("PUT", request.get_method()) stderr.write.assert_called_with("ERROR: plan not found\n")
def test_update_plan_invalid_config(self, stderr): with self.assertRaises(SystemExit) as cm: admin_plugin.update_plan(["-s", self.service_name, "-n", "small", "-d", "smalll vms", "-c", "SERVICE"]) exc = cm.exception self.assertEqual(2, exc.code) stderr.write.assert_called_with( "ERROR: Invalid config format, supported format is KEY=VALUE\n")
def test_update_plan(self, stdout, Request, urlopen): request = mock.Mock() Request.return_value = request result = mock.Mock() result.getcode.return_value = 200 urlopen.return_value = result plan = { "name": "small", "description": "smalll vms", "config": { "SERVICE": "abcd", "GREETINGS": "hello" } } old_retrieve = admin_plugin._retrieve_plan admin_plugin._retrieve_plan = lambda service_name, name: plan def recover_retrieve(): admin_plugin._retrieve_plan = old_retrieve self.addCleanup(recover_retrieve) admin_plugin.update_plan([ "-s", self.service_name, "-n", "small", "-d", "smalll vms", "-c", 'SERVICE=abcdef-123 NAME="some thing" DATA=go go go DATE=\'2015\' wat=""' ]) Request.assert_called_with(self.target + "services/proxy/service/rpaas?" + "callback=/admin/plans/small") request.add_header.assert_any_call("Authorization", "bearer " + self.token) request.add_header.assert_any_call( "Content-Type", "application/x-www-form-urlencoded") raw_params = request.add_data.call_args[0][0] parsed_params = urlparse.parse_qs(raw_params) parsed_params["description"] = unicode(parsed_params["description"][0]) parsed_params["config"] = json.loads(parsed_params["config"][0]) expected_params = { "description": u"smalll vms", "config": { "SERVICE": "abcdef-123", "NAME": "some thing", "DATA": "go go go", "DATE": "2015", "GREETINGS": "hello" }, } self.assertEqual(expected_params, parsed_params) self.assertEqual("PUT", request.get_method()) stdout.write.assert_called_with("Plan successfully updated\n")
def test_update_plan(self, stdout, Request, urlopen): request = mock.Mock() Request.return_value = request result = mock.Mock() result.getcode.return_value = 200 urlopen.return_value = result plan = {"name": "small", "description": "smalll vms", "config": {"SERVICE": "abcd", "GREETINGS": "hello"}} old_retrieve = admin_plugin._retrieve_plan admin_plugin._retrieve_plan = lambda service_name, name: plan def recover_retrieve(): admin_plugin._retrieve_plan = old_retrieve self.addCleanup(recover_retrieve) admin_plugin.update_plan( [ "-s", self.service_name, "-n", "small", "-d", "smalll vms", "-c", 'SERVICE=abcdef-123 NAME="some thing" DATA=go go go DATE=\'2015\' wat=""', ] ) Request.assert_called_with(self.target + "services/proxy/service/rpaas?" + "callback=/admin/plans/small") request.add_header.assert_any_call("Authorization", "bearer " + self.token) request.add_header.assert_any_call("Content-Type", "application/x-www-form-urlencoded") raw_params = request.add_data.call_args[0][0] parsed_params = urlparse.parse_qs(raw_params) parsed_params["description"] = unicode(parsed_params["description"][0]) parsed_params["config"] = json.loads(parsed_params["config"][0]) expected_params = { "description": u"smalll vms", "config": { "SERVICE": "abcdef-123", "NAME": "some thing", "DATA": "go go go", "DATE": "2015", "GREETINGS": "hello", }, } self.assertEqual(expected_params, parsed_params) self.assertEqual("PUT", request.get_method()) stdout.write.assert_called_with("Plan successfully updated\n")