From 20c7af46756a7228e45cff9fa55f33a512d2a7e7 Mon Sep 17 00:00:00 2001 From: Vincent Fournier Date: Wed, 6 May 2015 15:39:39 -0400 Subject: [PATCH] Add tests for actions, config and status Change-Id: I6c1117af5d40897acb69045c74a3f026fc856f00 --- .../tests/v2_0/actions/test_acknowledge.py | 34 +++++++++ surveilclient/tests/v2_0/config/__init__.py | 0 surveilclient/tests/v2_0/config/test_hosts.py | 67 ++++++++++++++++++ .../tests/v2_0/config/test_services.py | 69 +++++++++++++++++++ surveilclient/tests/v2_0/status/__init__.py | 0 surveilclient/tests/v2_0/status/test_hosts.py | 34 +++++++++ .../tests/v2_0/status/test_services.py | 34 +++++++++ 7 files changed, 238 insertions(+) create mode 100644 surveilclient/tests/v2_0/actions/test_acknowledge.py create mode 100644 surveilclient/tests/v2_0/config/__init__.py create mode 100644 surveilclient/tests/v2_0/config/test_hosts.py create mode 100644 surveilclient/tests/v2_0/config/test_services.py create mode 100644 surveilclient/tests/v2_0/status/__init__.py create mode 100644 surveilclient/tests/v2_0/status/test_hosts.py create mode 100644 surveilclient/tests/v2_0/status/test_services.py diff --git a/surveilclient/tests/v2_0/actions/test_acknowledge.py b/surveilclient/tests/v2_0/actions/test_acknowledge.py new file mode 100644 index 0000000..555e1c5 --- /dev/null +++ b/surveilclient/tests/v2_0/actions/test_acknowledge.py @@ -0,0 +1,34 @@ +# Copyright 2015 - Savoir-Faire Linux inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +import httpretty + +from surveilclient.tests.v2_0 import clienttest + + +class TestAcknowledge(clienttest.ClientTest): + + @httpretty.activate + def test_create(self): + httpretty.register_uri( + httpretty.POST, "http://localhost:8080/v2/actions/acknowledge", + body='{"message": "Ack received!"}') + + self.client.actions.acknowledge.create( + host_name="somehost" + ) + self.assertEqual( + httpretty.last_request().body.decode(), + u'{"host_name": "somehost"}' + ) diff --git a/surveilclient/tests/v2_0/config/__init__.py b/surveilclient/tests/v2_0/config/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/surveilclient/tests/v2_0/config/test_hosts.py b/surveilclient/tests/v2_0/config/test_hosts.py new file mode 100644 index 0000000..cf1555f --- /dev/null +++ b/surveilclient/tests/v2_0/config/test_hosts.py @@ -0,0 +1,67 @@ +# Copyright 2015 - Savoir-Faire Linux inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +import httpretty + +from surveilclient.tests.v2_0 import clienttest + + +class TestHosts(clienttest.ClientTest): + + @httpretty.activate + def test_list(self): + httpretty.register_uri( + httpretty.GET, "http://localhost:8080/v2/config/hosts", + body='[{"host_name": "host1"}]' + ) + + hosts = self.client.config.hosts.list() + + self.assertEqual( + hosts, + [{u"host_name": u"host1"}] + ) + + @httpretty.activate + def test_create(self): + httpretty.register_uri( + httpretty.POST, "http://localhost:8080/v2/config/hosts", + body='{"host_name": "new_host"}' + ) + + self.client.config.hosts.create( + host_name="new_host" + ) + + self.assertEqual( + httpretty.last_request().body.decode(), + u'{"host_name": "new_host"}' + ) + + @httpretty.activate + def test_delete(self): + httpretty.register_uri( + httpretty.DELETE, + "http://localhost:8080/v2/config/hosts/host_name_to_delete", + body="body" + ) + + body = self.client.config.hosts.delete( + host_name="host_name_to_delete", + ) + + self.assertEqual( + body, + "body" + ) \ No newline at end of file diff --git a/surveilclient/tests/v2_0/config/test_services.py b/surveilclient/tests/v2_0/config/test_services.py new file mode 100644 index 0000000..896b20a --- /dev/null +++ b/surveilclient/tests/v2_0/config/test_services.py @@ -0,0 +1,69 @@ +# Copyright 2015 - Savoir-Faire Linux inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +import httpretty + +from surveilclient.tests.v2_0 import clienttest + + +class TestServices(clienttest.ClientTest): + + @httpretty.activate + def test_list(self): + httpretty.register_uri( + httpretty.GET, "http://localhost:8080/v2/config/services", + body='[{"service_name": "service1"}]' + ) + + services = self.client.config.services.list() + + self.assertEqual( + services, + [{"service_name": "service1"}] + ) + + @httpretty.activate + def test_create(self): + httpretty.register_uri( + httpretty.POST, "http://localhost:8080/v2/config/services", + body='{"service_name": "new_service"}' + ) + + self.client.config.services.create( + service_name="new_service" + ) + + self.assertEqual( + httpretty.last_request().body.decode(), + '{"service_name": "new_service"}' + ) + + @httpretty.activate + def test_delete(self): + httpretty.register_uri( + httpretty.DELETE, + "http://localhost:8080/v2/config/hosts/host_name/" + + "services/service_description", + body="body" + ) + + body = self.client.config.services.delete( + host_name="host_name", + service_description="service_description" + ) + + self.assertEqual( + body, + "body" + ) \ No newline at end of file diff --git a/surveilclient/tests/v2_0/status/__init__.py b/surveilclient/tests/v2_0/status/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/surveilclient/tests/v2_0/status/test_hosts.py b/surveilclient/tests/v2_0/status/test_hosts.py new file mode 100644 index 0000000..b7721fc --- /dev/null +++ b/surveilclient/tests/v2_0/status/test_hosts.py @@ -0,0 +1,34 @@ +# Copyright 2015 - Savoir-Faire Linux inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +import httpretty + +from surveilclient.tests.v2_0 import clienttest + + +class TestHosts(clienttest.ClientTest): + + @httpretty.activate + def test_list(self): + httpretty.register_uri( + httpretty.POST, "http://localhost:8080/v2/status/hosts", + body='[{"host_name": "host1"}]' + ) + + hosts = self.client.status.hosts.list() + + self.assertEqual( + hosts, + [{"host_name": "host1"}] + ) \ No newline at end of file diff --git a/surveilclient/tests/v2_0/status/test_services.py b/surveilclient/tests/v2_0/status/test_services.py new file mode 100644 index 0000000..cc5f85e --- /dev/null +++ b/surveilclient/tests/v2_0/status/test_services.py @@ -0,0 +1,34 @@ +# Copyright 2015 - Savoir-Faire Linux inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +import httpretty + +from surveilclient.tests.v2_0 import clienttest + + +class TestServices(clienttest.ClientTest): + + @httpretty.activate + def test_list(self): + httpretty.register_uri( + httpretty.POST, "http://localhost:8080/v2/status/services", + body='[{"service_name": "service1"}]' + ) + + services = self.client.status.services.list() + + self.assertEqual( + services, + [{"service_name": "service1"}] + ) \ No newline at end of file