"""Test Blacklist Reasons Logic.""" from unittest.mock import MagicMock from unittest.mock import Mock from owsrequest import request as requests from owsresponse import response from blacklist_manager.logic import blacklist_reasons from blacklist_manager.models import blacklist_reasons \ as blacklist_reasons_model def test_get_blacklist_reasons_success( monkeypatch, valid_blacklist_reasons_response): """Test successful retrieval of blacklist reasons.""" monkeypatch.setattr( blacklist_reasons_model, 'get_blacklist_reasons', value=MagicMock( return_value=response.Response( message=valid_blacklist_reasons_response))) result = blacklist_reasons.get_blacklist_reasons() assert result.message[0]['reason'] == 'Valid Reason' def test_blacklist_reasons_failure( monkeypatch, valid_blacklist_reasons_response): """Test failure in retrieval of blacklist reasons.""" mock_response = Mock() mock_response.status_code = 500 monkeypatch.setattr(requests, 'get', MagicMock( return_value=mock_response)) result = blacklist_reasons.get_blacklist_reasons() assert result.status == 500 def test_create_blacklist_reason_success( monkeypatch, create_blacklist_reason_response, blacklist_reason_data): """Test successful creation of blacklist reason.""" monkeypatch.setattr( blacklist_reasons_model, 'create_blacklist_reason', value=MagicMock( return_value=response.Response( message=create_blacklist_reason_response, status=201))) result = blacklist_reasons.create_blacklist_reason(blacklist_reason_data) assert result.message == create_blacklist_reason_response assert result.status == 201 def test_create_blacklist_reason_failure( monkeypatch, blacklist_reason_data): """Test failure in creating of blacklist reason.""" monkeypatch.setattr( blacklist_reasons_model, 'create_blacklist_reason', value=MagicMock( return_value=response.create_fatal_response())) result = blacklist_reasons.create_blacklist_reason( blacklist_reason_data) assert result.status == 500 def test_create_blacklist_reason_erroneous_data_failure( monkeypatch, create_blacklist_error_reason_response, blacklist_error_reason_data): """Test failure in creating of blacklist word.""" monkeypatch.setattr( blacklist_reasons_model, 'create_blacklist_reason', value=MagicMock( return_value=response.Response( message=create_blacklist_error_reason_response))) result = blacklist_reasons.create_blacklist_reason( blacklist_error_reason_data) assert result.status == 500 def test_update_blacklist_reason_success( monkeypatch, blacklist_reason_response, blacklist_update_reason_data): """Test successful update of blacklist reason.""" blacklist_reason_id = 3 monkeypatch.setattr( blacklist_reasons_model, 'update_blacklist_reason', value=MagicMock( return_value=response.Response( message=blacklist_reason_response, status=200))) result = blacklist_reasons.update_blacklist_reason( blacklist_reason_id, blacklist_update_reason_data) assert result.message == blacklist_reason_response assert result.status == 200 def test_update_blacklist_reason_failure( monkeypatch, blacklist_error_reason_response, blacklist_error_reason_data): """Test failure in update of blacklist reason.""" blacklist_reason_id = 1 monkeypatch.setattr( blacklist_reasons_model, 'update_blacklist_reason', value=MagicMock( return_value=response.Response( message=blacklist_error_reason_response, status=500))) result = blacklist_reasons.update_blacklist_reason( blacklist_reason_id, blacklist_error_reason_data) assert result.status == 500 def test_update_blacklist_reason_by_id_not_found_error( monkeypatch, blacklist_update_reason_data): """Test failure in update of blacklist reason.""" blacklist_reason_id = 2 monkeypatch.setattr( blacklist_reasons_model, 'update_blacklist_reason', value=MagicMock(return_value=response.create_not_found_response( message='Blacklist Id not found.'))) result = blacklist_reasons.update_blacklist_reason( blacklist_reason_id, blacklist_update_reason_data) assert result.status == 404