示例#1
0
 def test_update_tcp(self, m_old=None, m=None):
     if m_old is None:
         m_old = fake_objs.FakeHM('TCP')
     if m is None:
         m = fake_objs.FakeHM('TCP')
     m.delay = 20
     self.a.hm.update(None, m_old, m)
     self.a.openstack_driver.health_monitor.successful_completion.assert_called_with(
         None, m)
     self.a.last_client.slb.hm.update.assert_called_with(
         'fake-hm-id-001', self.a.last_client.slb.hm.TCP, 20, 7, 8,
         method=None, url=None, expect_code=None, port=None,
         config_defaults=mock.ANY, axapi_args={})
示例#2
0
    def test_delete(self):
        members = [[], [fake_objs.FakeMember()]]
        hms = [None, fake_objs.FakeHM('PING')]
        persistences = [None, 'SOURCE_IP', 'HTTP_COOKIE']
        listeners = [False, True]

        for m in members:
            for hm in hms:
                for pers in persistences:
                    for lst in listeners:
                        self.a.reset_mocks()

                        pool = fake_objs.FakePool('TCP',
                                                  'ROUND_ROBIN',
                                                  pers,
                                                  lst,
                                                  members=m,
                                                  hm=hm)
                        self.a.pool.neutron.member_count.return_value = 1
                        self.a.pool.delete(None, pool)

                        self.print_mocks()

                        (self.a.last_client.slb.service_group.delete.
                         assert_called_with(pool.id))

                        if pers == 'SOURCE_IP':
                            (self.a.last_client.slb.template.
                             src_ip_persistence.delete.assert_called_with(
                                 pool.id))
                        elif pers == 'HTTP_COOKIE':
                            (self.a.last_client.slb.template.
                             cookie_persistence.delete.assert_called_with(
                                 pool.id))
示例#3
0
 def test_delete(self):
     m = fake_objs.FakeHM('HTTP')
     self.a.hm.tenant_id = "tenant-id"
     self.a.hm.delete(None, m)
     self.a.openstack_driver.health_monitor.successful_completion.assert_called_with(
         None, m, delete=True)
     self.a.last_client.slb.hm.delete.assert_called_with('fake-hm-id-001')
示例#4
0
 def test_delete_with_pool(self):
     m = fake_objs.FakeHM('TCP', pool=mock.MagicMock())
     self.a.hm.delete(None, m)
     self.a.openstack_driver.health_monitor.successful_completion.assert_called_with(
         None, m, delete=True)
     self.a.last_client.slb.service_group.update.assert_called_with(
         m.pool.id, health_monitor='', health_check_disable=True)
     self.a.last_client.slb.hm.delete.assert_called_with('fake-hm-id-001')
示例#5
0
    def test_create_noname_noexception(self):
        self.a.config.get_monitor_expressions = self._get_expressions_mock
        expressions = self.a.config.get_monitor_expressions()
        expected = expressions.get(self.EXPR_BEGIN, {}).get("json", None) or ""

        m = fake_objs.FakeHM('HTTPS')
        m.name = None
        handler = self.a.hm
        handler.create(None, m)

        s = str(self.a.last_client.mock_calls)
        self.assertIn("hm.create", s)
        self.assertNotIn(str(expected), s)
示例#6
0
    def _test_create_expressions(self, os_name, pattern, expressions=None):
        self.a.config.get_monitor_expressions = self._get_expressions_mock
        expressions = expressions or self.a.config.get_monitor_expressions()
        expected = expressions.get(pattern, {}).get("json", None) or ""

        m = fake_objs.FakeHM('HTTPS')
        m.name = os_name

        handler = self.a.hm
        handler.create(None, m)

        s = str(self.a.last_client.mock_calls)
        self.assertIn("hm.create", s)
        self.assertIn(str(expected), s)
示例#7
0
 def test_update_tcp_delete_pool(self):
     m_old = fake_objs.FakeHM('TCP', pool=mock.MagicMock())
     self.test_update_tcp(m_old=m_old)
     self.print_mocks()
     self.a.last_client.slb.service_group.update.assert_called_with(
         m_old.pool.id, health_monitor='', health_check_disable=True)
示例#8
0
 def test_update_tcp_add_pool(self):
     m = fake_objs.FakeHM('TCP', pool=mock.MagicMock())
     self.test_update_tcp(m=m)
     self.print_mocks()
     self.a.last_client.slb.service_group.update.assert_called_with(
         m.pool.id, health_monitor='fake-hm-id-001', health_check_disable=False)
示例#9
0
 def test_create_http_with_pool(self):
     m = fake_objs.FakeHM('HTTP', pool=mock.MagicMock())
     self.a.hm.create(None, m)
     self.assert_hm(m, self.a.last_client.slb.hm.HTTP, 'GET', '/', '200', mock.ANY)
     self.a.last_client.slb.service_group.update.assert_called_with(
         m.pool.id, health_monitor='fake-hm-id-001', health_check_disable=False)
示例#10
0
 def test_create_https(self):
     m = fake_objs.FakeHM('HTTPS')
     self.a.hm.create(None, m)
     self.assert_hm(m, self.a.last_client.slb.hm.HTTPS, 'GET', '/', '200', mock.ANY)
示例#11
0
 def test_create_tcp(self):
     m = fake_objs.FakeHM('TCP')
     self.a.hm.create(None, m)
     self.print_mocks()
     self.assert_hm(m, self.a.last_client.slb.hm.TCP, None, None, None, mock.ANY)
示例#12
0
 def test_create_ping(self):
     m = fake_objs.FakeHM('PING')
     self.a.hm.create(None, m)
     self.assert_hm(m, self.a.last_client.slb.hm.ICMP, None, None, None, mock.ANY)