Example #1
0
class TestAffiliateEngines(BaseTestCase):
    def setup(self):
        self.config = {}
        self.a = AffiliateLinkMgr(self.config)

    @parameters(detect_strip_test_data, name_func=generate_name)
    def test_detect_and_strip(self, data):
        if data is None:
            return

        affil_name = data['affil_name']
        urls = data['urls']
        id   = data['id']
        is_affiliate = data['is_affiliate']
        stripped_test = data.get('stripped_url')

        # Test detecting affiliate links.
        for url in urls:
            # Detect affiliate links, check to ensure our value matches.
            detect = self.a.detect_affiliate(url)
            self.assert_equal(detect['affiliate_link'], is_affiliate)

            # If this is an affiliate link, check more.
            if is_affiliate:
                # Name/ID checking.
                self.assert_equal(detect['name'], affil_name)
                self.assert_equal(detect['id'], id)

                # Strip the link and check it matches.
                stripped = self.a.strip_affiliate(url)
                self.assert_equal(stripped, stripped_test)

    @parameters(add_test_data)
    def test_add(self, data):
        if data is None:
            return

        name = data['name']
        url = data['url']

        # Set the proper affiliate ID in our config.
        self.config.update(data['config'])

        # Test adding affiliate link.
        added_url = self.a.add_affiliate(url)
        self.assert_equal(added_url, data['expected'])
Example #2
0
 def setup(self):
     self.config = {}
     self.a = AffiliateLinkMgr(self.config)