def send_create_basket_message(self): """ Send a create basket message. return: basket code (uuid) """ message = MessageManager.create_basket_message(basket_code=None) message_response = Message.deserialize( self._send_message(message.serialize())) return message_response.content['basket_code']
def message_handler(self, message): """ Message handler. Translate every received message in a valid manager action and returns a valid message with the response of the action. message: MessageItem object return: MessageItem object """ if message.code == Message.CREATE_BASKET_MESSAGE: basket_code = self.manager.create() return MessageManager.create_basket_message(basket_code) if message.code == Message.REMOVE_BASKET_MESSAGE: basket_code = message.content['basket_code'] self.manager.remove(basket_code) return MessageManager.create_ack_message() if message.code == Message.ADD_PRODUCT_MESSAGE: basket_code = message.content['basket_code'] product_code = message.content['product_code'] self.manager.add_product(basket_code, product_code) return MessageManager.create_ack_message() if message.code == Message.REMOVE_PRODUCT_MESSAGE: basket_code = message.content['basket_code'] product_code = message.content['product_code'] self.manager.remove_product(basket_code, product_code) return MessageManager.create_ack_message() if message.code == Message.GET_PRODUCTS_MESSAGE: basket_code = message.content['basket_code'] products = self.manager.get_products(basket_code) return MessageManager.get_products_message(products=products) if message.code == Message.GET_CHECKOUT_MESSAGE: basket_code = message.content['basket_code'] total = self.manager.checkout(basket_code) return MessageManager.get_checkout_message(total=total) return MessageManager.create_invalid_message()
def create_basket(): basket_code = manager.create() return MessageManager.create_basket_message(basket_code)