def test_register_unit_hard_fail(self, post_mock, get_mock): response = post_mock.return_value response.status_code = 500 response.text = "some error" client = Client("http://localhost", "token") with self.assertRaises(Exception) as cm: client.register_unit(app="myapp") post_mock.assert_called_once_with( "{}/apps/myapp/units/register".format(client.url), data={"hostname": gethostname()}, headers={"Authorization": "bearer token"}) self.assertEqual(str(cm.exception), "invalid response 500 - some error")
def deploy_action(args): heartbeat.StderrHeartbeat().start() client = Client(args.url, args.token) envs = client.register_unit(args.app_name) tasks.save_apprc_file(envs) tasks.execute_start_script(args.start_cmd) yaml_data = tasks.load_app_yaml() yaml_data["procfile"] = tasks.load_procfile() client.register_unit(args.app_name, yaml_data) client.post_app_yaml(args.app_name, yaml_data) tasks.run_build_hooks(yaml_data, envs=envs) tasks.write_circus_conf(envs=envs)
def deploy_action(args): heartbeat.StderrHeartbeat().start() client = Client(args.url, args.token) envs, supported_tsuru = client.register_unit(args.app_name) save_apprc_file(envs, supported_tsuru) tasks.execute_start_script(args.start_cmd) yaml_data = tasks.load_app_yaml() client.post_app_yaml(args.app_name, yaml_data) tasks.run_build_hooks(yaml_data, envs=envs) remove_temp_env_file() yaml_data["procfile"] = tasks.load_procfile() yaml_data["processes"] = tasks.parse_procfile() client.register_unit(args.app_name, yaml_data) tasks.write_circus_conf(envs=envs)
def test_register_unit_failing_register(self, post_mock, get_mock): response = post_mock.return_value response.status_code = 404 response.json.return_value = None get_response = get_mock.return_value get_response.headers = {"supported-tsuru": "0.17.1"} get_response.status_code = 200 get_response.json.return_value = [ {'name': 'var1', 'value': 'var2'}, {'name': 'var3', 'value': 'var4'}, ] client = Client("http://localhost", "token") envs, supported_tsuru = client.register_unit(app="myapp") post_mock.assert_called_once_with( "{}/apps/myapp/units/register".format(client.url), data={"hostname": gethostname()}, headers={"Authorization": "bearer token"}) get_mock.assert_called_once_with( "{}/apps/myapp/env".format(client.url), headers={"Authorization": "bearer token"}) self.assertEqual(envs['var1'], 'var2') self.assertEqual(envs['var3'], 'var4') self.assertEqual(envs['port'], '8888') self.assertEqual(envs['PORT'], '8888') self.assertEqual("0.17.1", supported_tsuru)
def test_register_unit_no_supported_tsuru_header(self, post_mock): response = post_mock.return_value response.headers = {} response.status_code = 200 response.json.return_value = [ { 'name': 'var1', 'value': 'var2' }, { 'name': 'var3', 'value': 'var4' }, ] client = Client("http://localhost", "token") envs, supported_tsuru = client.register_unit( "myapp", {"mykey": ["val1", "val2"]}) post_mock.assert_called_with("{}/apps/myapp/units/register".format( client.url), data={ "hostname": gethostname(), "customdata": '{"mykey": ["val1", "val2"]}' }, headers={"Authorization": "bearer token"}) self.assertEqual(envs['var1'], 'var2') self.assertEqual(envs['var3'], 'var4') self.assertEqual(envs['port'], '8888') self.assertEqual(envs['PORT'], '8888') self.assertEqual("0.0.0", supported_tsuru)
def test_register_unit_failing_register(self, post_mock, get_mock): response = post_mock.return_value response.status_code = 404 response.json.return_value = None get_response = get_mock.return_value get_response.headers = {"supported-tsuru": "0.17.1"} get_response.status_code = 200 get_response.json.return_value = [ { 'name': 'var1', 'value': 'var2' }, { 'name': 'var3', 'value': 'var4' }, ] client = Client("http://localhost", "token") envs, supported_tsuru = client.register_unit(app="myapp") post_mock.assert_called_once_with( "{}/apps/myapp/units/register".format(client.url), data={"hostname": gethostname()}, headers={"Authorization": "bearer token"}) get_mock.assert_called_once_with( "{}/apps/myapp/env".format(client.url), headers={"Authorization": "bearer token"}) self.assertEqual(envs['var1'], 'var2') self.assertEqual(envs['var3'], 'var4') self.assertEqual(envs['port'], '8888') self.assertEqual(envs['PORT'], '8888') self.assertEqual("0.17.1", supported_tsuru)
def run_action(args): client = Client(args.url, args.token) envs = None try: envs = client.register_unit(args.app_name) tasks.save_apprc_file(envs) except ConnectionError: envs = tasks.parse_apprc_file() yaml_data = tasks.load_app_yaml() tasks.write_circus_conf(envs=envs) tasks.run_restart_hooks('before', yaml_data, envs=envs) tasks.execute_start_script(args.start_cmd, envs=envs, with_shell=False) tasks.run_restart_hooks('after', yaml_data, envs=envs)
def run_action(args): client = Client(args.url, args.token) envs = None try: envs, supported_tsuru = client.register_unit(args.app_name) save_apprc_file(envs, supported_tsuru) except ConnectionError: envs = tasks.parse_apprc_file() yaml_data = tasks.load_app_yaml() tasks.write_circus_conf(envs=envs) tasks.run_restart_hooks('before', yaml_data, envs=envs) tasks.execute_start_script(args.start_cmd, envs=envs, with_shell=False) tasks.run_restart_hooks('after', yaml_data, envs=envs) remove_temp_env_file()
def test_register_unit(self, post_mock): response = post_mock.return_value response.status_code = 200 response.json.return_value = [ {'name': 'var1', 'value': 'var2'}, {'name': 'var3', 'value': 'var4'}, ] client = Client("http://localhost", "token") envs = client.register_unit("myapp") post_mock.assert_called_with( "{}/apps/myapp/units/register".format(client.url), data={"hostname": gethostname()}, headers={"Authorization": "bearer token"}) self.assertEqual(envs['var1'], 'var2') self.assertEqual(envs['var3'], 'var4') self.assertEqual(envs['port'], '8888') self.assertEqual(envs['PORT'], '8888')
def test_register_unit_no_supported_tsuru_header(self, post_mock): response = post_mock.return_value response.headers = {} response.status_code = 200 response.json.return_value = [ {'name': 'var1', 'value': 'var2'}, {'name': 'var3', 'value': 'var4'}, ] client = Client("http://localhost", "token") envs, supported_tsuru = client.register_unit("myapp", {"mykey": ["val1", "val2"]}) post_mock.assert_called_with( "{}/apps/myapp/units/register".format(client.url), data={ "hostname": gethostname(), "customdata": '{"mykey": ["val1", "val2"]}' }, headers={"Authorization": "bearer token"}) self.assertEqual(envs['var1'], 'var2') self.assertEqual(envs['var3'], 'var4') self.assertEqual(envs['port'], '8888') self.assertEqual(envs['PORT'], '8888') self.assertEqual("0.0.0", supported_tsuru)