def test_query_product_price(self): self.mox.StubOutWithMock(db, 'region_get_by_name') self.mox.StubOutWithMock(db, 'item_get_by_name') self.mox.StubOutWithMock(db, 'item_type_get_by_name') self.mox.StubOutWithMock(db, 'payment_type_get_by_name') self.mox.StubOutWithMock(db, 'product_get_all') db.region_get_by_name(self.context, self.region_name).\ AndReturn(self.region) db.item_get_by_name(self.context, self.item_name).AndReturn(self.item) db.item_type_get_by_name(self.context, self.item_type_name).\ AndReturn(self.item_type) db.payment_type_get_by_name(self.context, self.payment_type_name).\ AndReturn(self.payment_type) db.product_get_all(self.context, filters={'region_id': self.region_id, 'item_id': self.item_id, 'item_type_id': self.item_type_id, 'payment_type_id': self.payment_type_id}).\ AndReturn(self.products) self.mox.ReplayAll() result = api.query_product_price(self.context, self.region_name, self.item_name, self.item_type_name, self.payment_type_name) self.mox.VerifyAll() self.assertEqual(result, {'data': {'price': self.product_price}})
def test_query_product_price(self): self.mox.StubOutWithMock(db, 'region_get_by_name') self.mox.StubOutWithMock(db, 'item_get_by_name') self.mox.StubOutWithMock(db, 'item_type_get_by_name') self.mox.StubOutWithMock(db, 'payment_type_get_by_name') self.mox.StubOutWithMock(db, 'product_get_all') db.region_get_by_name(self.context, self.region_name).\ AndReturn(self.region) db.item_get_by_name(self.context, self.item_name).AndReturn(self.item) db.item_type_get_by_name(self.context, self.item_type_name).\ AndReturn(self.item_type) db.payment_type_get_by_name(self.context, self.payment_type_name).\ AndReturn(self.payment_type) db.product_get_all(self.context, filters={'region_id': self.region_id, 'item_id': self.item_id, 'item_type_id': self.item_type_id, 'payment_type_id': self.payment_type_id}).\ AndReturn(self.products) self.mox.ReplayAll() result = api.query_product_price(self.context, self.region_name, self.item_name, self.item_type_name, self.payment_type_name) self.mox.VerifyAll() self.assertEqual(result, {'data': {'price': self.product_price}})
def query_payment_types(context, region=None, item=None, **kwargs): filters = dict() filters['region_id'] = db.region_get_by_name(context, region)['id'] filters['item_id'] = db.item_get_by_name(context, item)['id'] products = db.product_get_all(context, filters=filters) payment_type_info = { 'payment_type_names': map(lambda x: x['payment_type']['name'], products), } return {'data': payment_type_info}
def test_subscribe_item(self): self.mox.StubOutWithMock(db, 'region_get_by_name') self.mox.StubOutWithMock(db, 'item_get_by_name') self.mox.StubOutWithMock(db, 'item_type_get_by_name') self.mox.StubOutWithMock(db, 'payment_type_get_by_name') self.mox.StubOutWithMock(db, 'product_get_all') self.mox.StubOutWithMock(db, 'subscription_create') self.mox.StubOutWithMock(db, 'subscription_extend') db.region_get_by_name(self.context, self.region_name).\ AndReturn(self.region) db.item_get_by_name(self.context, self.item_name).AndReturn(self.item) db.item_type_get_by_name(self.context, self.item_type_name).\ AndReturn(self.item_type) db.payment_type_get_by_name(self.context, self.payment_type_name).\ AndReturn(self.payment_type) db.product_get_all(self.context, filters={'region_id': self.region_id, 'item_id': self.item_id, 'item_type_id': self.item_type_id, 'payment_type_id': self.payment_type_id}).\ AndReturn(self.products) db.subscription_create(self.context, {'project_id': self.context.project_id, 'product_id': self.product_id, 'resource_uuid': self.resource_uuid, 'resource_name': self.resource_name}).\ AndReturn(self.subscription) db.subscription_extend(self.context, self.subscription_id, self.created_at).AndReturn(None) self.mox.ReplayAll() result = api.subscribe_item(self.context, self.region_name, self.item_name, self.item_type_name, self.payment_type_name, self.resource_uuid, self.resource_name) self.mox.VerifyAll() self.assertEqual(result, {})
def test_subscribe_item(self): self.mox.StubOutWithMock(db, 'region_get_by_name') self.mox.StubOutWithMock(db, 'item_get_by_name') self.mox.StubOutWithMock(db, 'item_type_get_by_name') self.mox.StubOutWithMock(db, 'payment_type_get_by_name') self.mox.StubOutWithMock(db, 'product_get_all') self.mox.StubOutWithMock(db, 'subscription_create') self.mox.StubOutWithMock(db, 'subscription_extend') db.region_get_by_name(self.context, self.region_name).\ AndReturn(self.region) db.item_get_by_name(self.context, self.item_name).AndReturn(self.item) db.item_type_get_by_name(self.context, self.item_type_name).\ AndReturn(self.item_type) db.payment_type_get_by_name(self.context, self.payment_type_name).\ AndReturn(self.payment_type) db.product_get_all(self.context, filters={'region_id': self.region_id, 'item_id': self.item_id, 'item_type_id': self.item_type_id, 'payment_type_id': self.payment_type_id}).\ AndReturn(self.products) db.subscription_create(self.context, {'project_id': self.context.project_id, 'product_id': self.product_id, 'resource_uuid': self.resource_uuid, 'resource_name': self.resource_name}).\ AndReturn(self.subscription) db.subscription_extend(self.context, self.subscription_id, self.created_at).AndReturn(None) self.mox.ReplayAll() result = api.subscribe_item(self.context, self.region_name, self.item_name, self.item_type_name, self.payment_type_name, self.resource_uuid, self.resource_name) self.mox.VerifyAll() self.assertEqual(result, {})
def query_item_products(context, region=None, item=None, **kwargs): product_info = dict() #geyg_20130121_Add the display of products in horizon in lenovo product_info_list = list() # filters = dict() # filters['region_id'] = db.region_get_by_name(context, region)['id'] # filters['item_id'] = db.item_get_by_name(context, item)['id'] # products = db.product_get_all(context, filters=filters) products = db.product_get_all(context) for product in products: item_name = product['item']['name'] item_type_name = product['item_type']['name'] # payment_type_name = product['payment_type']['name'] order_unit = product['order_unit'] order_size = product['order_size'] price = product['price'] currency = product['currency'] #geyg_20130121_Add the display of products in horizon in lenovo # item_type_info = product_info.setdefault(item_type_name, dict()) # item_type_info[payment_type_name] = { # 'order_unit': order_unit, # 'order_size': order_size, # 'price': price, # 'currency': currency, # } product_info = dict() product_info.setdefault('item_name',0) product_info['item_name'] = item_name product_info.setdefault('item_type_name',0) product_info['item_type_name'] = item_type_name product_info.setdefault('order_size',0) product_info['order_size'] = order_size product_info.setdefault('order_unit',0) product_info['order_unit'] = order_unit product_info.setdefault('price',0) product_info['price'] = price product_info.setdefault('currency',0) product_info['currency'] = currency product_info_list.append(product_info) # return {'data': product_info} return {'data': product_info_list}
def _product_get_all(context, region=None, item=None, item_type=None, payment_type=None): """ """ products = None try: # filter to get product_id filters = dict() filters['region_id'] = db.region_get_by_name(context, region)['id'] filters['item_id'] = db.item_get_by_name(context, item)['id'] filters['item_type_id'] = db.item_type_get_by_name(context, item_type)['id'] filters['payment_type_id'] = db.payment_type_get_by_name(context, payment_type)['id'] products = db.product_get_all(context, filters=filters) except Exception, e: # TODO(lzyeval): report raise
def _product_get_all(context, region=None, item=None, item_type=None, payment_type=None): """ """ products = None try: # filter to get product_id filters = dict() filters['region_id'] = db.region_get_by_name(context, region)['id'] filters['item_id'] = db.item_get_by_name(context, item)['id'] filters['item_type_id'] = db.item_type_get_by_name(context, item_type)['id'] filters['payment_type_id'] = db.payment_type_get_by_name(context, payment_type)['id'] products = db.product_get_all(context, filters=filters) except Exception, e: # TODO(lzyeval): report print e raise
def query_item_products(context, region=None, item=None, **kwargs): product_info = dict() filters = dict() filters['region_id'] = db.region_get_by_name(context, region)['id'] filters['item_id'] = db.item_get_by_name(context, item)['id'] products = db.product_get_all(context, filters=filters) for product in products: item_type_name = product['item_type']['name'] payment_type_name = product['payment_type']['name'] order_unit = product['order_unit'] order_size = product['order_size'] price = product['price'] currency = product['currency'] item_type_info = product_info.setdefault(item_type_name, dict()) item_type_info[payment_type_name] = { 'order_unit': order_unit, 'order_size': order_size, 'price': price, 'currency': currency, } return {'data': product_info}
def query_item_products(context, region=None, item=None, **kwargs): product_info = dict() filters = dict() filters['region_id'] = db.region_get_by_name(context, region)['id'] filters['item_id'] = db.item_get_by_name(context, item)['id'] products = db.product_get_all(context, filters=filters) for product in products: item_type_name = product['item_type']['name'] payment_type_name = product['payment_type']['name'] order_unit = product['order_unit'] order_size = product['order_size'] price = product['price'] currency = product['currency'] item_type_info = product_info.setdefault(item_type_name, dict()) item_type_info[payment_type_name] = { 'order_unit': order_unit, 'order_size': order_size, 'price': price, 'currency': currency, } return {'data': product_info}