def test_deploy_networkipv6_configuration_with_inactive_vlan(self): self.networkv6.vlan.ativada = False self.mock_ip_get_by_blocks_and_net( Ipv6(block1='fff', block2='fff', block3='fff', block4='fff', block5='fff', block6='fff', block7='fff', block8='fff')) self.mock_find_equipamento_ipv6([Ipv6Equipament()]) self.mock_find_roteiro( EquipamentoRoteiro(roteiro=Roteiro(roteiro='roteiro'))) self.mock_template_file_read('script content') deploy_config_mock = self.mock_deploy_config('config_deployed') network_activation_mock = self.mock_networkv6_activation() vlan_activation_mock = self.mock_vlan_activation() response = deploy_networkIPv6_configuration(self.user, self.networkv6, self.equipment_list) self.assertTrue(deploy_config_mock.called) network_activation_mock.assert_called_with(self.user) vlan_activation_mock.assert_called_with(self.user) self.assertEquals({1: 'config_deployed'}, response)
def test_deploy_networkipv4_configuration_with_active_vlan(self): self.networkv4.vlan.ativada = True ipv4 = Ip(oct1=192, oct2=168, oct3=0, oct4=0) self.mock_ip_get_by_octets(ipv4) self.mock_find_equipamento_ip([IpEquipamento()]) self.mock_dhcp_relay_find([DHCPRelayIPv4(ipv4=ipv4)]) self.mock_find_roteiro( EquipamentoRoteiro(roteiro=Roteiro(roteiro='roteiro'))) self.mock_template_file_read('script content') deploy_config_mock = self.mock_deploy_config('config_deployed') network_activation_mock = self.mock_network_activation() vlan_activation_mock = self.mock_vlan_activation() response = deploy_networkIPv4_configuration(self.user, self.networkv4, self.equipment_list) self.assertTrue(deploy_config_mock.called) network_activation_mock.assert_called_with(self.user) self.assertFalse(vlan_activation_mock.called) self.assertEquals({1: 'config_deployed'}, response)
def handle_post(self, request, user, *args, **kwargs): """Treat requests POST to add Script. URL: script/ """ try: self.log.info("Add Script") # User permission if not has_perm(user, AdminPermission.SCRIPT_MANAGEMENT, AdminPermission.WRITE_OPERATION): self.log.error( u'User does not have permission to perform the operation.') raise UserNotAuthorizedError(None) # Load XML data xml_map, attrs_map = loads(request.raw_post_data) # XML data format networkapi_map = xml_map.get('networkapi') if networkapi_map is None: return self.response_error( 3, u'There is no value to the networkapi tag of XML request.' ) script_map = networkapi_map.get('script') if script_map is None: return self.response_error( 3, u'There is no value to the script tag of XML request.') # Get XML data script = script_map.get('script') id_script_type = script_map.get('id_script_type') model = script_map.get('model') description = script_map.get('description') # Valid Script if not is_valid_string_minsize( script, 3) or not is_valid_string_maxsize(script, 40): self.log.error(u'Parameter script is invalid. Value: %s', script) raise InvalidValueError(None, 'script', script) # Valid ID Script Type if not is_valid_int_greater_zero_param(id_script_type): self.log.error( u'The id_script_type parameter is not a valid value: %s.', id_script_type) raise InvalidValueError(None, 'id_script_type', id_script_type) # Valid description if not is_valid_string_minsize(description, 3) or not is_valid_string_maxsize( description, 100): self.log.error(u'Parameter description is invalid. Value: %s', description) raise InvalidValueError(None, 'description', description) # Find Script Type by ID to check if it exist script_type = TipoRoteiro.get_by_pk(id_script_type) try: Roteiro.get_by_name_script(script, id_script_type) raise RoteiroNameDuplicatedError( None, u'Já existe um roteiro com o nome %s com tipo de roteiro %s.' % (script, script_type.tipo)) except RoteiroNotFoundError: pass scr = Roteiro() # set variables scr.roteiro = script scr.tipo_roteiro = script_type scr.descricao = description modelo_list = [] try: # save Script scr.save() except Exception, e: self.log.error(u'Failed to save the Script.') raise RoteiroError(e, u'Failed to save the Script.') #associar o modelo ao roteiro try: if type(model) is unicode: item = model model = [] model.append(item) for ids in model: modelos = ModeloRoteiro() modelos.roteiro = scr modelo = Modelo().get_by_pk(int(ids)) modelos.modelo = modelo modelos.create(user) modelo_list.append(modelos.modelo) except Exception, e: raise RoteiroError(e, u"Failed to save modelo_roteiro.")