コード例 #1
0
class  TestCase(unittest.TestCase):
    def setUp(self):
        self.sclient = Client(SPREEDLY_AUTH_TOKEN_SECRET, SPREEDLY_SITE_NAME)

        # Remove all subscribers
        self.sclient.cleanup()

    def tearDown(self):
        # Remove all subscribers
        self.sclient.cleanup()

    def test_get_plans(self):
        keys = [
            'date_changed', 'terms', 'name', 'force_recurring', 'feature_level',
            'price', 'enabled', 'plan_type', 'force_renew', 'duration_units',
            'version', 'speedly_site_id', 'duration', 'created_at',
            'speedly_id', 'return_url', 'description'
        ]

        for plan in self.sclient.get_plans():
            self.assertEquals(plan.keys(), keys)

    def test_create_subscriber(self):
        keys = set([
            'token', 'active_until', 'trial_active', 'created_at',
            'active', 'lifetime', 'customer_id', 'date_changed',
            'trial_elegible', 'plan', 'card_expires_before_next_auto_renew'
        ])

        subscriber = self.sclient.create_subscriber(1, 'test')
        self.assertEquals(set(subscriber.keys()), keys)

        # Delete subscriber
        self.sclient.delete_subscriber(1)

    def test_subscribe(self):
        keys = set([
            'token', 'active_until', 'trial_active', 'created_at',
            'active', 'lifetime', 'customer_id', 'date_changed',
            'trial_elegible', 'plan', 'card_expires_before_next_auto_renew'
        ])

        # Create a subscriber first
        subscriber = self.sclient.create_subscriber(1, 'test')

        # Subscribe to a free trial
        subscription = self.sclient.subscribe(1, 1824, True)
        self.assertEquals(set(subscriber.keys()), keys)
        assert subscription['trial_active']

        # Delete subscriber
        #self.sclient.delete_subscriber(1)

    def test_delete_subscriber(self):
        self.sclient.create_subscriber(1, 'test')
        self.failUnlessEqual(self.sclient.delete_subscriber(1), 200)

    def test_get_info(self):
        keys = set([
            'token', 'active_until', 'trial_active', 'created_at',
            'active', 'lifetime', 'customer_id', 'date_changed',
            'trial_elegible', 'plan', 'card_expires_before_next_auto_renew'
        ])

        self.sclient.create_subscriber(1, 'test')
        subscriber = self.sclient.get_info(1)
        self.assertEquals(set(subscriber.keys()), keys)
        self.assertEquals(subscriber['email'], '')
        self.assertEquals(subscriber['screen_name'], 'test')
        
        
        self.sclient.set_info(1, email='*****@*****.**', screen_name='jb')
        subscriber = self.sclient.get_info(1)
        self.assertEquals(subscriber['email'], '*****@*****.**')
        self.assertEquals(subscriber['screen_name'], 'jb')

        
    def test_get_or_create(self):
        keys = set([
            'token', 'active_until', 'trial_active', 'created_at',
            'active', 'lifetime', 'customer_id', 'date_changed',
            'trial_elegible', 'plan', 'card_expires_before_next_auto_renew'
        ])
        #test non existent subscriber
        result = self.sclient.get_or_create_subscriber(123, 'tester')
        self.assertEquals(set(result.keys()), keys)
        
        #assure that we won't overwrite existing subscriber
        result2 = self.sclient.get_or_create_subscriber(123, 'tester2')
        self.assertEquals(result, result2)
        
        
    def test_comp_subscription(self):
        result = self.sclient.get_or_create_subscriber(123, 'tester')

        self.sclient.create_complimentary_subscription(123, 2, 'months', 'Pro')
コード例 #2
0
ファイル: test.py プロジェクト: ccg/python-spreedly
class TestCase(unittest.TestCase):
    subscriber_keys = set([
        'active', 'active_until', 'card_expires_before_next_auto_renew',
        'created_at', 'customer_id', 'date_changed', 'email', 'first_name',
        'feature_level', 'gift', 'last_name', 'lifetime', 'name', 'recurring',
        'screen_name', 'token', 'trial_active', 'trial_eligible', #'plan',
    ])
    plans = []

    def setUp(self):
        self.sclient = Client(SPREEDLY_AUTH_TOKEN, SPREEDLY_SITE_NAME)

        # Remove all subscribers
        self.sclient.cleanup()

    def tearDown(self):
        # Remove all subscribers
        self.sclient.cleanup()

    def test_get_plans(self):
        keys = set([
            'date_changed', 'terms', 'name', 'force_recurring', 'feature_level',
            'price', 'enabled', 'plan_type', 'force_renew', 'duration_units',
            'version', 'spreedly_site_id', 'duration', 'created_at',
            'spreedly_id', 'return_url', 'description'
        ])

        for plan in self.sclient.get_plans():
            self.assertEquals(set(plan.keys()), keys)
            self.plans.append(plan)

    def test_create_subscriber(self):
        subscriber = self.sclient.create_subscriber(1, 'test')
        self.assertEquals(set(subscriber.keys()), self.subscriber_keys)

        # Delete subscriber
        self.sclient.delete_subscriber(1)

    def test_subscribe_free_trial(self):
        # Create a subscriber first
        subscriber = self.sclient.create_subscriber(1, 'test')

        # Subscribe to a free trial
        if not self.plans:
            self.plans = self.sclient.get_plans()
        for plan in self.plans:
            if plan['enabled'] and plan['plan_type'] == 'free_trial':
                break
        else:
            raise Exception("You need to set an active free-trial plan on your spreedly.com account.")
        plan_id = plan['spreedly_id']
        subscription = self.sclient.subscribe(1, plan_id, True)
        self.assertEquals(set(subscriber.keys()), self.subscriber_keys)
        assert subscription['trial_active']

        # Delete subscriber
        self.sclient.delete_subscriber(1)

    def test_delete_subscriber(self):
        self.sclient.create_subscriber(1, 'test')
        self.failUnlessEqual(self.sclient.delete_subscriber(1), 200)

    def test_get_info(self):
        self.sclient.create_subscriber(1, 'test')
        subscriber = self.sclient.get_info(1)
        self.assertEquals(set(subscriber.keys()), self.subscriber_keys)
        self.assertEquals(subscriber['email'], '')
        self.assertEquals(subscriber['screen_name'], 'test')

        self.sclient.set_info(1, email='*****@*****.**', screen_name='jb')
        subscriber = self.sclient.get_info(1)
        self.assertEquals(subscriber['email'], '*****@*****.**')
        self.assertEquals(subscriber['screen_name'], 'jb')

    def test_get_or_create(self):
        #test non existent subscriber
        result = self.sclient.get_or_create_subscriber(123, 'tester')
        self.assertEquals(set(result.keys()), self.subscriber_keys)

        #assure that we won't overwrite existing subscriber
        result2 = self.sclient.get_or_create_subscriber(123, 'tester2')
        self.assertEquals(result, result2)

    def test_comp_subscription(self):
        result = self.sclient.get_or_create_subscriber(123, 'tester')

        self.sclient.create_complimentary_subscription(123, 2, 'months', 'Pro')