def insights_client(): config = InsightsConfig(http_timeout=123) client = InsightsClient(config) client.session = Mock( **{"get.return_value.headers.items.return_value": []}) client.connection = Mock(base_url="http://www.example.com/") return client
def test_reg_check_unregistered_unreachable(): # unregister the machine first config = InsightsConfig(unregister=True) client = InsightsClient(config) client.connection = FakeConnection(registered=True) client.session = True assert client.unregister() is True # reset config and try to check registration config.unregister = False client.connection = FakeConnection(registered=False) assert client.get_registation_status()['unreachable'] is True assert client.register() is None for r in constants.registered_files: assert os.path.isfile(r) is False for u in constants.unregistered_files: assert os.path.isfile(u) is True
def test_checkin_offline(): config = InsightsConfig(offline=True) client = InsightsClient(config) client.connection = Mock() result = client.checkin() assert result is None client.connection.checkin.assert_not_called()
def test_checkin_result(expected_result): config = InsightsConfig() client = InsightsClient(config) client.connection = Mock(**{"checkin.return_value": expected_result}) client.session = True actual_result = client.checkin() client.connection.checkin.assert_called_once_with() assert actual_result is expected_result
def test_unregister(): config = InsightsConfig(unregister=True) client = InsightsClient(config) client.connection = FakeConnection(registered=True) client.session = True assert client.unregister() is True for r in constants.registered_files: assert os.path.isfile(r) is False for u in constants.unregistered_files: assert os.path.isfile(u) is True
def test_checkin_error(): config = InsightsConfig() client = InsightsClient(config) client.connection = Mock(**{"checkin.side_effect": Exception}) client.session = True with raises(Exception): client.checkin() client.connection.checkin.assert_called_once_with()
def test_reg_check_unregistered(): # unregister the machine first config = InsightsConfig() client = InsightsClient(config) client.connection = FakeConnection(registered='unregistered') client.session = True # test function and integration in .register() assert client.get_registation_status()['status'] is False assert client.register() is False for r in constants.registered_files: assert os.path.isfile(r) is False for u in constants.unregistered_files: assert os.path.isfile(u) is True
def test_force_reregister(): config = InsightsConfig(reregister=True) client = InsightsClient(config) client.connection = FakeConnection(registered=None) client.session = True # initialize comparisons old_machine_id = None new_machine_id = None # register first assert client.register() is True for r in constants.registered_files: assert os.path.isfile(r) is True # get modified time of .registered to ensure it's regenerated old_reg_file1_ts = os.path.getmtime(constants.registered_files[0]) old_reg_file2_ts = os.path.getmtime(constants.registered_files[1]) old_machine_id = generate_machine_id() # wait to allow for timestamp difference time.sleep(3) # reregister with new machine-id client.connection = FakeConnection(registered=True) config.reregister = True assert client.register() is True new_machine_id = generate_machine_id() new_reg_file1_ts = os.path.getmtime(constants.registered_files[0]) new_reg_file2_ts = os.path.getmtime(constants.registered_files[1]) assert old_machine_id != new_machine_id assert old_reg_file1_ts != new_reg_file1_ts assert old_reg_file2_ts != new_reg_file2_ts