From 34efbf37f568d6db6523da7dde3a134c467ed89b Mon Sep 17 00:00:00 2001 From: Sebastian Annies Date: Sun, 9 Oct 2011 23:23:26 +0200 Subject: [PATCH 1/1] added an example to be able to easily run the unittests --- cas_provider_examples/__init__.py | 0 cas_provider_examples/simple/__init__.py | 0 cas_provider_examples/simple/manage.py | 14 ++ cas_provider_examples/simple/settings.py | 143 ++++++++++++++++++ .../simple/templates/base.html | 13 ++ .../login-success-redirect-target.html | 1 + cas_provider_examples/simple/urls.py | 10 ++ 7 files changed, 181 insertions(+) create mode 100644 cas_provider_examples/__init__.py create mode 100644 cas_provider_examples/simple/__init__.py create mode 100644 cas_provider_examples/simple/manage.py create mode 100644 cas_provider_examples/simple/settings.py create mode 100644 cas_provider_examples/simple/templates/base.html create mode 100644 cas_provider_examples/simple/templates/login-success-redirect-target.html create mode 100644 cas_provider_examples/simple/urls.py diff --git a/cas_provider_examples/__init__.py b/cas_provider_examples/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/cas_provider_examples/simple/__init__.py b/cas_provider_examples/simple/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/cas_provider_examples/simple/manage.py b/cas_provider_examples/simple/manage.py new file mode 100644 index 0000000..3e4eedc --- /dev/null +++ b/cas_provider_examples/simple/manage.py @@ -0,0 +1,14 @@ +#!/usr/bin/env python +from django.core.management import execute_manager +import imp +try: + imp.find_module('settings') # Assumed to be in the same directory. +except ImportError: + import sys + sys.stderr.write("Error: Can't find the file 'settings.py' in the directory containing %r. It appears you've customized things.\nYou'll have to run django-admin.py, passing it your settings module.\n" % __file__) + sys.exit(1) + +import settings + +if __name__ == "__main__": + execute_manager(settings) diff --git a/cas_provider_examples/simple/settings.py b/cas_provider_examples/simple/settings.py new file mode 100644 index 0000000..9140cf6 --- /dev/null +++ b/cas_provider_examples/simple/settings.py @@ -0,0 +1,143 @@ +# Django settings for xxx project. + +DEBUG = True +TEMPLATE_DEBUG = DEBUG + +ADMINS = ( + # ('Your Name', 'your_email@example.com'), +) + +MANAGERS = ADMINS + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. + 'NAME': '', # Or path to database file if using sqlite3. + 'USER': '', # Not used with sqlite3. + 'PASSWORD': '', # Not used with sqlite3. + 'HOST': '', # Set to empty string for localhost. Not used with sqlite3. + 'PORT': '', # Set to empty string for default. Not used with sqlite3. + } +} + +# Local time zone for this installation. Choices can be found here: +# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name +# although not all choices may be available on all operating systems. +# On Unix systems, a value of None will cause Django to use the same +# timezone as the operating system. +# If running in a Windows environment this must be set to the same as your +# system time zone. +TIME_ZONE = 'America/Chicago' + +# Language code for this installation. All choices can be found here: +# http://www.i18nguy.com/unicode/language-identifiers.html +LANGUAGE_CODE = 'en-us' + +SITE_ID = 1 + +# If you set this to False, Django will make some optimizations so as not +# to load the internationalization machinery. +USE_I18N = True + +# If you set this to False, Django will not format dates, numbers and +# calendars according to the current locale +USE_L10N = True + +# Absolute filesystem path to the directory that will hold user-uploaded files. +# Example: "/home/media/media.lawrence.com/media/" +MEDIA_ROOT = '' + +# URL that handles the media served from MEDIA_ROOT. Make sure to use a +# trailing slash. +# Examples: "http://media.lawrence.com/media/", "http://example.com/media/" +MEDIA_URL = '' + +# Absolute path to the directory static files should be collected to. +# Don't put anything in this directory yourself; store your static files +# in apps' "static/" subdirectories and in STATICFILES_DIRS. +# Example: "/home/media/media.lawrence.com/static/" +STATIC_ROOT = '' + +# URL prefix for static files. +# Example: "http://media.lawrence.com/static/" +STATIC_URL = '/static/' + +# URL prefix for admin static files -- CSS, JavaScript and images. +# Make sure to use a trailing slash. +# Examples: "http://foo.com/static/admin/", "/static/admin/". +ADMIN_MEDIA_PREFIX = '/static/admin/' + +# Additional locations of static files +STATICFILES_DIRS = ( + # Put strings here, like "/home/html/static" or "C:/www/django/static". + # Always use forward slashes, even on Windows. + # Don't forget to use absolute paths, not relative paths. +) + +# List of finder classes that know how to find static files in +# various locations. +STATICFILES_FINDERS = ( + 'django.contrib.staticfiles.finders.FileSystemFinder', + 'django.contrib.staticfiles.finders.AppDirectoriesFinder', +# 'django.contrib.staticfiles.finders.DefaultStorageFinder', +) + +# Make this unique, and don't share it with anybody. +SECRET_KEY = 'kv*6pmkq47crqskw%wkst!h7xnisy78zzli@rtklgm#y6o=of!' + +# List of callables that know how to import templates from various sources. +TEMPLATE_LOADERS = ( + 'django.template.loaders.filesystem.Loader', + 'django.template.loaders.app_directories.Loader', +# 'django.template.loaders.eggs.Loader', +) + +MIDDLEWARE_CLASSES = ( + 'django.middleware.common.CommonMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', +) + +ROOT_URLCONF = 'simple.urls' + +import os +PROJECT_PATH = os.path.abspath(os.path.dirname(__file__)) + +TEMPLATE_DIRS = ( + os.path.join(PROJECT_PATH, 'templates') +) + +INSTALLED_APPS = ( + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.sites', + 'django.contrib.messages', + 'django.contrib.staticfiles', + 'cas_provider', +) + +# A sample logging configuration. The only tangible logging +# performed by this configuration is to send an email to +# the site admins on every HTTP 500 error. +# See http://docs.djangoproject.com/en/dev/topics/logging for +# more details on how to customize your logging configuration. +LOGGING = { + 'version': 1, + 'disable_existing_loggers': False, + 'handlers': { + 'mail_admins': { + 'level': 'ERROR', + 'class': 'django.utils.log.AdminEmailHandler' + } + }, + 'loggers': { + 'django.request': { + 'handlers': ['mail_admins'], + 'level': 'ERROR', + 'propagate': True, + }, + } +} diff --git a/cas_provider_examples/simple/templates/base.html b/cas_provider_examples/simple/templates/base.html new file mode 100644 index 0000000..6bd902c --- /dev/null +++ b/cas_provider_examples/simple/templates/base.html @@ -0,0 +1,13 @@ + + + + {% block title %}{% endblock %} + + +
+ {% block content %}{% endblock %} +
+ + + \ No newline at end of file diff --git a/cas_provider_examples/simple/templates/login-success-redirect-target.html b/cas_provider_examples/simple/templates/login-success-redirect-target.html new file mode 100644 index 0000000..4ea8caa --- /dev/null +++ b/cas_provider_examples/simple/templates/login-success-redirect-target.html @@ -0,0 +1 @@ +yeah - success \ No newline at end of file diff --git a/cas_provider_examples/simple/urls.py b/cas_provider_examples/simple/urls.py new file mode 100644 index 0000000..c717237 --- /dev/null +++ b/cas_provider_examples/simple/urls.py @@ -0,0 +1,10 @@ +from django.conf.urls.defaults import patterns, include, url + +import cas_provider +from django.views.generic.simple import redirect_to, direct_to_template + +urlpatterns = patterns('', + url(r'^', include('cas_provider.urls')), + url(r'^accounts/profile', direct_to_template, {'template': 'login-success-redirect-target.html'}), + + ) -- 2.20.1