Skip to content

Commit

Permalink
Merge branch 't4_settings_in_context' into t5_forms_and_auth
Browse files Browse the repository at this point in the history
Conflicts:
	testsobol/mainapp/models.py
	testsobol/mainapp/tests.py
	testsobol/mainapp/views.py
	testsobol/templates/index.html
	testsobol/urls.py
  • Loading branch information
andreysobol committed Mar 11, 2012
2 parents 1537a88 + 512e72f commit 3a44bf4
Show file tree
Hide file tree
Showing 9 changed files with 46 additions and 17 deletions.
2 changes: 2 additions & 0 deletions testsobol/Makefile
@@ -0,0 +1,2 @@
test:
python manage.py test mainapp
3 changes: 2 additions & 1 deletion testsobol/mainapp/context_processor.py
@@ -1,4 +1,5 @@
from django.conf import settings from django.conf import settings



def settings_context_processor(request): def settings_context_processor(request):
return {'settings':settings} return {'settings': settings}
3 changes: 2 additions & 1 deletion testsobol/mainapp/middleware.py
Expand Up @@ -2,8 +2,9 @@


from models import Request from models import Request



class RequestMiddleware(object): class RequestMiddleware(object):

def process_request(self, request): def process_request(self, request):
r = Request() r = Request()
r.date = datetime.now() r.date = datetime.now()
Expand Down
1 change: 1 addition & 0 deletions testsobol/mainapp/models.py
Expand Up @@ -20,6 +20,7 @@ def render(self):


return self.get_struct(get) return self.get_struct(get)



class Request(models.Model): class Request(models.Model):
date = models.DateTimeField() date = models.DateTimeField()
url = models.CharField(max_length=250) url = models.CharField(max_length=250)
Expand Down
31 changes: 27 additions & 4 deletions testsobol/mainapp/tests.py
Expand Up @@ -15,8 +15,6 @@
class IndexViewTest(TestCase): class IndexViewTest(TestCase):


def test(self): def test(self):
fixtures = ['initial_data.json']

page = self.client.get('') page = self.client.get('')


self.assertEqual(page.status_code, 200) self.assertEqual(page.status_code, 200)
Expand All @@ -30,7 +28,11 @@ class RequestTest(TestCase):


def test(self): def test(self):
page = self.client.get('') page = self.client.get('')
self.assertTrue(bool(Request.objects.filter(date__gte = (datetime.now() - timedelta(minutes=1)))))
self.assertEqual(page.status_code, 200)

self.assertTrue(bool(Request.objects.filter(
date__gte=(datetime.now() - timedelta(minutes=1)))))




class RequestViewTest(TestCase): class RequestViewTest(TestCase):
Expand All @@ -40,12 +42,14 @@ def test(self):
self.assertEqual(page.status_code, 200) self.assertEqual(page.status_code, 200)
self.assertTrue(bool(page.context['request'])) self.assertTrue(bool(page.context['request']))



class SettingsContextTest(TestCase): class SettingsContextTest(TestCase):

def test(self): def test(self):
page = self.client.get('') page = self.client.get('')
self.assertEqual(page.status_code, 200) self.assertEqual(page.status_code, 200)
self.assertTrue(page.context['settings']) self.assertTrue(page.context['settings'])
self.assertEqual(page.context['settings'].STATIC_URL, '/static/')




class Edit(TestCase): class Edit(TestCase):
Expand All @@ -63,3 +67,22 @@ def test(self):
page = self.client.post('/edit/', {"bio": "Noooooooooooooo", "surname": "Sobol", "name": "Andrey", "other": "pigeon post - white pigeon only"}) page = self.client.post('/edit/', {"bio": "Noooooooooooooo", "surname": "Sobol", "name": "Andrey", "other": "pigeon post - white pigeon only"})
self.assertEqual(page.status_code, 200) self.assertEqual(page.status_code, 200)
self.assertTrue(page.content.find("error") != -1) self.assertTrue(page.content.find("error") != -1)


class NameUrlTest(TestCase):

def test(self):
page = self.client.get('/')
self.assertEqual(page.status_code, 200)
self.assertTrue(page.content.find('a href="/http/"') != -1)


class ManyRequestTest(TestCase):

def test(self):
for t in range(11):
page = self.client.get('/')
self.assertEqual(page.status_code, 200)

page = self.client.get('/http/')
self.assertTrue(page.context['request'].count() == 10)
5 changes: 3 additions & 2 deletions testsobol/mainapp/views.py
Expand Up @@ -8,12 +8,13 @@
from models import Bio, Request from models import Bio, Request
from forms import BioForm from forms import BioForm



class Index(TemplateView): class Index(TemplateView):


template_name = 'index.html' template_name = 'index.html'


def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = super(Index, self).get_context_data(**kwargs) super(Index, self).get_context_data(**kwargs)
return {'renders':Bio.objects.get(pk = 1).render()} return {'renders':Bio.objects.get(pk = 1).render()}




Expand Down Expand Up @@ -52,4 +53,4 @@ class Http(ListView):
paginate_by = 10 paginate_by = 10


def get_queryset(self): def get_queryset(self):
return Request.objects.order_by('-date') return Request.objects.order_by('date')
12 changes: 6 additions & 6 deletions testsobol/settings.py
Expand Up @@ -13,12 +13,12 @@


DATABASES = { DATABASES = {
'default': { 'default': {
'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. 'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'db.sqlite3', # Or path to database file if using sqlite3. 'NAME': 'db.sqlite3',
'USER': '', # Not used with sqlite3. 'USER': '',
'PASSWORD': '', # Not used with sqlite3. 'PASSWORD': '',
'HOST': '', # Set to empty string for localhost. Not used with sqlite3. 'HOST': '',
'PORT': '', # Set to empty string for default. Not used with sqlite3. 'PORT': '',
} }
} }


Expand Down
2 changes: 1 addition & 1 deletion testsobol/templates/index.html
Expand Up @@ -51,7 +51,7 @@ <h1>42 Coffee Cups Test Assignment</h1>
{% else %} {% else %}
<a href="/edit/">login and edit</a> <a href="/edit/">login and edit</a>
{% endif %} {% endif %}
<a href="/http/">request</a> <a href="{% url http %}">request</a>
</div> </div>
{% endif %} {% endif %}
{% endblock %} {% endblock %}
4 changes: 2 additions & 2 deletions testsobol/urls.py
@@ -1,4 +1,4 @@
from django.conf.urls.defaults import patterns, include, url from django.conf.urls.defaults import patterns, url
from django.conf import settings from django.conf import settings
from testsobol.mainapp.views import Index, Http, Edit from testsobol.mainapp.views import Index, Http, Edit


Expand All @@ -10,7 +10,7 @@
# Examples: # Examples:
url(r'^$', Index.as_view()), url(r'^$', Index.as_view()),
url(r'^edit/$', Edit.as_view()), url(r'^edit/$', Edit.as_view()),
url(r'^http/$', Http.as_view()), url(r'^http/$', Http.as_view(), name="http"),
(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}), (r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),
(r'^accounts/login/$', 'django.contrib.auth.views.login', { "template_name": "admin/login.html" } ), (r'^accounts/login/$', 'django.contrib.auth.views.login', { "template_name": "admin/login.html" } ),


Expand Down

0 comments on commit 3a44bf4

Please sign in to comment.