diff options
author | Zuul <zuul@review.opendev.org> | 2022-07-15 03:18:17 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2022-07-15 03:18:17 +0000 |
commit | 9a43b91cf3c8830f2da501e3870489226166f384 (patch) | |
tree | d7d92083a4a105df274af18b139a42443b00aeb0 | |
parent | 759da10211c1e4a8bcade9e3c55ef618affd5aad (diff) | |
parent | 463e1fda30e9cbe8cc2eda6b3f230c0975942996 (diff) | |
download | designate-9a43b91cf3c8830f2da501e3870489226166f384.tar.gz |
Merge "Added basic service unit tests"
-rw-r--r-- | designate/service.py | 3 | ||||
-rw-r--r-- | designate/tests/unit/test_service.py | 91 |
2 files changed, 91 insertions, 3 deletions
diff --git a/designate/service.py b/designate/service.py index 6971fb04..ce84cbdb 100644 --- a/designate/service.py +++ b/designate/service.py @@ -81,9 +81,6 @@ class RPCService(Service): self.rpc_server = None self.rpc_topic = rpc_topic - def override_endpoints(self, endpoints): - self.endpoints = endpoints - def start(self): super(RPCService, self).start() target = messaging.Target(topic=self.rpc_topic, server=self.host) diff --git a/designate/tests/unit/test_service.py b/designate/tests/unit/test_service.py new file mode 100644 index 00000000..6590ca29 --- /dev/null +++ b/designate/tests/unit/test_service.py @@ -0,0 +1,91 @@ +# 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. +from unittest import mock + +import oslotest.base + +from designate.common import profiler +from designate import policy +from designate import rpc +from designate import service as designate_service + + +@mock.patch.object(policy, 'init') +@mock.patch.object(rpc, 'init') +@mock.patch.object(profiler, 'setup_profiler') +class TestDesignateServiceInit(oslotest.base.BaseTestCase): + def test_service_init(self, mock_setup_profiler, mock_rpc_init, + mock_policy_init): + service = designate_service.Service('test-service') + + mock_policy_init.assert_called_once() + mock_rpc_init.assert_called_once() + mock_setup_profiler.assert_called_once() + + self.assertEqual('test-service', service.name) + + def test_rpc_service_init(self, mock_setup_profiler, mock_rpc_init, + mock_policy_init): + service = designate_service.RPCService( + 'test-rpc-service', 'test-topic' + ) + + mock_policy_init.assert_called_once() + mock_rpc_init.assert_called_once() + mock_setup_profiler.assert_called_once() + + self.assertEqual([service], service.endpoints) + self.assertEqual('test-topic', service.rpc_topic) + self.assertEqual('test-rpc-service', service.name) + + +class TestDesignateRpcService(oslotest.base.BaseTestCase): + @mock.patch.object(policy, 'init') + @mock.patch.object(rpc, 'init') + @mock.patch.object(profiler, 'setup_profiler') + def setUp(self, mock_setup_profiler, mock_rpc_init, + mock_policy_init): + super(TestDesignateRpcService, self).setUp() + self.service = designate_service.RPCService( + 'test-rpc-service', 'test-topic' + ) + + mock_policy_init.assert_called_once() + mock_rpc_init.assert_called_once() + mock_setup_profiler.assert_called_once() + + @mock.patch.object(rpc, 'get_server') + @mock.patch.object(rpc, 'get_notifier') + def test_rpc_service_start(self, mock_rpc_get_server, + mock_rpc_get_notifier): + self.assertIsNone(self.service.start()) + + mock_rpc_get_server.assert_called_once() + mock_rpc_get_notifier.assert_called_once() + + self.service.rpc_server.start.assert_called_once() + + @mock.patch.object(rpc, 'get_server') + @mock.patch.object(rpc, 'get_notifier') + def test_rpc_service_stop(self, mock_rpc_get_server, + mock_rpc_get_notifier): + self.assertIsNone(self.service.start()) + + mock_rpc_get_server.assert_called_once() + mock_rpc_get_notifier.assert_called_once() + + self.assertIsNone(self.service.stop()) + + self.service.rpc_server.stop.assert_called_once() + + def test_rpc_service_wait(self): + self.assertIsNone(self.service.wait()) |