github.com/mundipagg/boleto-api@v0.0.0-20230620145841-3f9ec742599f/mock/caixa.go (about) 1 package mock 2 3 import ( 4 "errors" 5 "io/ioutil" 6 "strings" 7 8 "github.com/gin-gonic/gin" 9 ) 10 11 func registerBoletoCaixa(c *gin.Context) { 12 sData := ` 13 <?xml version="1.0" encoding="UTF-8"?> 14 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> 15 <soapenv:Body> 16 <manutencaocobrancabancaria:SERVICO_SAIDA xmlns:manutencaocobrancabancaria="http://caixa.gov.br/sibar/manutencao_cobranca_bancaria/boleto/externo" xmlns:sibar_base="http://caixa.gov.br/sibar"> 17 <sibar_base:HEADER> 18 <VERSAO>1.0</VERSAO> 19 <AUTENTICACAO>LvWr1op5Ayibn6jsCQ3/2bW4KwThVAlLK5ftxABlq20=</AUTENTICACAO> 20 <USUARIO_SERVICO>SGCBS01D</USUARIO_SERVICO> 21 <OPERACAO>INCLUI_BOLETO</OPERACAO> 22 <SISTEMA_ORIGEM>SIGCB</SISTEMA_ORIGEM> 23 <UNIDADE>1679</UNIDADE> 24 <DATA_HORA>20170718150257</DATA_HORA> 25 </sibar_base:HEADER> 26 <COD_RETORNO>00</COD_RETORNO> 27 <ORIGEM_RETORNO>MANUTENCAO_COBRANCA_BANCARIA</ORIGEM_RETORNO> 28 <MSG_RETORNO /> 29 <DADOS> 30 <CONTROLE_NEGOCIAL> 31 <ORIGEM_RETORNO>SIGCB</ORIGEM_RETORNO> 32 <COD_RETORNO>0</COD_RETORNO> 33 <MENSAGENS> 34 <RETORNO>(0) OPERACAO EFETUADA</RETORNO> 35 </MENSAGENS> 36 </CONTROLE_NEGOCIAL> 37 <INCLUI_BOLETO> 38 <CODIGO_BARRAS>10493726700000010002006561000100040992226984</CODIGO_BARRAS> 39 <LINHA_DIGITAVEL>10492006506100010004209922269841372670000001000</LINHA_DIGITAVEL> 40 <NOSSO_NUMERO>14000000099222698</NOSSO_NUMERO> 41 <URL>https://200.201.168.67:8010/ecobranca/SIGCB/imprimir/0200656/14000000099222698</URL> 42 </INCLUI_BOLETO> 43 </DADOS> 44 </manutencaocobrancabancaria:SERVICO_SAIDA> 45 </soapenv:Body> 46 </soapenv:Envelope> 47 ` 48 49 sDataErr := ` 50 <?xml version="1.0" encoding="utf-8"?> 51 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> 52 <soapenv:Body> 53 <manutencaocobrancabancaria:SERVICO_SAIDA xmlns:manutencaocobrancabancaria="http://caixa.gov.br/sibar/manutencao_cobranca_bancaria/boleto/externo" xmlns:sibar_base="http://caixa.gov.br/sibar"> 54 <sibar_base:HEADER> 55 <VERSAO>1.0</VERSAO> 56 <AUTENTICACAO>LvWr1op5Ayibn6jsCQ3/2bW4KwThVAlLK5ftxABlq201=</AUTENTICACAO> 57 <USUARIO_SERVICO>SGCBS01D</USUARIO_SERVICO> 58 <OPERACAO>INCLUI_BOLETO</OPERACAO> 59 <SISTEMA_ORIGEM>SIGCB</SISTEMA_ORIGEM> 60 <UNIDADE>1679</UNIDADE> 61 <DATA_HORA>20170503102800</DATA_HORA> 62 </sibar_base:HEADER> 63 <COD_RETORNO>00</COD_RETORNO> 64 <ORIGEM_RETORNO>MANUTENCAO_COBRANCA_BANCARIA</ORIGEM_RETORNO> 65 <MSG_RETORNO></MSG_RETORNO> 66 <DADOS> 67 <CONTROLE_NEGOCIAL> 68 <ORIGEM_RETORNO>SIGCB</ORIGEM_RETORNO> 69 <COD_RETORNO>1</COD_RETORNO> 70 <MENSAGENS> 71 <RETORNO>(54) OPERACAO NAO PERMITIDA - HASH DIVERGENTE</RETORNO> 72 </MENSAGENS> 73 </CONTROLE_NEGOCIAL> 74 </DADOS> 75 </manutencaocobrancabancaria:SERVICO_SAIDA> 76 </soapenv:Body> 77 </soapenv:Envelope> 78 ` 79 d, _ := ioutil.ReadAll(c.Request.Body) 80 xml := string(d) 81 if strings.Contains(xml, "<VALOR>5.04</VALOR>") { 82 c.AbortWithError(504, errors.New("Teste de Erro")) 83 } else if strings.Contains(xml, "<VALOR>2.00</VALOR>") { 84 c.Data(200, "text/xml", []byte(sData)) 85 } else { 86 c.Data(200, "text/xml", []byte(sDataErr)) 87 } 88 89 }