def test_purge(self, stdout, Request, urlopen): request = Request.return_value urlopen.return_value.getcode.return_value = 200 self.set_envs() self.addCleanup(self.delete_envs) plugin.purge(['-s', 'myservice', '-i', 'myinst', '-l', '/foo/bar?a=b&c=d']) Request.assert_called_with(self.target + "services/myservice/proxy/myinst?" + "callback=/resources/myinst/purge") request.add_header.assert_any_call("Authorization", "bearer " + self.token) request.add_header.assert_any_call("Content-Type", "application/x-www-form-urlencoded") request.add_data.assert_called_with("path=%2Ffoo%2Fbar%3Fa%3Db%26c%3Dd&preserve_path=False") self.assertEqual(request.get_method(), 'POST') urlopen.assert_called_with(request)
def test_purge_invalid_service_name(self, stderr, Request, urlopen): request = mock.Mock() Request.return_value = request self.set_envs() self.addCleanup(self.delete_envs) urlopen.return_value = HTTPError(None, 404, None, None, StringIO(u"Invalid service name")) with self.assertRaises(SystemExit) as cm: plugin.purge(["-s", "myservice", "-i", "myinstance", "-l", "/foo/bar"]) exc = cm.exception self.assertEqual(1, exc.code) Request.assert_called_with(self.target + "services/myservice/proxy/myinstance?" + "callback=/resources/myinstance/purge") request.add_header.assert_any_call("Authorization", "bearer " + self.token) request.add_data.assert_called_with("path=%2Ffoo%2Fbar&preserve_path=False") urlopen.assert_called_with(request) stderr.write.assert_called_with("ERROR: Invalid service name\n")