def test_registration_check_legacy_registered_then_unregistered(_, __): ''' Ensure that connection function is called and data processed. ''' config = Mock(base_url=None, legacy_upload=True) conn = InsightsConnection(config) conn.api_registration_check = Mock(return_value='datestring') assert isinstance(registration_check(conn), dict) check = registration_check(conn) assert isinstance(check, dict) assert check['status'] is False
def test_registration_check_registered(write_unregistered_file, write_registered_file, _, __): ''' Ensure that connection function is called and files are written. ''' config = Mock(base_url=None, legacy_upload=False) conn = InsightsConnection(config) conn.api_registration_check = Mock(return_value=True) assert registration_check(conn) is True conn.api_registration_check.assert_called_once() write_registered_file.assert_called_once() write_unregistered_file.assert_not_called()
def post_update(client, config): logger.debug("CONFIG: %s", config) if config['status']: reg_check = registration_check(client.get_connection()) for msg in reg_check['messages']: logger.info(msg) sys.exit(constants.sig_kill_ok) # put this first to avoid conflicts with register if config['unregister']: pconn = client.get_connection() if pconn.unregister(): sys.exit(constants.sig_kill_ok) else: sys.exit(constants.sig_kill_bad) # force-reregister -- remove machine-id files and registration files # before trying to register again new = False if config['reregister']: new = True config['register'] = True delete_registered_file() delete_unregistered_file() write_to_disk(constants.machine_id_file, delete=True) logger.debug('Machine-id: %s', generate_machine_id(new)) if config['register']: registration = client.try_register() if registration is None: logger.info('Running connection test...') client.test_connection() sys.exit(constants.sig_kill_bad) if (not config['disable_schedule'] and get_scheduler(config).set_daily()): logger.info('Automatic scheduling for Insights has been enabled.') # check registration before doing any uploads # only do this if we are not running in container mode # Ignore if in offline mode if not config["analyze_container"]: if not config['register'] and not config['offline']: msg, is_registered = client._is_client_registered() if not is_registered: logger.error(msg) sys.exit(constants.sig_kill_bad)
def post_update(client, config): logger.debug("CONFIG: %s", config) if config.status: reg_check = registration_check(client.get_connection()) for msg in reg_check['messages']: logger.info(msg) sys.exit(constants.sig_kill_ok) # put this first to avoid conflicts with register if config.unregister: if client.unregister(): sys.exit(constants.sig_kill_ok) else: sys.exit(constants.sig_kill_bad) if config.offline: logger.debug('Running client in offline mode. Bypassing registration.') return if config.analyze_container: logger.debug( 'Running client in container mode. Bypassing registration.') return reg = client.register() if reg is None: # API unreachable logger.info('Running connection test...') client.test_connection() sys.exit(constants.sig_kill_bad) elif reg is False: # unregistered sys.exit(constants.sig_kill_bad) if config.register: if (not config.disable_schedule and get_scheduler(config).set_daily()): logger.info('Automatic scheduling for Insights has been enabled.')