コード例 #1
0
ファイル: test_admin_plugin.py プロジェクト: morpheu/rpaas
    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")
コード例 #2
0
    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")
コード例 #3
0
ファイル: test_admin_plugin.py プロジェクト: renatosis/rpaas
 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")
コード例 #4
0
ファイル: test_admin_plugin.py プロジェクト: dmvieira/rpaas
 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")
コード例 #5
0
    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")
コード例 #6
0
ファイル: test_admin_plugin.py プロジェクト: morpheu/rpaas
    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")