def save_option_pool(user, type, description): '''if id: sp = OptionPool.objects.get(id=id) sp.type = type sp.description = description sp.save() else:''' sp = OptionPool(type=type, name=description) sp.save() return sp
def test_save_pool_given_fail_on_execute_limit_script_for_pool(self): self.mock_get_service_down_action_by_environment( OptionPool(name='none')) self.mock_filter_server_pool_by_identifier(None) self.mock_get_or_create_healthcheck(Healthcheck()) save_pool_mock = self.mock_save_server_pool( ScriptAlterLimitPoolException()) response = self.client.post('/api/pools/save/', self.load_pool_json('pool.json'), format='json') self.assertEquals(400, response.status_code) self.assertEquals('Failed to execute limits script for pool.', response.data.get('detail')) self.assertTrue(save_pool_mock.called)
def test_save_pool_given_pool_already_having_an_identifier_saved(self): self.mock_get_service_down_action_by_environment( OptionPool(name='none')) self.mock_filter_server_pool_by_identifier(None) self.mock_get_or_create_healthcheck(Healthcheck()) save_pool_mock = self.mock_save_server_pool( CreatedPoolIdentifierException()) response = self.client.post('/api/pools/save/', self.load_pool_json('pool.json'), format='json') self.assertEquals(400, response.status_code) self.assertEquals('Pool already created. Cannot change Identifier.', response.data.get('detail')) self.assertTrue(save_pool_mock.called)
def test_save_pool_given_fail_on_change_pool_limits(self): self.mock_get_service_down_action_by_environment( OptionPool(name='none')) self.mock_filter_server_pool_by_identifier(None) self.mock_get_or_create_healthcheck(Healthcheck()) save_pool_mock = self.mock_save_server_pool( ScriptAlterLimitPoolDiffMembersException()) response = self.client.post('/api/pools/save/', self.load_pool_json('pool.json'), format='json') self.assertEquals(400, response.status_code) self.assertEquals( 'Failed to change limits for pool. Members limit differs from pool default limit Set all members with the same default limit before changing default pool limit.', response.data.get('detail')) self.assertTrue(save_pool_mock.called)
def test_save_pool_given_pool_associated_with_one_or_more_vips(self): self.mock_get_service_down_action_by_environment( OptionPool(name='none')) self.mock_filter_server_pool_by_identifier(None) self.mock_get_or_create_healthcheck(Healthcheck()) save_pool_mock = self.mock_save_server_pool( UpdateEnvironmentVIPException()) response = self.client.post('/api/pools/save/', self.load_pool_json('pool.json'), format='json') self.assertEquals(400, response.status_code) self.assertEquals( 'Ambiente nao pode ser alterado pois o server pool esta associado com um ou mais VIP.', response.data.get('detail')) self.assertTrue(save_pool_mock.called)
def test_save_pool_given_pool_already_created_on_equipment(self): self.mock_get_service_down_action_by_environment( OptionPool(name='none')) self.mock_filter_server_pool_by_identifier(None) self.mock_get_or_create_healthcheck(Healthcheck()) save_pool_mock = self.mock_save_server_pool( UpdateEnvironmentPoolCreatedException()) response = self.client.post('/api/pools/save/', self.load_pool_json('pool.json'), format='json') self.assertEquals(400, response.status_code) self.assertEquals( 'Ambiente nao pode ser alterado pois o server pool ja esta criado no equipamento.', response.data.get('detail')) self.assertTrue(save_pool_mock.called)
def test_save_pool_given_invalid_real_data(self): self.mock_get_service_down_action_by_environment( OptionPool(name='none')) self.mock_filter_server_pool_by_identifier(None) self.mock_get_or_create_healthcheck(Healthcheck()) save_pool_mock = self.mock_save_server_pool( (self.create_server_pool_model(), None)) prepare_to_save_reals_mock = self.mock_prepare_to_save_reals( InvalidRealPoolException()) response = self.client.post( '/api/pools/save/', self.load_pool_json('pool.json'), format='json') self.assertEquals(400, response.status_code) self.assertEquals('Parametros invalidos do real.', response.data.get('detail')) self.assertTrue(save_pool_mock.called) self.assertTrue(prepare_to_save_reals_mock.called)
def test_save_pool_given_environment_not_linked_to_vip_environment(self): self.mock_get_service_down_action_by_environment( OptionPool(name='none')) self.mock_filter_server_pool_by_identifier(None) self.mock_get_or_create_healthcheck(Healthcheck()) save_pool_mock = self.mock_save_server_pool( (self.create_server_pool_model(), None)) prepare_to_save_reals_mock = self.mock_prepare_to_save_reals( [self.create_real_dict()]) reals_can_associate_server_pool_mock = self.mock_reals_can_associate_server_pool( EnvironmentEnvironmentVipNotBoundedException()) response = self.client.post( '/api/pools/save/', self.load_pool_json('pool.json'), format='json') self.assertEquals(400, response.status_code) self.assertEquals( 'There is no link between environment and environment vip.', response.data.get('detail')) self.assertTrue(save_pool_mock.called) self.assertTrue(prepare_to_save_reals_mock.called) self.assertTrue(reals_can_associate_server_pool_mock.called)
def test_save_pool_given_script_error_change_pool_priority(self): self.mock_get_service_down_action_by_environment( OptionPool(name='none')) self.mock_filter_server_pool_by_identifier(None) self.mock_get_or_create_healthcheck(Healthcheck()) save_pool_mock = self.mock_save_server_pool( (self.create_server_pool_model(), None)) prepare_to_save_reals_mock = self.mock_prepare_to_save_reals( [self.create_real_dict()]) reals_can_associate_server_pool_mock = self.mock_reals_can_associate_server_pool( None) save_server_pool_member_mock = self.mock_save_server_pool_member( ScriptAlterPriorityPoolMembersException()) response = self.client.post( '/api/pools/save/', self.load_pool_json('pool.json'), format='json') self.assertEquals(400, response.status_code) self.assertEquals( 'Failed to execute priority script for pool.', response.data.get('detail')) self.assertTrue(save_pool_mock.called) self.assertTrue(prepare_to_save_reals_mock.called) self.assertTrue(reals_can_associate_server_pool_mock.called) self.assertTrue(save_server_pool_member_mock.called)