def setUp(self): super().setUp() self.partner = PartnerFactory() self.partner.marketing_site_url_root = self.api_root self.partner.marketing_site_api_username = self.username self.partner.marketing_site_api_password = self.password self.person = PersonFactory(partner=self.partner, given_name='Test', family_name='User') self.api_client = MarketingSiteAPIClient(self.username, self.password, self.api_root) self.uuid = str(self.person.uuid) self.expected_node = { 'resource': 'node', 'id': '28691', 'uuid': self.uuid, 'uri': 'https://stage.edx.org/node/28691' } self.expected_data = { 'type': 'person', 'title': 'Test User', 'field_person_slug': 'test-user', 'status': 1 }
def api_client(self): marketing_site_api_client = MarketingSiteAPIClient( self.partner.marketing_site_api_username, self.partner.marketing_site_api_password, self.api_url) return marketing_site_api_client.api_session
def _get_api_client(self, program): if not program.partner.has_marketing_site: return if not (program.partner.marketing_site_api_username and program.partner.marketing_site_api_password): msg = 'Marketing Site API credentials are not properly configured for Partner [{partner}]!'.format( partner=program.partner.short_code) raise ProgramPublisherException(msg) if program.type.name not in ['MicroMasters', 'Professional Certificate']: # We do not publish programs that are not MicroMasters or Professional Certificate to the Marketing Site return fields_that_trigger_publish = ['title', 'status', 'type', 'marketing_slug'] if self.program_before and \ all(getattr(self.program_before, key) == getattr(program, key) for key in fields_that_trigger_publish): # We don't need to publish to marketing site because # nothing we care about has changed. This would save at least 4 network calls return return MarketingSiteAPIClient( program.partner.marketing_site_api_username, program.partner.marketing_site_api_password, program.partner.marketing_site_url_root )
def __init__(self, partner): self.partner = partner self.client = MarketingSiteAPIClient( self.partner.marketing_site_api_username, self.partner.marketing_site_api_password, self.partner.marketing_site_url_root) self.node_api_base = urljoin(self.client.api_url, '/node.json')
def __init__(self, partner): self.partner = partner self.client = MarketingSiteAPIClient( self.partner.marketing_site_api_username, self.partner.marketing_site_api_password, self.partner.marketing_site_url_root) self.node_api_base = urljoin(self.client.api_url, '/node.json') self.alias_api_base = urljoin(self.client.api_url, '/admin/config/search/path') self.alias_add_url = '{}/add'.format(self.alias_api_base)
def setUp(self): super(MarketingSitePublisherTests, self).setUp() self.partner = PartnerFactory() self.partner.marketing_site_url_root = self.api_root self.partner.marketing_site_api_username = self.username self.partner.marketing_site_api_password = self.password self.api_client = MarketingSiteAPIClient( self.username, self.password, self.api_root ) self.expected_node = { 'resource': 'node', '' 'id': '28691', 'uuid': '18d5542f-fa80-418e-b416-455cfdeb4d4e', 'uri': 'https://stage.edx.org/node/28691' } self.data = { 'given_name': 'test', 'family_name': 'user' }
def _get_api_client(self, partner): return MarketingSiteAPIClient(partner.marketing_site_api_username, partner.marketing_site_api_password, partner.marketing_site_url_root)