From 3bab582b71b13c871c94ce475336e7ce5a5a0868 Mon Sep 17 00:00:00 2001 From: Mike Scherbakov Date: Fri, 7 Sep 2012 17:44:08 +0400 Subject: [PATCH] Added dummy ClusterChangesHandler --- nailgun/api/handlers.py | 23 ++++++++++++++++++++ nailgun/api/urls.py | 2 ++ nailgun/test/test_cluster_changes_handler.py | 16 ++++++++++++++ 3 files changed, 41 insertions(+) create mode 100644 nailgun/test/test_cluster_changes_handler.py diff --git a/nailgun/api/handlers.py b/nailgun/api/handlers.py index 5d7777c7e..7652833d5 100644 --- a/nailgun/api/handlers.py +++ b/nailgun/api/handlers.py @@ -7,6 +7,7 @@ import netaddr from models import Release, Cluster, Node, Role, Network, Vlan from settings import settings +import rpc def check_client_content_type(handler): @@ -215,6 +216,28 @@ class ClusterCollectionHandler(JSONHandler): )) +class ClusterChangesHandler(JSONHandler): + fields = ( + "id", + "name", + ) + + def PUT(self, cluster_id): + web.header('Content-Type', 'application/json') + q = web.ctx.orm.query(Cluster).filter(Cluster.id == cluster_id) + cluster = q.first() + if not cluster: + return web.notfound() + + message = {"method": "deploy", "args": {"var1": "Hello from nailgun"}} + rpc.cast('mcollective', message) + + return json.dumps( + self.render(cluster), + indent=4 + ) + + class ReleaseHandler(JSONHandler): fields = ( "id", diff --git a/nailgun/api/urls.py b/nailgun/api/urls.py index c86bc3bdc..4b65389ce 100644 --- a/nailgun/api/urls.py +++ b/nailgun/api/urls.py @@ -3,6 +3,7 @@ import web from api.handlers import ClusterHandler, ClusterCollectionHandler +from api.handlers import ClusterChangesHandler from api.handlers import ReleaseHandler, ReleaseCollectionHandler from api.handlers import NodeHandler, NodeCollectionHandler from api.handlers import RoleHandler, RoleCollectionHandler @@ -13,6 +14,7 @@ urls = ( r'/releases/(?P\d+)/?$', 'ReleaseHandler', r'/clusters/?$', 'ClusterCollectionHandler', r'/clusters/(?P\d+)/?$', 'ClusterHandler', + r'/clusters/(?P\d+)/changes/?$', 'ClusterChangesHandler', r'/nodes/?$', 'NodeCollectionHandler', r'/nodes/(?P\d+)/?$', 'NodeHandler', r'/roles/?$', 'RoleCollectionHandler', diff --git a/nailgun/test/test_cluster_changes_handler.py b/nailgun/test/test_cluster_changes_handler.py new file mode 100644 index 000000000..b9322d6bc --- /dev/null +++ b/nailgun/test/test_cluster_changes_handler.py @@ -0,0 +1,16 @@ +import json + +from base import BaseHandlers +from base import reverse + + +class TestClusterChangesHandler(BaseHandlers): + def test_cluster_starts_deploy(self): + cluster = self.create_default_cluster() + resp = self.app.put( + reverse( + 'ClusterChangesHandler', + kwargs={'cluster_id': cluster.id}), + headers=self.default_headers + ) + self.assertEquals(200, resp.status)