Coverage for tests/tests_templates_utils.py : 100%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1import unittest
3from webapp import template_utils
6class TemplateUtilsTest(unittest.TestCase):
7 def test_generate_slug(self):
8 result = template_utils.generate_slug("/snaps")
9 self.assertEqual(result, "account")
11 result = template_utils.generate_slug("/listing")
12 self.assertEqual(result, "account")
14 result = template_utils.generate_slug("/releases")
15 self.assertEqual(result, "account")
17 result = template_utils.generate_slug("/publicise")
18 self.assertEqual(result, "account")
20 result = template_utils.generate_slug("/publicise/badges")
21 self.assertEqual(result, "account")
23 result = template_utils.generate_slug("/publicise/cards")
24 self.assertEqual(result, "account")
26 result = template_utils.generate_slug("/settings")
27 self.assertEqual(result, "account")
29 result = template_utils.generate_slug("/account/details")
30 self.assertEqual(result, "account")
32 result = template_utils.generate_slug("/")
33 self.assertEqual(result, "home")
35 result = template_utils.generate_slug("/first-snap")
36 self.assertEqual(result, "home")
38 result = template_utils.generate_slug("/build")
39 self.assertEqual(result, "build")
41 result = template_utils.generate_slug("/blog")
42 self.assertEqual(result, "blog")
44 result = template_utils.generate_slug("/iot")
45 self.assertEqual(result, "iot")
47 result = template_utils.generate_slug("/any-route")
48 self.assertEqual(result, "store")
50 def test_contains(self):
51 result = template_utils.contains(["item1", "item2"], "item1")
52 self.assertTrue(result)
54 result = template_utils.contains(["item1", "item2"], "item3")
55 self.assertFalse(result)
57 def test_format_number(self):
58 result = template_utils.format_number(1)
59 self.assertTrue(isinstance(result, str))
61 result = template_utils.format_number(10000)
62 self.assertTrue(result, "10,000")
64 def test_install_snippet(self):
65 result = template_utils.install_snippet(
66 "spotify", "latest", "stable", ""
67 )
68 self.assertTrue(result, "sudo snap install spotify")
70 def test_install_snippet_with_classic(self):
71 result = template_utils.install_snippet(
72 "skype", "latest", "stable", "classic"
73 )
74 self.assertTrue(result, "sudo snap install skype --classic")
76 def test_install_snippet_with_non_stable_risk_level(self):
77 result = template_utils.install_snippet("test", "latest", "edge", "")
78 self.assertTrue(result, "sudo snap install test --edge")
80 def test_display_name(self):
81 result = template_utils.display_name("Toto", "toto")
82 self.assertEqual(result, "Toto")
84 result = template_utils.display_name("Toto", "username")
85 self.assertEqual(result, "Toto (username)")
87 def test_join(self):
88 result = template_utils.join(["item1", "item2"], "-")
89 self.assertEqual(result, "item1-item2")
91 def test_static_url_no_file(self):
92 result = template_utils.static_url("url")
93 self.assertEqual(result, "/static/url")
95 def test_static_url(self):
96 result = template_utils.static_url("images/rocket.png")
97 self.assertEqual(result, "/static/images/rocket.png?v=7d7c26f")
99 def test_format_date(self):
100 result = template_utils.format_date(
101 "2019-09-02T09:27:58.930567+00:00", "%d %B %Y"
102 )
103 self.assertEqual(result, "02 September 2019")
105 def test_format_member_role(self):
106 result = template_utils.format_member_role("admin")
107 self.assertEqual(result, "admin")
109 result = template_utils.format_member_role("review")
110 self.assertEqual(result, "reviewer")
112 result = template_utils.format_member_role("view")
113 self.assertEqual(result, "viewer")
115 result = template_utils.format_member_role("access")
116 self.assertEqual(result, "publisher")
118 def test_format_link(self):
119 result = template_utils.format_link("mailto:hello@example.com")
120 self.assertEqual(result, "hello@example.com")
122 result = template_utils.format_link("https://example.com")
123 self.assertEqual(result, "example.com")
125 result = template_utils.format_link("http://example.com")
126 self.assertEqual(result, "example.com")
128 result = template_utils.format_link("https://example.com/")
129 self.assertEqual(result, "example.com")
131 result = template_utils.format_link("http://example.com/")
132 self.assertEqual(result, "example.com")
134 result = template_utils.format_link("https://example.com/path")
135 self.assertEqual(result, "example.com")
137 result = template_utils.format_link("http://example.com/path")
138 self.assertEqual(result, "example.com")
140 result = template_utils.format_link("https://example.com/path/")
141 self.assertEqual(result, "example.com")
143 result = template_utils.format_link("http://example.com/path/")
144 self.assertEqual(result, "example.com")
146 result = template_utils.format_link("https://example.com/path/path")
147 self.assertEqual(result, "example.com")
149 result = template_utils.format_link("http://example.com/path/path")
150 self.assertEqual(result, "example.com")
152 result = template_utils.format_link("https://example.com/path/path/")
153 self.assertEqual(result, "example.com")
155 result = template_utils.format_link("http://example.com/path/path/")
156 self.assertEqual(result, "example.com")
158 result = template_utils.format_link("https://example.com?foo=bar")
159 self.assertEqual(result, "example.com")
161 result = template_utils.format_link("http://example.com?foo=bar")
162 self.assertEqual(result, "example.com")
164 result = template_utils.format_link("https://example.com/?foo=bar")
165 self.assertEqual(result, "example.com")
167 result = template_utils.format_link("http://example.com/?foo=bar")
168 self.assertEqual(result, "example.com")
170 result = template_utils.format_link(
171 "https://example.com?foo=bar&bar=foo"
172 )
173 self.assertEqual(result, "example.com")
175 result = template_utils.format_link(
176 "http://example.com?foo=bar&bar=foo"
177 )
178 self.assertEqual(result, "example.com")
180 result = template_utils.format_link(
181 "https://example.com/?foo=bar&bar=foo"
182 )
183 self.assertEqual(result, "example.com")
185 result = template_utils.format_link(
186 "http://example.com/?foo=bar&bar=foo"
187 )
188 self.assertEqual(result, "example.com")
190 result = template_utils.format_link("https://example.com/path?foo=bar")
191 self.assertEqual(result, "example.com")
193 result = template_utils.format_link("http://example.com/path?foo=bar")
194 self.assertEqual(result, "example.com")
196 result = template_utils.format_link(
197 "https://example.com/path/?foo=bar"
198 )
199 self.assertEqual(result, "example.com")
201 result = template_utils.format_link("http://example.com/path/?foo=bar")
202 self.assertEqual(result, "example.com")
204 result = template_utils.format_link(
205 "https://example.com/path/path?foo=bar"
206 )
207 self.assertEqual(result, "example.com")
209 result = template_utils.format_link(
210 "http://example.com/path/path?foo=bar"
211 )
212 self.assertEqual(result, "example.com")
214 result = template_utils.format_link(
215 "https://example.com/path/path/?foo=bar"
216 )
217 self.assertEqual(result, "example.com")
219 result = template_utils.format_link(
220 "http://example.com/path/path/?foo=bar"
221 )
222 self.assertEqual(result, "example.com")
224 result = template_utils.format_link("https://example.com/path?foo=bar")
225 self.assertEqual(result, "example.com")
227 result = template_utils.format_link("http://example.com/path?foo=bar")
228 self.assertEqual(result, "example.com")
230 result = template_utils.format_link(
231 "https://example.com/path/?foo=bar"
232 )
233 self.assertEqual(result, "example.com")
235 result = template_utils.format_link(
236 "http://example.com/path/?foo=bar&bar=foo"
237 )
238 self.assertEqual(result, "example.com")
240 result = template_utils.format_link(
241 "https://example.com/path/path?foo=bar&bar=foo"
242 )
243 self.assertEqual(result, "example.com")
245 result = template_utils.format_link(
246 "http://example.com/path/path?foo=bar&bar=foo"
247 )
248 self.assertEqual(result, "example.com")
250 result = template_utils.format_link(
251 "https://example.com/path/path/?foo=bar&bar=foo"
252 )
253 self.assertEqual(result, "example.com")
255 result = template_utils.format_link(
256 "http://example.com/path/path/?foo=bar&bar=foo"
257 )
258 self.assertEqual(result, "example.com")
260 for domain in [
261 "github.com",
262 "gitlab.com",
263 "bitbucket.org",
264 "launchpad.net",
265 "sourceforge.net",
266 ]:
267 result = template_utils.format_link(f"https://{domain}/test/test")
268 self.assertEqual(result, f"{domain}/test/test")
270 result = template_utils.format_link(
271 f"http://{domain}/test/test?foo=bar"
272 )
273 self.assertEqual(result, f"{domain}/test/test")
275 result = template_utils.format_link(f"http://{domain}/test/test")
276 self.assertEqual(result, f"{domain}/test/test")
278 result = template_utils.format_link(
279 f"http://{domain}/test/test?foo=bar"
280 )
281 self.assertEqual(result, f"{domain}/test/test")