mock_gateway.py (2689B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\freelanceprojects\client\contributionmethods\mock\mock_gateway.py 2 from eveProto.generated.eve_public.freelance.contributionmethod.definition.api.requests_pb2 import GetAllLatestRequest, GetAllLatestWithinMajorRequest 3 from freelanceprojects.client.contributionmethods.mock.data import definitions as mock_definitions 4 from six.moves.http_client import OK, NOT_MODIFIED, NOT_FOUND, INTERNAL_SERVER_ERROR 5 from logging import getLogger 6 from mock import Mock 7 logger = getLogger('freelance_projects') 8 9 class MockContributionMethodsGateway(object): 10 11 def send_blocking_character_request_and_receive_response(self, request_payload, expected_response_class, timeout_seconds, max_attempts, retry_delay_in_seconds): 12 if isinstance(request_payload, GetAllLatestRequest): 13 latest_definitions = mock_definitions.MOCK_DEFINITIONS_1_0_1 14 status_code = OK 15 response_primitive, response_payload = self._create_response(expected_response_class, latest_definitions, status_code) 16 self._notify_of_mock_use() 17 return (response_primitive, response_payload) 18 if isinstance(request_payload, GetAllLatestWithinMajorRequest): 19 latest_definitions_by_major = {0: mock_definitions.MOCK_DEFINITIONS_0_0_1, 20 1: mock_definitions.MOCK_DEFINITIONS_1_0_1} 21 status_code = OK 22 latest_definitions = latest_definitions_by_major[request_payload.major] 23 response_primitive, response_payload = self._create_response(expected_response_class, latest_definitions, status_code) 24 self._notify_of_mock_use() 25 return (response_primitive, response_payload) 26 raise NotImplementedError('Attempted to use MockContributionMethodsGateway for request that has not been mocked: %s' % request_payload) 27 28 def _notify_of_mock_use(self): 29 from player_messaging.client.ui_message import message_player 30 message_player('Using mocked data for Contribution Methods') 31 logger.info('Using mocked data for Contribution Methods') 32 33 def _create_response(self, response_class, definitions, status_code): 34 response_primitive = Mock() 35 response_primitive.status_code = status_code 36 if status_code == OK: 37 version_proto, definition_protos = definitions.to_proto(proto_definition_class=response_class.Definition) 38 response_payload = response_class(version=version_proto) 39 response_payload.definitions.extend(definition_protos) 40 else: 41 response_payload = response_class() 42 return (response_primitive, response_payload)