def cleanup(): try: des = destroy.Destroy([], []) des.execute() except SystemExit: pass os.remove(c.strpath) shutil.rmtree(d.strpath)
def test_execute_does_not_raise_on_exit(patched_driver_destroy, patched_print_info, molecule_instance): patched_driver_destroy.side_effect = subprocess.CalledProcessError( 1, None, None) d = destroy.Destroy({}, {}, molecule_instance) result = d.execute(exit=False) assert (1, '') == result
def test_execute_skips_when_delegated_driver( _patched_destroy_setup, patched_logger_warn, _patched_ansible_destroy, config_instance): d = destroy.Destroy(config_instance) d.execute() msg = 'Skipping, instances are delegated.' patched_logger_warn.assert_called_once_with(msg) assert not _patched_ansible_destroy.called
def test_execute_skips_when_delegated_driver( patched_destroy_setup, molecule_driver_delegated_section_data, patched_logger_warn, patched_ansible_destroy, config_instance): config_instance.merge_dicts(config_instance.config, molecule_driver_delegated_section_data) d = destroy.Destroy(config_instance) d.execute() msg = 'Skipping, instances are delegated.' patched_logger_warn.assert_called_once_with(msg) assert not patched_ansible_destroy.called
def test_execute_skips_when_destroy_strategy_is_never( _patched_destroy_setup, patched_logger_warn, _patched_ansible_destroy, config_instance): config_instance.command_args = {'destroy': 'never'} d = destroy.Destroy(config_instance) d.execute() msg = "Skipping, '--destroy=never' requested." patched_logger_warn.assert_called_once_with(msg) assert not _patched_ansible_destroy.called
def test_execute_skips_when_destroy_strategy_is_never( patched_destroy_setup, molecule_driver_delegated_section_data, patched_logger_warn, patched_ansible_destroy, config_instance): config_instance.merge_dicts(config_instance.config, molecule_driver_delegated_section_data) config_instance.command_args = {'destroy': 'never'} d = destroy.Destroy(config_instance) d.execute() msg = "Skipping, '--destroy=never' requested." patched_logger_warn.assert_called_once_with(msg) assert not patched_ansible_destroy.called
def test_execute_raises_on_exit(patched_driver_destroy, patched_print_info, patched_print_error, patched_remove_templates, patched_remove_inventory, molecule_instance): patched_driver_destroy.side_effect = subprocess.CalledProcessError( 1, None, None) d = destroy.Destroy({}, {}, molecule_instance) with pytest.raises(SystemExit): d.execute() msg = "Command 'None' returned non-zero exit status 1" patched_print_error.assert_called_with(msg) assert not patched_remove_templates.called assert not patched_remove_inventory.called
def test_execute(mocker, patched_logger_info, patched_config_validate, _patched_ansible_destroy, config_instance): d = destroy.Destroy(config_instance) d.execute() x = [ mocker.call("Scenario: 'default'"), mocker.call("Action: 'destroy'"), ] assert x == patched_logger_info.mock_calls _patched_ansible_destroy.assert_called_once_with() assert not config_instance.state.converged assert not config_instance.state.created
def test_execute_deletes_instances( patched_driver_destroy, patched_print_info, patched_remove_templates, patched_remove_inventory, molecule_instance): d = destroy.Destroy({}, {}, molecule_instance) result = d.execute() msg = 'Destroying instances ...' patched_print_info.assert_called_once_with(msg) patched_driver_destroy.assert_called_once assert not molecule_instance.state.created assert not molecule_instance.state.converged (None, None) == result patched_remove_templates.assert_called_once patched_remove_inventory.assert_called_once
def test_execute(mocker, patched_destroy_prune, patched_logger_info, patched_ansible_destroy, config_instance): d = destroy.Destroy(config_instance) d.execute() x = [ mocker.call('Scenario: [default]'), mocker.call('Provisioner: [ansible]'), mocker.call('Playbook: [destroy.yml]') ] assert x == patched_logger_info.mock_calls patched_destroy_prune.assert_called_once_with() patched_ansible_destroy.assert_called_once_with() assert not config_instance.state.converged assert not config_instance.state.created