class TestSubscription(TestCase): def setUp(self): user = User.objects.create(username='******') self.sclient = Client(settings.SPREEDLY_AUTH_TOKEN_SECRET, settings.SPREEDLY_SITE_NAME) def tearDown(self): # Remove all subscribers self.sclient.cleanup() def test_sync_plans(self): # Initial sync spreedly_count = len(self.sclient.get_plans()) sync_plans() qs = Plan.objects.all() self.assertEquals(qs.count(), spreedly_count)
def sync_plans(): ''' Sync subscription plans with Spreedly API ''' client = Client(settings.SPREEDLY_AUTH_TOKEN, settings.SPREEDLY_SITE_NAME) for plan in client.get_plans(): p, created = Plan.objects.get_or_create(spreedly_id=plan['spreedly_id']) changed = False for k, v in plan.items(): if hasattr(p, k) and not getattr(p, k) == v: setattr(p, k, v) changed = True if changed: p.save()
def sync_plans(): ''' Sync subscription plans with Spreedly API ''' for key, site in settings.SPREEDLY_SITES.items(): client = Client(site['SPREEDLY_AUTH_TOKEN_SECRET'], site['SPREEDLY_SITE_NAME']) for plan in client.get_plans(): print plan['speedly_id'], site['SPREEDLY_SITE_NAME'] p, created = Plan.objects.get_or_create(speedly_id=plan['speedly_id'], spreedly_site_name=site['SPREEDLY_SITE_NAME']) changed = False for k, v in plan.items(): if hasattr(p, k) and not getattr(p, k) == v: setattr(p, k, v) changed = True if changed: p.save()