github.com/jiasir/deis@v1.12.2/controller/web/tests.py (about) 1 """ 2 Unit tests for the Deis web app. 3 4 Run the tests with "./manage.py test web" 5 """ 6 7 from __future__ import unicode_literals 8 9 from django.conf import settings 10 from django.template import Context 11 from django.template import Template 12 from django.template import TemplateSyntaxError 13 from django.test import TestCase 14 15 16 class WebViewsTest(TestCase): 17 18 fixtures = ['test_web.json'] 19 20 @classmethod 21 def setUpClass(cls): 22 settings.WEB_ENABLED = True 23 24 def setUp(self): 25 self.client.login(username='autotest-1', password='password') 26 27 def test_account(self): 28 response = self.client.get('/account/') 29 self.assertContains(response, '<title>Deis | Account</title>', html=True) 30 self.assertContains(response, 'autotest-1') 31 self.assertContains(response, '<img src="//www.gravatar.com/avatar') 32 33 def test_dashboard(self): 34 response = self.client.get('/') 35 self.assertContains(response, '<title>Deis | Dashboard</title>', html=True) 36 37 def test_apps(self): 38 response = self.client.get('/apps/') 39 self.assertContains(response, '<title>Deis | Apps</title>', html=True) 40 self.assertContains(response, '<h1>One App</h1>') 41 self.assertContains(response, '<h3>autotest-1-app</h3>') 42 43 def test_support(self): 44 response = self.client.get('/support/') 45 self.assertContains(response, '<title>Deis | Support</title>', html=True) 46 self.assertContains(response, '<div class="forkImage">') 47 self.assertContains(response, '<h2>IRC</h2>') 48 self.assertContains(response, '<h2>GitHub</h2>') 49 50 51 class GravatarTagsTest(TestCase): 52 53 def _render_template(self, t, ctx=None): 54 """Test that the tag renders a gravatar URL.""" 55 tmpl = Template(t) 56 return tmpl.render(Context(ctx)).strip() 57 58 def test_render(self): 59 tmpl = """\ 60 {% load gravatar_tags %} 61 {% gravatar_url email %} 62 """ 63 rendered = self._render_template(tmpl, {'email': 'github@deis.io'}) 64 self.assertEquals( 65 rendered, 66 r'//www.gravatar.com/avatar/058ff74579b6a8fa1e10ab98c990e945?s=24&d=mm') 67 68 def test_render_syntax_error(self): 69 """Test that the tag requires one argument.""" 70 tmpl = """ 71 {% load gravatar_tags %} 72 {% gravatar_url %} 73 """ 74 self.assertRaises(TemplateSyntaxError, self._render_template, tmpl) 75 76 def test_render_context_error(self): 77 """Test that an empty email returns an empty string.""" 78 tmpl = """ 79 {% load gravatar_tags %} 80 {% gravatar_url email %} 81 """ 82 rendered = self._render_template(tmpl, {}) 83 self.assertEquals(rendered, '')