def test_system_properties(engine_result_message, engine_consumer, db_setup, performance_record): engine_result_message = engine_result_message("insights-engine-result-idle.json") host = engine_result_message["input"]["host"] ros_reports = [engine_result_message["results"]["reports"][7]] system_metadata = engine_result_message["results"]["system"]["metadata"] engine_consumer.process_report(host, ros_reports, system_metadata, performance_record) data = db_get_host(host['id']) assert str(data.inventory_id) == host['id']
def test_host_create_events(inventory_event_consumer, inventory_event_message, db_setup, mocker): mocker.patch.object( inventory_event_consumer, 'process_system_details', side_effect=inventory_event_consumer.process_system_details, autospec=True) inventory_event_message[ 'type'] = 'created' # Setup to meet test case conditions inventory_event_consumer.host_create_update_events(inventory_event_message) inventory_event_consumer.process_system_details.assert_called_once() inventory_event_consumer.process_system_details( msg=inventory_event_message) with app.app_context(): assert db_get_host(inventory_event_message['host']['id']).display_name == \ inventory_event_message['host']['display_name'] assert type(db_get_host( inventory_event_message['host']['id'])).__name__ == 'System'
def test_host_delete_event(inventory_event_consumer, db_setup): msg = { "type": "delete", "insights_id": "677fb960-e164-48a4-929f-59e2d917b444", "id": "ee0b9978-fe1b-4191-8408-cbadbd47f7a2", "account": '0000001' } inventory_event_consumer.host_delete_event(msg) host = db_get_host(msg['id']) assert host is None
def test_process_report_under_pressure(engine_result_message, engine_consumer, db_setup, performance_record): engine_result_message = engine_result_message("insights-engine-result-under-pressure.json") host = engine_result_message["input"]["host"] ros_reports = [engine_result_message["results"]["reports"][7]] system_metadata = engine_result_message["results"]["system"]["metadata"] _performance_record = copy.copy(performance_record) engine_consumer.process_report(host, ros_reports, system_metadata, performance_record) system_record = db_get_host(host['id']) assert str(system_record.inventory_id) == host['id'] with app.app_context(): assert system_record.instance_type == _performance_record['instance_type'] assert system_record.region == _performance_record['region'] assert system_record.state == SYSTEM_STATES['INSTANCE_OPTIMIZED_UNDER_PRESSURE'] assert db.session.query(PerformanceProfile).filter_by(system_id=system_record.id).\ first().performance_record == performance_record
def test_process_report_no_pcp(engine_result_message, engine_consumer, db_setup, performance_record): engine_result_message = engine_result_message("insights-engine-result-no-pcp.json") host = engine_result_message["input"]["host"] ros_reports = [engine_result_message["results"]["reports"][7]] system_metadata = engine_result_message["results"]["system"]["metadata"] _performance_record = copy.copy(performance_record) engine_consumer.process_report(host, ros_reports, system_metadata, performance_record) data = db_get_host(host['id']) assert str(data.inventory_id) == host['id'] with app.app_context(): assert data.instance_type == _performance_record['instance_type'] assert data.region == _performance_record['region'] assert data.state == SYSTEM_STATES['NO_PCP_DATA'] assert db.session.query(PerformanceProfile).filter_by(system_id=data.id).first().performance_record ==\ performance_record
def test_process_report_optimized(engine_result_message, engine_consumer, db_setup, performance_record): engine_result_message = engine_result_message("insights-engine-result-optimized.json") host = engine_result_message["input"]["host"] ros_reports = [] system_metadata = engine_result_message["results"]["system"]["metadata"] _performance_record = copy.copy(performance_record) engine_consumer.process_report(host, ros_reports, system_metadata, performance_record) system_record = db_get_host(host['id']) assert str(system_record.inventory_id) == host['id'] with app.app_context(): assert system_record.rule_hit_details == ros_reports assert system_record.instance_type == _performance_record['instance_type'] assert system_record.region == _performance_record['region'] assert system_record.state == SYSTEM_STATES['OPTIMIZED'] assert db.session.query(PerformanceProfile).filter_by(system_id=system_record.id).\ first().performance_record == performance_record
def test_process_report_no_pcp(engine_result_message, engine_consumer, db_setup, performance_record): engine_result_message = engine_result_message("insights-engine-result-no-pcp.json") host = engine_result_message["input"]["host"] ros_reports = [engine_result_message["results"]["reports"][7]] system_metadata = engine_result_message["results"]["system"]["metadata"] _performance_record = copy.copy(performance_record) engine_consumer.process_report(host, ros_reports, system_metadata, performance_record) system_record = db_get_host(host['id']) performance_utilization = db.session.query(PerformanceProfile).\ filter_by(system_id=system_record.id).first().performance_utilization sample_performance_util_no_pcp = {'cpu': -1, 'memory': -1, 'max_io': -1.0, 'io': {}} assert str(system_record.inventory_id) == host['id'] with app.app_context(): assert system_record.instance_type == _performance_record['instance_type'] assert system_record.region == _performance_record['region'] assert system_record.state == SYSTEM_STATES['NO_PCP_DATA'] assert performance_utilization == sample_performance_util_no_pcp
def test_system_no_os(auth_token, db_setup, db_create_account, db_create_system, db_create_performance_profile): # Setting db_record.operating_system to None/null system_record = db_get_host('ee0b9978-fe1b-4191-8408-cbadbd47f7a3') system_record.operating_system = None db.session.commit() with app.test_client() as client: response_individual_system = client.get( '/api/ros/v1/systems/ee0b9978-fe1b-4191-8408-cbadbd47f7a3', headers={"x-rh-identity": auth_token}) assert response_individual_system.status_code == 200 assert response_individual_system.json["os"] is None response_all_systems = client.get( '/api/ros/v1/systems', headers={"x-rh-identity": auth_token}) assert response_all_systems.status_code == 200 assert response_all_systems.json["data"][0]["os"] is None
def test_host_update_events(inventory_event_consumer, inventory_event_message, db_setup, mocker): mocker.patch.object( inventory_event_consumer, 'process_system_details', side_effect=inventory_event_consumer.process_system_details, autospec=True) # Setup to meet test case conditions inventory_event_message['type'] = 'created' inventory_event_consumer.host_create_update_events( inventory_event_message) # creating system for test inventory_event_message['type'] = 'updated' inventory_event_message['platform_metadata'] = None updated_display_name = 'Test - Display Name Update' # Test case change inventory_event_message['host']['display_name'] = updated_display_name inventory_event_consumer.host_create_update_events(inventory_event_message) inventory_event_consumer.process_system_details.call_count = 2 inventory_event_consumer.process_system_details( msg=inventory_event_message) with app.app_context(): updated_system = db_get_host(inventory_event_message['host']['id']) assert updated_system.display_name == updated_display_name
def test_process_system_details(inventory_event_consumer, inventory_event_message, db_setup): inventory_event_consumer.process_system_details(inventory_event_message) with app.app_context(): host = db_get_host(inventory_event_message['host']['id']) assert str(host.inventory_id) == inventory_event_message['host']['id']
def test_process_report(engine_result_message, engine_consumer, db_setup): host = engine_result_message["input"]["host"] ros_reports = [engine_result_message["results"]["reports"][4]] engine_consumer.process_report(host, ros_reports) data = db_get_host(host['id']) assert str(data.inventory_id) == host['id']