Beispiel #1
0
class TestHarness(unittest.TestCase):
    
    def setUp(self):
        self.client = BuyatAPIClient('01-fd288e15a739c35276a15d73a227dcc7');
        
        
    def testProductSearch(self):
        result = self.client.search_products('XKJERVdsfkdjsfkDJHFKSJDFSDFDFkjhkwjean3endwf')
        assert result.total_results == 0, result.total_results
        assert len(result.products) == 0, len(result.products)
        
        result = self.client.search_products('ipod')
        assert result.total_results > 10, result.total_results
        assert result.current_results == 10, result.current_results
        assert result.current_results == len(result.products), (result.total_results, len(result.products))
        
        assert len(result.products[0].description.lower()) > 0, len(result.products[0].description.lower())
        
        
    def testCategories(self):
        categories = self.client.get_level1_categories()
        assert len(categories) == 38, len(categories)
        
        assert categories[0].category_id == 20, categories[0].category_id
        assert categories[0].category_name == 'Baby', categories[0].category_name
        assert len(categories[0].subcategories) == 9, len(categories[0].subcategories)
            
        subcategories = self.client.get_level2_categories(categories[0].category_id)
        assert len(subcategories) == 9, len(subcategories)
        assert subcategories[0].subcategories == None, subcategories[0].subcategories
            
        both_subcats = zip(subcategories, categories[0].subcategories)
        for cat1, cat2 in both_subcats:
            assert cat1.category_id == cat2.category_id
            assert cat1.category_name == cat2.category_name
            assert cat1.level == cat2.level
            
        category_tree = self.client.get_category_tree()
        assert len(category_tree) == 38, len(category_tree)
        
        both_cats = zip(categories, category_tree)
        for cat1, cat2 in both_cats:
            assert cat1.category_id == cat2.category_id
            assert cat1.category_name == cat2.category_name
        
        
    def testProgrammes(self):
        programmes = self.client.get_programmes()
        assert len(programmes) == 273, len(programmes)
        
        assert programmes[0].programme_id == 115, programmes[0].programme_id
        assert programmes[0].programme_name == "Marks and Spencer", programmes[0].programme_name
        
        programme = self.client.get_programme(115)
        assert programme.programme_id == 115, programme.programme_id
        assert programme.programme_name == "Marks and Spencer", programme.programme_name
        assert programme.programme_url == programmes[0].programme_url, (programme.programme_url, programmes[0].programme_url)
        assert programme.has_feed == programmes[0].has_feed, (programme.has_feed, programmes[0].has_feed)
        
        
    def testFeeds(self):
        feeds = self.client.get_feeds()
        assert len(feeds) > 100, len(feeds)
        
        assert feeds[0].feed_id == 367, feeds[0].feed_id
        assert feeds[0].feed_name == "1800Pet Meds", feeds[0].feed_name
        
        feed = self.client.get_feed(367)
        assert feed.feed_id == 367, feed.feed_id
        assert feed.feed_name == "1800Pet Meds", feed.feed_name
        assert feed.programme_name == feeds[0].programme_name, (feed.programme_name, feeds[0].programme_name)
        assert feed.programme_url == feeds[0].programme_url, (feed.programme_url, feeds[0].programme_url)
        assert feed.number_of_products == feeds[0].number_of_products, (feed.number_of_products, feeds[0].number_of_products)
        assert feed.last_updated == feeds[0].last_updated, (feed.last_updated, feeds[0].last_updated)
        
    def testFeedURL(self):
        url = self.client.get_feed_url(367, "CSV", perpage=10, lid="mylid")
        assert url == "http://localhost/feeddownload/index.php/[email protected]&PX=e99a18c428cb38d5f260853678922e03&DISPLAYFORMAT=CSV&PRODUCTDB_ID=367&START=0&PERPAGE=10&LID=mylid", url
        
        prog_categories = [None, None, "Baby"]
        url2 = self.client.get_feed_url(367, "XMLGZIP", perpage=10, level1_category_id=20, levels=prog_categories, reverse_map_xml=True, use_https=True);
        assert url2 == "https://localhost/feeddownload/index.php/[email protected]&PX=e99a18c428cb38d5f260853678922e03&DISPLAYFORMAT=XMLGZIP&PRODUCTDB_ID=367&REVERSEMAPXML=y&START=0&PERPAGE=10&MAPPED_CAT_ID1=20&LEVEL3=Baby", url2
        
        
    def testGetDeeplink(self):
        url = self.client.get_deeplink("http://www.play.com/Music/CD/4-/793109/Sea-Change-The-Choral-Music-Of/Product.html?ptsl=1&ob=Price&fb=0");
        assert url == "http://playcom.at/affiliate2?CTY=84&DURL=http://www.play.com/Music/CD/4-/793109/Sea-Change-The-Choral-Music-Of/Product.html?ptsl=1", url

    def testProductInfo(self):
        product = self.client.get_product(118949289)
        assert product.product_id == 118949289
        assert product.product_sku == "90998"
        assert product.product_name == "St  James's Hotel and Club - Althoff  Hotel Collection"
        assert product.product_url == "http://laterooms.at/affiliate2?CTY=84&DURL=http://www.laterooms.com/en/p1023/hotel-reservations/90998_st-james-s-club-hotel.aspx"
        
        feed = product.feed
        assert feed.feed_name == product.feed_name
        assert feed.feed_id == product.feed_id
        
        programme = product.programme
        assert programme.programme_name == product.programme_name
        assert programme.programme_id == product.programme_id
        assert programme.programme_url == product.programme_url, (programme.programme_url, product.programme_url)
Beispiel #2
0
 def setUp(self):
     self.client = BuyatAPIClient('01-fd288e15a739c35276a15d73a227dcc7');