def test_set_metrics_data_patient_error(mocker, prescription):
    mocker.patch.object(Metric,
                        '_set_patient',
                        return_value={
                            'error': True,
                            'status_code': 400,
                            'detail': 'Not Found'
                        })
    metric = Metric(prescription)
    metrics_data = metric._set_metrics_data()
    assert metrics_data.get('error') is True
def test_process(mocker, prescription):
    mocker.patch.object(Metric,
                        '_set_metrics_data',
                        return_value={
                            'error': True,
                            'status_code': 400,
                            'detail': 'Not Found'
                        })
    metric = Metric(prescription)
    process = metric.process()
    assert process.get('error') is True
def test_send_metrics_error_bad_request(mocker, prescription,
                                        bad_request_response):
    mocker.patch.object(Session, 'post', return_value=bad_request_response)
    metric = Metric(prescription)
    metrics_sent = metric._send_metrics()
    assert metrics_sent.get('error') is True
def test_send_metrics_error_timeout(mocker, prescription):
    mocker.patch.object(Session, 'post', side_effect=Timeout)
    metric = Metric(prescription)
    metrics_sent = metric._send_metrics()
    assert metrics_sent.get('error') is True
def test_send_metrics(mocker, prescription, metrics_response):
    mocker.patch.object(Session, 'post', return_value=metrics_response)
    metric = Metric(prescription)
    assert metric._send_metrics() is True
def test_set_physician_error_timeout(mocker, prescription):
    mocker.patch.object(Session, 'get', side_effect=Timeout)
    metric = Metric(prescription)
    physician = metric._set_physician()
    assert physician.get('error') is True
def test_set_patient_error_not_found(mocker, prescription, not_found_response):
    mocker.patch.object(Session, 'get', return_value=not_found_response)
    metric = Metric(prescription)
    patient = metric._set_patient()
    assert patient.get('error') is True
def test_set_clinic_error_not_found(mocker, prescription, not_found_response):
    mocker.patch.object(Session, 'get', return_value=not_found_response)
    metric = Metric(prescription)
    assert metric._set_clinic() is False
def test_set_patient_error_timeout(mocker, prescription):
    mocker.patch.object(Session, 'get', side_effect=Timeout)
    metric = Metric(prescription)
    patient = metric._set_patient()
    assert patient.get('error') is True
def test_set_clinic_error_timeout(mocker, prescription):
    mocker.patch.object(Session, 'get', side_effect=Timeout)
    metric = Metric(prescription)
    assert metric._set_clinic() is False