コード例 #1
0
 def test_proxy_validate_view(self):
     """
     When called with no parameters, a validation failure should
     be returned.
     """
     request = self.rf.get(reverse('cas_proxy_validate'))
     response = ProxyValidateView.as_view()(request)
     self.assertContains(response, 'INVALID_REQUEST')
コード例 #2
0
 def test_proxy_validate_view_invalid_service(self):
     """
     When called with an invalid service identifier, a validation
     failure should be returned.
     """
     request = self.rf.get(reverse('cas_proxy_validate'), {'service': self.url2, 'ticket': self.pt.ticket})
     response = ProxyValidateView.as_view()(request)
     self.assertContains(response, 'INVALID_SERVICE')
コード例 #3
0
 def test_proxy_validate_view_invalid_service_url(self):
     """
     When ``MAMA_CAS_VALID_SERVICES`` is defined, a validation
     failure should be returned if the service URL does not match.
     """
     request = self.rf.get(reverse('cas_proxy_validate'), {'service': self.url, 'ticket': self.pt.ticket})
     response = ProxyValidateView.as_view()(request)
     self.assertContains(response, 'INVALID_SERVICE')
コード例 #4
0
ファイル: test_views.py プロジェクト: wwj718/django-mama-cas
 def test_proxy_validate_view(self):
     """
     When called with no parameters, a validation failure should
     be returned.
     """
     request = self.rf.get(reverse('cas_proxy_validate'))
     response = ProxyValidateView.as_view()(request)
     self.assertContains(response, 'INVALID_REQUEST')
コード例 #5
0
ファイル: test_views.py プロジェクト: kajigga/django-mama-cas
 def test_proxy_validate_view_user_attributes(self):
     """
     When ``MAMA_CAS_USER_ATTRIBUTES`` is defined, the validation
     success should include the custom attribute block.
     """
     request = self.rf.get(reverse('cas_proxy_validate'), {'service': self.url, 'ticket': self.pt.ticket})
     response = ProxyValidateView.as_view()(request)
     self.assertContains(response, 'attributes')
コード例 #6
0
 def test_proxy_validate_view_invalid_service_url(self):
     """
     When ``MAMA_CAS_VALID_SERVICES`` is defined, a validation
     failure should be returned if the service URL does not match.
     """
     request = self.rf.get(reverse('cas_proxy_validate'), {'service': self.url, 'ticket': self.pt.ticket})
     response = ProxyValidateView.as_view()(request)
     self.assertContains(response, 'INVALID_SERVICE')
コード例 #7
0
 def test_proxy_validate_view_invalid_service(self):
     """
     When called with an invalid service identifier, a validation
     failure should be returned.
     """
     request = self.rf.get(reverse('cas_proxy_validate'), {'service': self.url2, 'ticket': self.pt.ticket})
     response = ProxyValidateView.as_view()(request)
     self.assertContains(response, 'INVALID_SERVICE')
コード例 #8
0
 def test_proxy_validate_view_invalid_ticket(self):
     """
     When the provided ticket cannot be found, a validation
     failure should be returned.
     """
     pt_str = ProxyTicket.objects.create_ticket_str()
     request = self.rf.get(reverse('cas_proxy_validate'), {'service': self.url, 'ticket': pt_str})
     response = ProxyValidateView.as_view()(request)
     self.assertContains(response, 'INVALID_TICKET')
コード例 #9
0
 def test_proxy_validate_view_pgturl_http(self):
     """
     When called with valid parameters and an invalid ``pgtUrl``,
     the validation success should have no ``ProxyGrantingTicket``.
     """
     request = self.rf.get(reverse('cas_proxy_validate'), {'service': self.url, 'ticket': self.pt.ticket, 'pgtUrl': self.url})
     response = ProxyValidateView.as_view()(request)
     self.assertContains(response, 'authenticationSuccess')
     self.assertNotContains(response, 'proxyGrantingTicket')
コード例 #10
0
 def test_proxy_validate_view_invalid_ticket(self):
     """
     When the provided ticket cannot be found, a validation
     failure should be returned.
     """
     pt_str = ProxyTicket.objects.create_ticket_str()
     request = self.rf.get(reverse('cas_proxy_validate'), {'service': self.url, 'ticket': pt_str})
     response = ProxyValidateView.as_view()(request)
     self.assertContains(response, 'INVALID_TICKET')
コード例 #11
0
 def test_proxy_validate_view_pgturl_http(self):
     """
     When called with valid parameters and an invalid ``pgtUrl``,
     the validation success should have no ``ProxyGrantingTicket``.
     """
     request = self.rf.get(reverse('cas_proxy_validate'), {'service': self.url, 'ticket': self.pt.ticket, 'pgtUrl': self.url})
     response = ProxyValidateView.as_view()(request)
     self.assertContains(response, 'authenticationSuccess')
     self.assertNotContains(response, 'proxyGrantingTicket')
