diff options
| -rw-r--r-- | bitbake/lib/toaster/toastergui/tests.py | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/bitbake/lib/toaster/toastergui/tests.py b/bitbake/lib/toaster/toastergui/tests.py new file mode 100644 index 0000000000..8a78a41caa --- /dev/null +++ b/bitbake/lib/toaster/toastergui/tests.py | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | from django.test import TestCase | ||
| 2 | from django.core.urlresolvers import reverse | ||
| 3 | from orm.models import Project, Release, BitbakeVersion, Build | ||
| 4 | |||
| 5 | class AllProjectsViewTestCase(TestCase): | ||
| 6 | TEST_PROJECT_NAME = "test project" | ||
| 7 | |||
| 8 | def setUp(self): | ||
| 9 | bbv, created = BitbakeVersion.objects.get_or_create(name="test bbv", giturl="/tmp/", branch="master", dirpath="") | ||
| 10 | release, created = Release.objects.get_or_create(name="test release", bitbake_version = bbv) | ||
| 11 | Project.objects.create_project(name=AllProjectsViewTestCase.TEST_PROJECT_NAME, release=release) | ||
| 12 | |||
| 13 | def test_get_base_call_returns_html(self): | ||
| 14 | response = self.client.get(reverse('all-projects'), follow=True) | ||
| 15 | self.assertEqual(response.status_code, 200) | ||
| 16 | self.assertTrue(response['Content-Type'].startswith('text/html')) | ||
| 17 | self.assertTemplateUsed(response, "projects.html") | ||
| 18 | self.assertTrue(AllProjectsViewTestCase.TEST_PROJECT_NAME in response.content) | ||
| 19 | |||
| 20 | def test_get_json_call_returns_json(self): | ||
| 21 | response = self.client.get(reverse('all-projects'), {"format": "json"}, follow=True) | ||
| 22 | self.assertEqual(response.status_code, 200) | ||
| 23 | self.assertTrue(response['Content-Type'].startswith('application/json')) | ||
| 24 | try: | ||
| 25 | import json | ||
| 26 | data = json.loads(response.content) | ||
| 27 | except: | ||
| 28 | self.fail("Response %s is not json-loadable" % response.content) | ||
| 29 | |||
| 30 | self.assertTrue("list" in data) | ||
| 31 | self.assertTrue(AllProjectsViewTestCase.TEST_PROJECT_NAME in map(lambda x: x["name"], data["list"])) | ||
| 32 | self.assertTrue("id" in data["list"][0]) | ||
| 33 | self.assertTrue("xhrProjectDataTypeaheadUrl" in data["list"][0]) | ||
| 34 | self.assertTrue("projectPageUrl" in data["list"][0]) | ||
| 35 | self.assertTrue("xhrProjectEditUrl" in data["list"][0]) | ||
| 36 | self.assertTrue("projectBuildUrl" in data["list"][0]) | ||
