Skip to content

Commit

Permalink
fix: correções dos testes automatizados que usam rest (#777)
Browse files Browse the repository at this point in the history
  • Loading branch information
mrglaydson authored Jan 17, 2025
1 parent c124d1f commit f584e68
Show file tree
Hide file tree
Showing 9 changed files with 742 additions and 401 deletions.
6 changes: 3 additions & 3 deletions src/config/ConfiguracaoModPEN.php
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,9 @@ public function getArrConfiguracoes()
"PEN" => array(
// Endereço do Web Service principal de integração com o Barramento de Serviços do PEN
// Os endereços disponíveis são os seguintes (verifique se houve atualizações durante o procedimento de instalação):
// - Homologação: https://homolog.api.processoeletronico.gov.br/interoperabilidade/soap/v3/
// - Produção: https://api.conectagov.processoeletronico.gov.br/interoperabilidade/soap/v3/
"WebService" => "https://homolog.api.processoeletronico.gov.br/interoperabilidade/soap/v3/",
// - Homologação: https://homolog.api.processoeletronico.gov.br/interoperabilidade/rest/v3/
// - Produção: https://api.conectagov.processoeletronico.gov.br/interoperabilidade/rest/v3/
"WebService" => "https://homolog.api.processoeletronico.gov.br/interoperabilidade/rest/v3/",

// Endereço do Web Service de monitoramente de pendências de trâmite no Barramento de Serviços do PEN
// Configuração necessária para que o envio e recebimento de processos sejam feitas de forma dinâmica pelo sistema
Expand Down
9 changes: 6 additions & 3 deletions src/rn/ExpedirProcedimentoRN.php
Original file line number Diff line number Diff line change
Expand Up @@ -1078,6 +1078,9 @@ private function atribuirEspecieDocumentalREST($parMetaDocumento, $parDocumentoD

//Atribui espécie documental definida pelo produtor do documento e registrado no PEN, caso exista
if(count($arrMetaDocumentosAnteriorIndexado) > 0 && array_key_exists($parMetaDocumento['ordem'], $arrMetaDocumentosAnteriorIndexado)){
if (is_array($arrMetaDocumentosAnteriorIndexado[$parMetaDocumento['ordem']]->especie)) {
$arrMetaDocumentosAnteriorIndexado[$parMetaDocumento['ordem']]->especie = (object) $arrMetaDocumentosAnteriorIndexado[$parMetaDocumento['ordem']]->especie;
}
$numCodigoEspecie = $arrMetaDocumentosAnteriorIndexado[$parMetaDocumento['ordem']]->especie->codigo;
$strNomeEspecieProdutor = mb_convert_encoding($arrMetaDocumentosAnteriorIndexado[$parMetaDocumento['ordem']]->especie->nomeNoProdutor, 'UTF-8', 'ISO-8859-1');
}
Expand Down Expand Up @@ -1447,12 +1450,12 @@ private function obterDadosArquivo(DocumentoDTO $objDocumentoDTO, $paramStrStaAs
} else {
$strCaminhoAnexo = $this->objAnexoRN->obterLocalizacao($objAnexoDTO);
$strNomeComponenteDigital = $objAnexoDTO->getStrNome();
}
}

$strConteudoAssinatura = null;

$nrTamanhoBytesArquivo = filesize($strCaminhoAnexo);
list($strDadosComplementares, $strMimeType) = $this->obterDadosComplementaresDoTipoDeArquivo($strCaminhoAnexo, $this->arrPenMimeTypes, $strProtocoloDocumentoFormatado);
$nrTamanhoBytesArquivo = filesize($strCaminhoAnexo);
list($strDadosComplementares, $strMimeType) = $this->obterDadosComplementaresDoTipoDeArquivo($strCaminhoAnexo, $this->arrPenMimeTypes, $strProtocoloDocumentoFormatado);

$objInformacaoArquivo['NOME'] = $strNomeComponenteDigital;
$objInformacaoArquivo['CONTEUDO'] = $strConteudoAssinatura;
Expand Down
49 changes: 35 additions & 14 deletions src/rn/ProcessoEletronicoRN.php
Original file line number Diff line number Diff line change
Expand Up @@ -1529,12 +1529,17 @@ public static function getHashFromMetaDadosREST($objMeta)

private function montarDadosMaisDeUmComponenteDigital($objDocumento, $parStrNumeroRegistro, $parNumIdentificacaoTramite, $parObjProtocolo, $parObjComponentesDigitaisSolicitados)
{
$arrayComponentesDigitais = $objDocumento->componenteDigital;
$arrayComponentesDigitais = $objDocumento->componentesDigitais;
$arrObjComponenteDigitalDTO = array();
$arrayTeste = array();
$contComponentes = 0;

foreach ($arrayComponentesDigitais as $indice => $objComponenteDigital){

if (is_array($objComponenteDigital)) {
$objComponenteDigital = (object) $objComponenteDigital;
}

$contComponentes++;
$objComponenteDigitalDTO = new ComponenteDigitalDTO();
$objComponenteDigitalDTO->setStrNumeroRegistro($parStrNumeroRegistro);
Expand All @@ -1553,8 +1558,8 @@ private function montarDadosMaisDeUmComponenteDigital($objDocumento, $parStrNume
}


$objComponenteDigitalDTO->setStrNome($objComponenteDigital->nome);
$strHashConteudo = static::getHashFromMetaDados($objComponenteDigital->hash);
$objComponenteDigitalDTO->setStrNome($objComponenteDigital->nome);
$strHashConteudo = static::getHashFromMetaDados($objComponenteDigital->hash);

$objComponenteDigitalDTO->setStrHashConteudo($strHashConteudo);
$objComponenteDigitalDTO->setStrAlgoritmoHash(self::ALGORITMO_HASH_DOCUMENTO);
Expand All @@ -1563,19 +1568,18 @@ private function montarDadosMaisDeUmComponenteDigital($objDocumento, $parStrNume
$objComponenteDigitalDTO->setStrDadosComplementares($objComponenteDigital->dadosComplementaresDoTipoDeArquivo);

//Registrar componente digital necessita ser enviado pelo trâmite específico //TODO: Teste $parObjComponentesDigitaisSolicitados aqui
if(isset($parObjComponentesDigitaisSolicitados)){
$arrObjItensSolicitados = is_array($parObjComponentesDigitaisSolicitados->processo) ? $parObjComponentesDigitaisSolicitados->processo : array($parObjComponentesDigitaisSolicitados->processo);

foreach ($arrObjItensSolicitados as $objItemSolicitado) {
if(!is_null($objItemSolicitado)){
$objItemSolicitado->hash = is_array($objItemSolicitado->hash) ? $objItemSolicitado->hash : array($objItemSolicitado->hash);

if($objItemSolicitado->protocolo == $objComponenteDigitalDTO->getStrProtocolo() && in_array($strHashConteudo, $objItemSolicitado->hash) && !$objDocumento->retirado) {
$objComponenteDigitalDTO->setStrSinEnviar("S");
if(isset($parObjComponentesDigitaisSolicitados)) {
$arrObjItensSolicitados = isset($parObjComponentesDigitaisSolicitados) ? $parObjComponentesDigitaisSolicitados : array($parObjComponentesDigitaisSolicitados);
foreach ($arrObjItensSolicitados as $objItemSolicitado) {
if(!is_null($objItemSolicitado)){
$objItemSolicitado['hashes'] = is_array($objItemSolicitado['hashes']) ? $objItemSolicitado['hashes'] : array($objItemSolicitado['hashes']);

if($objItemSolicitado['protocolo'] == $objComponenteDigitalDTO->getStrProtocolo() && in_array($strHashConteudo, $objItemSolicitado['hashes']) && !$objDocumento->retirado) {
$objComponenteDigitalDTO->setStrSinEnviar("S");
}
}
}
}
}

//TODO: Avaliar dados do tamanho do documento em bytes salvo na base de dados
$objComponenteDigitalDTO->setNumTamanho($objComponenteDigital->tamanhoEmBytes);
Expand Down Expand Up @@ -1649,7 +1653,7 @@ private function montarDadosComponenteDigital($parStrNumeroRegistro, $parNumIden

//Registrar componente digital necessita ser enviado pelo trâmite específico //TODO: Teste $parObjComponentesDigitaisSolicitados aqui
if(isset($parObjComponentesDigitaisSolicitados)){
$arrObjItensSolicitados = is_array($parObjComponentesDigitaisSolicitados) ? $parObjComponentesDigitaisSolicitados : array($parObjComponentesDigitaisSolicitados);
$arrObjItensSolicitados = isset($parObjComponentesDigitaisSolicitados) ? $parObjComponentesDigitaisSolicitados : array($parObjComponentesDigitaisSolicitados);
foreach ($arrObjItensSolicitados as $objItemSolicitado) {
if(!is_null($objItemSolicitado)){
$objItemSolicitado['hashes'] = is_array($objItemSolicitado['hashes']) ? $objItemSolicitado['hashes'] : array($objItemSolicitado['hashes']);
Expand Down Expand Up @@ -2333,13 +2337,30 @@ public static function comparacaoOrdemAjustadaDocumentos($parDocumento1, $parDoc

public static function comparacaoOrdemDocumentos($parDocumento1, $parDocumento2)
{

if (is_array($parDocumento1)) {
$parDocumento1 = (object) $parDocumento1;
}

if (is_array($parDocumento2)) {
$parDocumento2 = (object) $parDocumento2;
}

$numOrdemDocumento1 = intval($parDocumento1->ordem);
$numOrdemDocumento2 = intval($parDocumento2->ordem);
return $numOrdemDocumento1 - $numOrdemDocumento2;
}

public static function comparacaoOrdemComponenteDigitais($parComponenteDigital1, $parComponenteDigital2)
{
if (is_array($parComponenteDigital1)) {
$parComponenteDigital1 = (object) $parComponenteDigital1;
}

if (is_array($parComponenteDigital2)) {
$parComponenteDigital2 = (object) $parComponenteDigital2;
}

$numOrdemComponenteDigital1 = intval($parComponenteDigital1->ordem);
$numOrdemComponenteDigital2 = intval($parComponenteDigital2->ordem);
return $numOrdemComponenteDigital1 - $numOrdemComponenteDigital2;
Expand Down
6 changes: 5 additions & 1 deletion src/rn/ReceberProcedimentoRN.php
Original file line number Diff line number Diff line change
Expand Up @@ -2962,10 +2962,14 @@ private static function validaTamanhoMaximoAnexo($nomeArquivo, $nrTamanhMegaByte

private function atribuirTipoProcedimentoRelacinado($numIdTipoProcedimento, $numIdProcedimento, $strProcessoNegocio) {

$origem = null;
if (isset($this->destinatarioReal->numeroDeIdentificacaoDaEstrutura) && !empty($this->destinatarioReal->numeroDeIdentificacaoDaEstrutura)) {
$origem = $this->destinatarioReal->numeroDeIdentificacaoDaEstrutura;
}
$objAtributoAndamentoDTOAnterior = new AtributoAndamentoDTO();
$objAtributoAndamentoDTOAnterior->setStrNome('TIPO_PROCESSO_ANTERIOR');
$objAtributoAndamentoDTOAnterior->setStrValor($strProcessoNegocio);
$objAtributoAndamentoDTOAnterior->setStrIdOrigem($this->destinatarioReal->numeroDeIdentificacaoDaEstrutura);
$objAtributoAndamentoDTOAnterior->setStrIdOrigem($origem );
$arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTOAnterior;

$objTipoProcedimentoRN = new TipoProcedimentoRN();
Expand Down
Loading

0 comments on commit f584e68

Please sign in to comment.