コード例 #12
0
 def test_proxy_validate_view_user_attributes(self):
     """
     When ``MAMA_CAS_USER_ATTRIBUTES`` is defined, the validation
     success should include the custom attribute block.
     """
     request = self.rf.get(reverse('cas_proxy_validate'), {
         'service': self.url,
         'ticket': self.pt.ticket
     })
     response = ProxyValidateView.as_view()(request)
     self.assertContains(response, 'attributes')
コード例 #13
0
 def test_proxy_validate_view_pgturl(self):
     """
     When called with valid parameters and a ``pgtUrl``, a
     validation success should include a ``ProxyGrantingTicket``.
     """
     request = self.rf.get(reverse('cas_proxy_validate'), {'service': self.url, 'ticket': self.pt.ticket, 'pgtUrl': self.url2})
     with patch('requests.get') as mock:
         mock.return_value.status_code = 200
         response = ProxyValidateView.as_view()(request)
     self.assertContains(response, 'authenticationSuccess')
     self.assertContains(response, 'proxyGrantingTicket')
コード例 #14
0
 def test_proxy_validate_view_pgturl(self):
     """
     When called with valid parameters and a ``pgtUrl``, a
     validation success should include a ``ProxyGrantingTicket``.
     """
     request = self.rf.get(reverse('cas_proxy_validate'), {'service': self.url, 'ticket': self.pt.ticket, 'pgtUrl': self.url2})
     with patch('requests.get') as mock:
         mock.return_value.status_code = 200
         response = ProxyValidateView.as_view()(request)
     self.assertContains(response, 'authenticationSuccess')
     self.assertContains(response, 'proxyGrantingTicket')
コード例 #15
0
    def test_proxy_validate_view_pt_success(self):
        """
        When called with a valid ``ProxyTicket``, a validation success
        should be returned. The provided ticket should be consumed.
        """
        request = self.rf.get(reverse('cas_proxy_validate'), {'service': self.url, 'ticket': self.pt.ticket})
        response = ProxyValidateView.as_view()(request)
        self.assertContains(response, 'authenticationSuccess')
        self.assertEqual(response.get('Content-Type'), 'text/xml')

        pt = ProxyTicket.objects.get(ticket=self.pt.ticket)
        self.assertTrue(pt.is_consumed())
コード例 #16
0
    def test_proxy_validate_view_pt_success(self):
        """
        When called with a valid ``ProxyTicket``, a validation success
        should be returned. The provided ticket should be consumed.
        """
        request = self.rf.get(reverse('cas_proxy_validate'), {'service': self.url, 'ticket': self.pt.ticket})
        response = ProxyValidateView.as_view()(request)
        self.assertContains(response, 'authenticationSuccess')
        self.assertEqual(response.get('Content-Type'), 'text/xml')

        pt = ProxyTicket.objects.get(ticket=self.pt.ticket)
        self.assertTrue(pt.is_consumed())
コード例 #17
0
 def test_proxy_validate_view_proxies(self):
     """
     A validation success should include a ``proxies`` block
     containing all the proxies involved.
     """
     pgt2 = ProxyGrantingTicketFactory(granted_by_pt=self.pt,
                                       granted_by_st=None)
     pt2 = ProxyTicketFactory(service='http://ww2.example.com',
                              granted_by_pgt=pgt2)
     request = self.rf.get(reverse('cas_proxy_validate'), {'service': pt2.service, 'ticket': pt2.ticket})
     response = ProxyValidateView.as_view()(request)
     self.assertContains(response, 'authenticationSuccess')
     self.assertContains(response, 'http://ww2.example.com')
     self.assertContains(response, 'http://www.example.com')
コード例 #18
0
 def test_proxy_validate_view_proxies(self):
     """
     A validation success should include a ``proxies`` block
     containing all the proxies involved.
     """
     pgt2 = ProxyGrantingTicketFactory(granted_by_pt=self.pt,
                                       granted_by_st=None)
     pt2 = ProxyTicketFactory(service='http://ww2.example.com',
                              granted_by_pgt=pgt2)
     request = self.rf.get(reverse('cas_proxy_validate'), {'service': pt2.service, 'ticket': pt2.ticket})
     response = ProxyValidateView.as_view()(request)
     self.assertContains(response, 'authenticationSuccess')
     self.assertContains(response, 'http://ww2.example.com')
     self.assertContains(response, 'http://www.example.com')
コード例 #19
0
from mama_cas.views import LogoutView
from mama_cas.views import ValidateView
from mama_cas.views import ServiceValidateView
from mama_cas.views import ProxyValidateView
from mama_cas.views import ProxyView
from mama_cas.views import WarnView
from mama_cas.views import SamlValidateView

