servers = [s if len(s.rsplit(':', 1)) == 2
else "%s:%d" % (s, default_port)
for s in servers]
- if any((len(spl) != 2)for spl in [sp.rsplit(':', 1)
- for sp in servers]):
+ if any((len(spl) != 2 or not spl[1].isdigit())
+ for spl in [sp.rsplit(':', 1)
+ for sp in servers]):
raise cfg.Error(_('Servers must be defined as <ip>:<port>. '
'Configuration was %s') % servers)
self.servers = [
--- /dev/null
+# Copyright 2014 Big Switch Networks, Inc. All rights reserved.
+#
+# 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.
+#
+# @author: Kevin Benton, kevin.benton@bigswitch.com
+#
+from oslo.config import cfg
+
+from neutron.plugins.bigswitch import servermanager
+from neutron.tests.unit.bigswitch import test_restproxy_plugin as test_rp
+
+
+class ServerManagerTests(test_rp.BigSwitchProxyPluginV2TestCase):
+
+ def test_no_servers(self):
+ cfg.CONF.set_override('servers', [], 'RESTPROXY')
+ self.assertRaises(cfg.Error, servermanager.ServerPool)
+
+ def test_malformed_servers(self):
+ cfg.CONF.set_override('servers', ['a:b:c'], 'RESTPROXY')
+ self.assertRaises(cfg.Error, servermanager.ServerPool)