charm-interface-ovsdb/unit_tests/test_ovsdb_cms_provides.py
Frode Nordahl f5580e571d
ovsdb-cms: Provide client bound address on relation
Change-Id: I10b34f8a7517c956c4bbdab9252f323072bbc19d
2019-11-11 12:03:52 +01:00

53 lines
1.6 KiB
Python

# Copyright 2019 Canonical Ltd
#
# 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 mock
from ovsdb_cms import provides
import charms_openstack.test_utils as test_utils
_hook_args = {}
class TestOVSDBCMSProvides(test_utils.PatchHelper):
def setUp(self):
super().setUp()
self.target = provides.OVSDBCMSProvides('some-relation', [])
self._patches = {}
self._patches_start = {}
def tearDown(self):
self.target = None
for k, v in self._patches.items():
v.stop()
setattr(self, k, None)
self._patches = None
self._patches_start = None
def patch_target(self, attr, return_value=None):
mocked = mock.patch.object(self.target, attr)
self._patches[attr] = mocked
started = mocked.start()
started.return_value = return_value
self._patches_start[attr] = started
setattr(self, attr, started)
def test_client_remote_addrs(self):
self.patch_target('_remote_addrs')
self.target.client_remote_addrs
self._remote_addrs.assert_called_once_with('cms-client-bound-address')