urlpatterns = [
    url(r'^login/?$', LoginView.as_view(), name='cas_login'),
    url(r'^logout/?$', LogoutView.as_view(), name='cas_logout'),
    url(r'^validate/?$', ValidateView.as_view(), name='cas_validate'),
    url(r'^serviceValidate/?$',
        ServiceValidateView.as_view(),
        name='cas_service_validate'),
    url(r'^proxyValidate/?$',
        ProxyValidateView.as_view(),
        name='cas_proxy_validate'),
    url(r'^proxy/?$', ProxyView.as_view(), name='cas_proxy'),
    url(r'^p3/serviceValidate/?$',
        ServiceValidateView.as_view(),
        name='cas_p3_service_validate'),
    url(r'^p3/proxyValidate/?$',
        ProxyValidateView.as_view(),
        name='cas_p3_proxy_validate'),
    url(r'^warn/?$', WarnView.as_view(), name='cas_warn'),
    url(r'^samlValidate/?$',
        SamlValidateView.as_view(),
        name='cas_saml_validate'),
]
コード例 #20
0
ファイル: urls.py プロジェクト: bryankaplan/django-mama-cas
"""
URLconf for CAS server URIs as described in the CAS protocol.
"""

from django.conf.urls import patterns
from django.conf.urls import url

from mama_cas.views import LoginView
from mama_cas.views import LogoutView
from mama_cas.views import ValidateView
from mama_cas.views import ServiceValidateView
from mama_cas.views import ProxyValidateView
from mama_cas.views import ProxyView
from mama_cas.views import WarnView


urlpatterns = patterns(
    "",
    url(r"^login/?$", LoginView.as_view(), name="cas_login"),
    url(r"^logout/?$", LogoutView.as_view(), name="cas_logout"),
    url(r"^validate/?$", ValidateView.as_view(), name="cas_validate"),
    url(r"^serviceValidate/?$", ServiceValidateView.as_view(), name="cas_service_validate"),
    url(r"^proxyValidate/?$", ProxyValidateView.as_view(), name="cas_proxy_validate"),
    url(r"^proxy/?$", ProxyView.as_view(), name="cas_proxy"),
    url(r"^warn/?$", WarnView.as_view(), name="cas_warn"),
)
コード例 #21
0
ファイル: urls.py プロジェクト: davinirjr/django-mama-cas
urlpatterns = patterns('',
    url(r'^login/?$',
        LoginView.as_view(),
        name='cas_login'),
    url(r'^logout/?$',
        LogoutView.as_view(),
        name='cas_logout'),
    url(r'^validate/?$',
        ValidateView.as_view(),
        name='cas_validate'),
    url(r'^serviceValidate/?$',
        ServiceValidateView.as_view(),
        name='cas_service_validate'),
    url(r'^proxyValidate/?$',
        ProxyValidateView.as_view(),
        name='cas_proxy_validate'),
    url(r'^proxy/?$',
        ProxyView.as_view(),
        name='cas_proxy'),
    url(r'^p3/serviceValidate/?$',
        ServiceValidateView.as_view(),
        name='cas_p3_service_validate'),
    url(r'^p3/proxyValidate/?$',
        ProxyValidateView.as_view(),
        name='cas_p3_proxy_validate'),
    url(r'^warn/?$',
        WarnView.as_view(),
        name='cas_warn'),
    url(r'^samlValidate/?$',
        SamlValidateView.as_view(),
コード例 #22
0
ファイル: urls.py プロジェクト: adiletmaratov/django-mama-cas
"""
(2) CAS server URIs as described in the CAS protocol.
"""

from django.conf.urls import url

from mama_cas.views import LoginView
from mama_cas.views import LogoutView
from mama_cas.views import ValidateView
from mama_cas.views import ServiceValidateView
from mama_cas.views import ProxyValidateView
from mama_cas.views import ProxyView
from mama_cas.views import WarnView
from mama_cas.views import SamlValidateView


urlpatterns = [
    url(r'^login/?$', LoginView.as_view(), name='cas_login'),
    url(r'^logout/?$', LogoutView.as_view(), name='cas_logout'),
    url(r'^validate/?$', ValidateView.as_view(), name='cas_validate'),
    url(r'^serviceValidate/?$', ServiceValidateView.as_view(), name='cas_service_validate'),
    url(r'^proxyValidate/?$', ProxyValidateView.as_view(), name='cas_proxy_validate'),
    url(r'^proxy/?$', ProxyView.as_view(), name='cas_proxy'),
    url(r'^p3/serviceValidate/?$', ServiceValidateView.as_view(), name='cas_p3_service_validate'),
    url(r'^p3/proxyValidate/?$', ProxyValidateView.as_view(), name='cas_p3_proxy_validate'),
    url(r'^warn/?$', WarnView.as_view(), name='cas_warn'),
    url(r'^samlValidate/?$', SamlValidateView.as_view(), name='cas_saml_validate'),
]