def test_should_return_right(self): result = Right('some value') assert result.is_right assert not result.is_left assert result.value == 'some value' assert isinstance(result, Either)
def _handle_result(konduto_response: Response) -> Either: if konduto_response.ok: return Right(konduto_response.json()) else: return Left( konduto_response.json()) if konduto_response.content else Left( konduto_response.reason)
def load(self, email) -> Union[Right, Left]: result = self.get(f'{ENDPOINT}/{email}') if result.is_right: return Right( KondutoRestrictEmailResponseMapper.to_model(result.value)) return result
def create(self, payload: KondutoRestrictEmailRequest) -> Union[Right, Left]: result = self.post(ENDPOINT, payload.json) if result.is_right: return Right( KondutoRestrictEmailResponseMapper.to_model(result.value)) return result
def remove(self, email: str) -> Union[Right, Left]: result = self.delete(f'{ENDPOINT}/{email}') if result.is_right: konduto_response = result.value konduto_response['email_address'] = email return Right( KondutoRestrictEmailResponseMapper.to_model(konduto_response)) return result
def load(self, order_id: str) -> Union[Right, Left]: result = self.get(f'{ENDPOINT}/{order_id}') if result.is_right: hooks = {date: date_str_to_date, Decimal: float_to_decimal, datetime: datetime_str_to_datetime, int: to_int} response = from_dict(data_class=KondutoOrderResponse, data=result.value['order'], config=Config(cast=[Enum, int], type_hooks=hooks)) return Right(response) return result
def update(self, email: str, payload: KondutoRestrictEmailRequest) -> Union[Right, Left]: result = self.put(f'{ENDPOINT}/{email}', payload.json_to_update) if result.is_right: konduto_response = result.value konduto_response['email_address'] = email return Right( KondutoRestrictEmailResponseMapper.to_model(konduto_response)) return result
def create(self, payload: KondutoOrderRequest) -> Union[Right, Left]: result = self.post(ENDPOINT, payload.json) if result.is_right: response_order = result.value['order'] recommendation = KondutoRecommendation.from_string(response_order['recommendation']) order_response = KondutoOrderResponse(id=response_order['id'], score=response_order['score'], recommendation=recommendation, status=KondutoOrderStatus.from_string(response_order['status'])) return Right(order_response) return result