50 lines
1.6 KiB
Python
50 lines
1.6 KiB
Python
|
from __future__ import absolute_import
|
||
|
from .init import *
|
||
|
|
||
|
from django.test import RequestFactory
|
||
|
|
||
|
import os
|
||
|
import pytest
|
||
|
|
||
|
from cas_server.views import Auth
|
||
|
from cas_server import models
|
||
|
|
||
|
from .dummy import *
|
||
|
|
||
|
settings.CAS_AUTH_SHARED_SECRET = "test"
|
||
|
|
||
|
@pytest.mark.django_db
|
||
|
def test_auth_view_goodpass():
|
||
|
factory = RequestFactory()
|
||
|
request = factory.post('/auth', {'username':'test', 'password':'test', 'service':'https://www.example.com', 'secret':'test'})
|
||
|
|
||
|
request.session = DummySession()
|
||
|
|
||
|
models.User.objects = DummyUserManager(username="test", session_key=request.session.session_key)
|
||
|
models.ServiceTicket.objects = DummyTicketManager(models.ServiceTicket, 'https://www.example.com', "ST-random")
|
||
|
models.ServicePattern.validate = classmethod(lambda x,y: models.ServicePattern())
|
||
|
|
||
|
auth = Auth()
|
||
|
response = auth.post(request)
|
||
|
|
||
|
assert response.status_code == 200
|
||
|
assert response.content == "yes\n"
|
||
|
|
||
|
|
||
|
def test_auth_view_badpass():
|
||
|
factory = RequestFactory()
|
||
|
request = factory.post('/auth', {'username':'test', 'password':'badpass', 'service':'https://www.example.com', 'secret':'test'})
|
||
|
|
||
|
request.session = DummySession()
|
||
|
|
||
|
models.User.objects = DummyUserManager(username="test", session_key=request.session.session_key)
|
||
|
models.ServiceTicket.objects = DummyTicketManager(models.ServiceTicket, 'https://www.example.com', "ST-random")
|
||
|
models.ServicePattern.validate = classmethod(lambda x,y: models.ServicePattern())
|
||
|
|
||
|
auth = Auth()
|
||
|
response = auth.post(request)
|
||
|
|
||
|
assert response.status_code == 200
|
||
|
assert response.content == "no\n"
|
||
|
|