def test_get_idp_choices(self): """ Test get_idp_choices returns correct options for choice field or returns None if thirdParty_auth is not installed. """ options = utils.get_idp_choices() self.assertIsNone(options) expected_list = [('', '-' * 7), ('test1', 'test1'), ('test2', 'test2')] with mock.patch('enterprise.utils.Registry') as mock_registry: mock_registry.enabled = mock_get_available_idps(['test1', 'test2']) choices = utils.get_idp_choices() self.assertListEqual(choices, expected_list)
def __init__(self, *args, **kwargs): """ Initialize the form. Substitutes CharField with TypedChoiceField for the provider_id field. """ super(EnterpriseCustomerIdentityProviderAdminForm, self).__init__(*args, **kwargs) idp_choices = utils.get_idp_choices() help_text = '' if saml_provider_configuration: provider_id = self.instance.provider_id url = reverse('admin:{}_{}_add'.format( saml_provider_configuration._meta.app_label, saml_provider_configuration._meta.model_name)) if provider_id: identity_provider = utils.get_identity_provider(provider_id) if identity_provider: update_url = url + '?source={}'.format( identity_provider.pk) help_text = '<p><a href="{update_url}" target="_blank">View "{identity_provider}" details</a><p>'.\ format(update_url=update_url, identity_provider=identity_provider.name) else: help_text += '<p style="margin-top:-5px;"> Make sure you have added a valid provider_id.</p>' else: help_text += '<p style="margin-top:-5px;"><a target="_blank" href={add_url}>' \ 'Create a new identity provider</a></p>'.format(add_url=url) if idp_choices is not None: self.fields['provider_id'] = forms.TypedChoiceField( choices=idp_choices, label=_('Identity Provider'), help_text=mark_safe(help_text), )
def __init__(self, *args, **kwargs): """ Convert SlugField to TypedChoiceField if choices can be accessed. """ super(EnterpriseCustomerForm, self).__init__(*args, **kwargs) idp_choices = utils.get_idp_choices() if idp_choices is not None: self.fields['identity_provider'] = forms.TypedChoiceField( choices=idp_choices, required=False)
def test_get_idp_choices(self): """ Test get_idp_choices returns correct options for choice field or returns None if thirdParty_auth is not installed. """ options = utils.get_idp_choices() self.assertIsNone(options) expected_list = [('', '-' * 7), ('test1', 'test1'), ('test2', 'test2')] with mock.patch('enterprise.utils.get_available_idps', mock_get_available_idps(['test1', 'test2'])): choices = utils.get_idp_choices() self.assertListEqual(choices, expected_list) available_providers = mock_get_available_idps(['test1', 'test2'])() with MockThirdPartyAuth(available_providers): self.assertListEqual(utils.get_idp_choices(), expected_list)
def __init__(self, *args, **kwargs): """ Initialize the form. Substitutes CharField with TypedChoiceField for the provider_id field. """ super(EnterpriseCustomerIdentityProviderAdminForm, self).__init__(*args, **kwargs) idp_choices = utils.get_idp_choices() if idp_choices is not None: self.fields['provider_id'] = forms.TypedChoiceField(choices=idp_choices)