Beispiel #1
0
 def test_setup_with_lbaas(self, mock_clients, mock_utils, mock_wrap):
     mock_utils.iterate_per_tenants.return_value = [
         ("foo_user", "foo_tenant"),
         ("bar_user", "bar_tenant")]
     foo_net = {"id": "foo_net",
                "tenant_id": "foo_tenant",
                "subnets": ["foo_subnet"],
                "lb_pools": [{"pool": {"id": "foo_pool",
                                       "tenant_id": "foo_tenant"}}]}
     bar_net = {"id": "bar_net",
                "tenant_id": "bar_tenant",
                "subnets": ["bar_subnet"],
                "lb_pools": [{"pool": {"id": "bar_pool",
                                       "tenant_id": "bar_tenant"}}]}
     expected_net = [bar_net, foo_net]
     mock_create = mock.Mock(
         side_effect=lambda t, s,
         **kw: {"pool": {"id": str(t.split("_")[0]) + "_pool",
                         "tenant_id": t}})
     actual_net = []
     mock_wrap.return_value = mock.Mock(create_v1_pool=mock_create)
     net_wrapper = mock_wrap(mock_clients.return_value)
     net_wrapper.supports_extension.return_value = (True, None)
     fake_args = {"lbaas_version": 1}
     lb_context = lbaas_context.Lbaas(self.get_context(**fake_args))
     lb_context.setup()
     mock_utils.iterate_per_tenants.assert_called_once_with(
         lb_context.context["users"])
     net_wrapper.supports_extension.assert_called_once_with("lbaas")
     for tenant_id, tenant_ctx in (
             sorted(lb_context.context["tenants"].items())):
         for network in tenant_ctx["networks"]:
             actual_net.append(network)
     self.assertEqual(expected_net, actual_net)
 def test__init__default(self, mock_wrap, mock_clients):
     context = lbaas_context.Lbaas(self.get_context())
     self.assertEqual(
         context.config["pool"]["lb_method"],
         lbaas_context.Lbaas.DEFAULT_CONFIG["pool"]["lb_method"])
     self.assertEqual(
         context.config["pool"]["protocol"],
         lbaas_context.Lbaas.DEFAULT_CONFIG["pool"]["protocol"])
     self.assertEqual(context.config["lbaas_version"],
                      lbaas_context.Lbaas.DEFAULT_CONFIG["lbaas_version"])
Beispiel #3
0
 def test_setup_with_lbaas_version_not_one(self, mock_clients,
                                           mock_utils, mock_wrap):
     mock_utils.iterate_per_tenants.return_value = [
         ("bar_user", "bar_tenant")]
     mock_create = mock.Mock(side_effect=lambda t, **kw: t + "-net")
     mock_wrap.return_value = mock.Mock(create_v1_pool=mock_create)
     fake_args = {"lbaas_version": 2}
     lb_context = lbaas_context.Lbaas(self.get_context(**fake_args))
     net_wrapper = mock_wrap(mock_clients.return_value)
     net_wrapper.supports_extension.return_value = (True, None)
     self.assertRaises(NotImplementedError, lb_context.setup)
Beispiel #4
0
 def test_cleanup_lbaas_version_not_one(self, mock_wrap, mock_clients):
     fakeargs = {"lbaas_version": 2}
     net_wrapper = mock_wrap(mock_clients.return_value)
     lb_context = lbaas_context.Lbaas(self.get_context(**fakeargs))
     for tenant_id, tenant_ctx in lb_context.context["tenants"].items():
         resultant_pool = {"pool": {
             "id": str(tenant_id.split("_")[0]) + "_pool"}}
         for network in (
                 lb_context.context["tenants"][tenant_id]["networks"]):
             network.setdefault("lb_pools", []).append(resultant_pool)
     lb_context.cleanup()
     assert not net_wrapper.delete_v1_pool.called
Beispiel #5
0
 def test_setup_with_no_lbaas(self, mock_clients, mock_utils, mock_wrap):
     mock_utils.iterate_per_tenants.return_value = [
         ("bar_user", "bar_tenant")]
     mock_create = mock.Mock(side_effect=lambda t, **kw: t + "-net")
     mock_wrap.return_value = mock.Mock(create_v1_pool=mock_create)
     fake_args = {"lbaas_version": 1}
     lb_context = lbaas_context.Lbaas(self.get_context(**fake_args))
     net_wrapper = mock_wrap(mock_clients.return_value)
     net_wrapper.supports_extension.return_value = (False, None)
     lb_context.setup()
     mock_utils.iterate_per_tenants.assert_not_called()
     net_wrapper.supports_extension.assert_called_once_with("lbaas")
     assert not net_wrapper.create_v1_pool.called
Beispiel #6
0
 def test_cleanup(self, mock_wrap, mock_clients):
     net_wrapper = mock_wrap(mock_clients.return_value)
     lb_context = lbaas_context.Lbaas(self.get_context())
     expected_pools = []
     for tenant_id, tenant_ctx in lb_context.context["tenants"].items():
         resultant_pool = {"pool": {
             "id": str(tenant_id.split("_")[0]) + "_pool"}}
         expected_pools.append(resultant_pool)
         for network in (
                 lb_context.context["tenants"][tenant_id]["networks"]):
             network.setdefault("lb_pools", []).append(resultant_pool)
     lb_context.cleanup()
     net_wrapper.delete_v1_pool.assert_has_calls(
         [mock.call(pool["pool"]["id"]) for pool in expected_pools])
Beispiel #7
0
 def test__init__explicit(self, mock_wrap, mock_clients):
     context = lbaas_context.Lbaas(
         self.get_context(pool={"lb_method": "LEAST_CONNECTIONS"}))
     self.assertEqual(context.config["pool"]["lb_method"],
                      "LEAST_CONNECTIONS")