From cce1f93b60f9e86b69de5a60695831c9ba814331 Mon Sep 17 00:00:00 2001 From: Mike Scherbakov Date: Mon, 28 May 2012 20:01:54 +0400 Subject: [PATCH] Created test for config handler --- .gitignore | 3 +++ nailgun/nailgun/api/handlers.py | 2 +- nailgun/nailgun/settings.py | 2 +- nailgun/nailgun/testrunner.py | 6 ++++++ nailgun/nailgun/tests/test_handlers.py | 12 +++++++----- 5 files changed, 18 insertions(+), 7 deletions(-) create mode 100644 nailgun/nailgun/testrunner.py diff --git a/.gitignore b/.gitignore index 9bfde8a4fc..66e2332575 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,6 @@ # Vagrant housekeeping file /.vagrant + +# artifact from config handler +test.server.com.json diff --git a/nailgun/nailgun/api/handlers.py b/nailgun/nailgun/api/handlers.py index 631dc3d657..2eb1638dca 100644 --- a/nailgun/nailgun/api/handlers.py +++ b/nailgun/nailgun/api/handlers.py @@ -46,7 +46,7 @@ class ConfigHandler(BaseHandler): def create(self, request, environment_id): task = create_chef_config.delay(environment_id) - response = rc.ACCEPTED + response = rc.ALL_OK response.content = TaskHandler.render_task(task) return response diff --git a/nailgun/nailgun/settings.py b/nailgun/nailgun/settings.py index a21973fe5e..598e5f100d 100644 --- a/nailgun/nailgun/settings.py +++ b/nailgun/nailgun/settings.py @@ -128,7 +128,7 @@ INSTALLED_APPS = ( # 'django.contrib.admindocs', ) -TEST_RUNNER = 'django_nose.NoseTestSuiteRunner' +TEST_RUNNER = 'nailgun.testrunner.MyRunner' # A sample logging configuration. The only tangible logging # performed by this configuration is to send an email to diff --git a/nailgun/nailgun/testrunner.py b/nailgun/nailgun/testrunner.py new file mode 100644 index 0000000000..c5648d8d66 --- /dev/null +++ b/nailgun/nailgun/testrunner.py @@ -0,0 +1,6 @@ +from django_nose import NoseTestSuiteRunner +from djcelery.contrib.test_runner import CeleryTestSuiteRunner + + +class MyRunner(NoseTestSuiteRunner, CeleryTestSuiteRunner): + pass diff --git a/nailgun/nailgun/tests/test_handlers.py b/nailgun/nailgun/tests/test_handlers.py index e09d524d30..988c0856ee 100644 --- a/nailgun/nailgun/tests/test_handlers.py +++ b/nailgun/nailgun/tests/test_handlers.py @@ -4,6 +4,7 @@ from django.test import TestCase from django.core.urlresolvers import reverse from nailgun.models import Environment, Node, Cookbook, Role +from nailgun.tasks import create_chef_config class TestHandlers(TestCase): @@ -270,8 +271,9 @@ class TestHandlers(TestCase): self.assertEquals(len(cooks_from_db), 1) self.assertEquals(cooks_from_db[0].version, cook_ver) - - #def test_jsons_created_for_chef_solo(self): - #resp = self.client.post('/api/environments/1/chef-config/') - #print resp.content - #raise + def test_jsons_created_for_chef_solo(self): + url = reverse('config_handler', kwargs={'environment_id': 1}) + resp = self.client.post(url) + self.assertEquals(resp.status_code, 200) + resp_json = json.loads(resp.content) + self.assertEquals(len(resp_json['task_id']), 36)