def test_status(mock_daemon_factory_new, mock_daemon_factory_save, mock_daemon_factory_load, mock_daemon_factory_delete, mock_daemon_factory_load_all, mock_get_storage_dir): name = utils.internal.generate_agent_name() run_agent_command('cfy-agent daemons status --name={0}'.format(name)) daemon = mock_daemon_factory_load.return_value daemon.status.assert_called_once_with()
def test_required(mock_daemon_factory_new, mock_daemon_factory_save, mock_daemon_factory_load, mock_daemon_factory_delete, mock_daemon_factory_load_all, mock_get_storage_dir): run_agent_command( 'cfy-agent daemons create --rest-host=manager ' '--broker-ip=manager ' '--process-management=init.d', raise_system_exit=True)
def test_restart(mock_daemon_factory_new, mock_daemon_factory_save, mock_daemon_factory_load, mock_daemon_factory_delete, mock_daemon_factory_load_all, mock_get_storage_dir): run_agent_command('cfy-agent daemons restart --name=name') mock_daemon_factory_load.assert_called_once_with('name', logger=get_logger()) daemon = mock_daemon_factory_load.return_value daemon.restart.assert_called_once_with()
def test_stop(mock_daemon_factory_new, mock_daemon_factory_save, mock_daemon_factory_load, mock_daemon_factory_delete, mock_daemon_factory_load_all, mock_get_storage_dir): run_agent_command('cfy-agent daemons stop --name=name ' '--interval 5 --timeout 20') mock_daemon_factory_load.assert_called_once_with('name', logger=get_logger()) daemon = mock_daemon_factory_load.return_value daemon.stop.assert_called_once_with(interval=5, timeout=20)
def test_version(): mock_logger = mock.Mock() with mock.patch('cloudify_agent.shell.main.get_logger', return_value=mock_logger): run_agent_command('cfy-agent --version') assert 1 == len(mock_logger.mock_calls) version = json.loads(pkgutil.get_data('cloudify_agent', 'VERSION'))['version'] log_args = mock_logger.mock_calls[0][1] logged_output = log_args[0] assert version in logged_output
def test_debug_command_line(): @click.command() def log(): pass from cloudify_agent.shell.main import main main.add_command(log, 'log') run_agent_command('cfy-agent --debug log') # assert all loggers are now at debug level from cloudify_agent.api.utils import logger assert logger.level == logging.DEBUG
def test_api_exceptions_conversion(): @click.command() @handle_failures def _raise_api_exception(): raise exceptions.DaemonException() from cloudify_agent.shell.main import main main.add_command(_raise_api_exception, 'raise-error') try: run_agent_command('cfy-agent raise-error', raise_system_exit=True) pytest.fail('Expected failure of command execution') except SystemExit as e: assert e.code == 101
def test_create_with_custom_options(mock_daemon_factory_new, mock_daemon_factory_save, mock_daemon_factory_load, mock_daemon_factory_delete, mock_daemon_factory_load_all, mock_get_storage_dir): run_agent_command('cfy-agent daemons create --name=name --queue=queue ' '--rest-host=127.0.0.1 --broker-ip=127.0.0.1 ' '--process-management=init.d --rest-tenant=tenant ' '--user=user --key=value --complex-key=complex-value') mock_daemon_factory_new.assert_called_once_with( name='name', queue='queue', user='******', rest_host=['127.0.0.1'], process_management='init.d', broker_ip=['127.0.0.1'], workdir=None, max_workers=None, min_workers=None, host=None, deployment_id=None, log_level=None, pid_file=None, log_dir=None, rest_port='80', extra_env_path=None, logger=get_logger(), key='value', complex_key='complex-value', broker_user='******', broker_pass='******', broker_vhost='/', broker_ssl_cert=None, broker_ssl_enabled=False, heartbeat=30, broker_ssl_cert_path=os.environ[ env_constants.CLOUDIFY_BROKER_SSL_CERT_PATH], rest_username=None, rest_password=None, rest_token=None, rest_tenant='tenant', local_rest_cert_file=os.environ[ env_constants.CLOUDIFY_LOCAL_REST_CERT_PATH], bypass_maintenance_mode=None, network=None, log_max_bytes=None, log_max_history=None, executable_temp_path=None)
def test_inspect(mock_daemon_factory_new, mock_daemon_factory_save, mock_daemon_factory_load, mock_daemon_factory_delete, mock_daemon_factory_load_all, mock_daemon_api_internal_daemon_to_dict, mock_get_storage_dir): mock_daemon_api_internal_daemon_to_dict.return_value = {} name = utils.internal.generate_agent_name() run_agent_command('cfy-agent daemons inspect --name={0}'.format(name)) mock_daemon_factory_load.assert_called_once_with(name, logger=get_logger()) daemon = mock_daemon_factory_load.return_value mock_daemon_api_internal_daemon_to_dict.assert_called_once_with(daemon)
def test_start(mock_daemon_factory_new, mock_daemon_factory_save, mock_daemon_factory_load, mock_daemon_factory_delete, mock_daemon_factory_load_all, mock_get_storage_dir): run_agent_command('cfy-agent daemons start --name=name ' '--interval 5 --timeout 20 --no-delete-amqp-queue') mock_daemon_factory_load.assert_called_once_with('name', logger=get_logger()) daemon = mock_daemon_factory_load.return_value daemon.start.assert_called_once_with( interval=5, timeout=20, delete_amqp_queue=True, )
def test_list(mock_get_storage_dir): run_agent_command('cfy-agent daemons create ' '--process-management=init.d ' '--queue=queue --name=test-name --rest-host=127.0.0.1 ' '--broker-ip=127.0.0.1 --user=user ') run_agent_command('cfy-agent daemons create ' '--process-management=init.d ' '--queue=queue --name=test-name2 --rest-host=127.0.0.1 ' '--broker-ip=127.0.0.1 --user=user ') run_agent_command('cfy-agent daemons list')
def test_inspect_non_existing_agent(mock_get_storage_dir): try: run_agent_command('cfy-agent daemons inspect --name=non-existing', raise_system_exit=True) except SystemExit as e: assert e.code == 203
def test_configure(): run_agent_command( 'cfy-agent configure --disable-requiretty --relocated-env')