github.com/mundipagg/boleto-api@v0.0.0-20230620145841-3f9ec742599f/mock/bb.go (about)

     1  package mock
     2  
     3  import (
     4  	"io/ioutil"
     5  	"strings"
     6  
     7  	"github.com/gin-gonic/gin"
     8  )
     9  
    10  func authBB(c *gin.Context) {
    11  
    12  	const tok = `{
    13  					"access_token":"Yemfehvhs9PmpKLcJgSLzjfjSxHj4QREdKcrhHbM_oivhlYXmOIPn5j2Tp6FdZFmbIzCxVN-SdxnyoGT7cE5xg.AcQSHv1xiN0uaZ-efTafZIWPNenudJn9eU54TUAfiR0ff8RRE9thqgdRb2gm9t_uTREmOsBOz9jvQySnsPBqbfptOqz9-O_63c-LQq2ogxbu7iet-6te8V28gfjOVePnr87yIK8ueATW9ulb7jytYRYJd7CuZXF3PyD763tI2ykX-PNm2LAClqpAU-WAORQ_2OSLo5ElwPS_MgVAqvXm_n1PX0wPazW-YlwSvoYr9pYabiBAOCW4KkiZva0hRver7AMWlkP2t2M_wttG6wv1V8szty2Lb9oyGDL-cdfdit4rHFgpXp9dzG3qFS5qWxtO5tnQc3sVBBybDNINOmMlOaxKrsrNtQl5ncELy6jozyrPS-Yb3JhlvVaj3IDHq599bd30G8JMjDsGSc9wuws7Ws9tuUbOTiS-d2TaGOqTjKs.Mvco1yM5ErKRswd11TBjFYr-zX0kor4y1EDyq52M_ew874ifju5PaU-G5btc2zMhUcltTIVY1sJlTf2rqXKaPQ",
    14  					"token_type":"Bearer",
    15  					"refresh_token":"eyJhbGciOiJBMTI4S1ciLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0.4PdGzdqXluMJ67StpSmi5Ds5rWUXiLKvhYvZh_HR8DAjBt361RaGdw.Gcg48k3Omleobjs-c5J_mw.CtxZAiHOf_oA3c4uPKzgGesG6V-Y9QzFhJh8ww262jI-GQL2S6YqWe1ucrJ9oY_hrST05Y1ns7rTZJkGluDBscNtE3mIuv-WkCykHUDlor2gevZjxUApj98mJIKeFqfaeIGnXZpyeQBpPXAcCIELIjUN4CAWm99ed72DCcCWiPbO3v2smSQVLX04ESKqTbnjRyHQLiHGm8jP4PnOFIafdBrnRSfhsqIggJCZYNfIC1aRIrDnTSDiTBdx1vEruLOCFIOv9z4pqySPbImzC3Uxv9UxNDKvEa11TGoVYlnAx62_8d7pFAC8IeDwXNuaRzFklyDWZCMNtFl0pEB1bqh3mN6QdeQE2sfsoMhyif9iXqcFnUJvFAu4Oj981M_Vyh2GW7VTAvs67sw27xvCS1diJZGNLR_O09WEjn529MZGyT_4oWqmlVTb-a6dflFWwdI3DhsusgvT6pK_ja-eIXq5pw.o50PzlpZnNnks17cNsaKog","expires_in":1200
    16  				}`
    17  	c.Data(200, "text/json", []byte(tok))
    18  }
    19  
    20  func registerBoletoBB(c *gin.Context) {
    21  
    22  	sData := `
    23  		<?xml version="1.0" encoding="UTF-8"?>
    24  		<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    25  		<SOAP-ENV:Body>
    26  			<ns0:resposta xmlns:ns0="http://www.tibco.com/schemas/bws_registro_cbr/Recursos/XSD/Schema.xsd">
    27  				<ns0:siglaSistemaMensagem />
    28  				<ns0:codigoRetornoPrograma>0</ns0:codigoRetornoPrograma>
    29  				<ns0:nomeProgramaErro />
    30  				<ns0:textoMensagemErro />
    31  				<ns0:numeroPosicaoErroPrograma>0</ns0:numeroPosicaoErroPrograma>
    32  				<ns0:codigoTipoRetornoPrograma>0</ns0:codigoTipoRetornoPrograma>
    33  				<ns0:textoNumeroTituloCobrancaBb>00010140510000066673</ns0:textoNumeroTituloCobrancaBb>
    34  				<ns0:numeroCarteiraCobranca>17</ns0:numeroCarteiraCobranca>
    35  				<ns0:numeroVariacaoCarteiraCobranca>19</ns0:numeroVariacaoCarteiraCobranca>
    36  				<ns0:codigoPrefixoDependenciaBeneficiario>3851</ns0:codigoPrefixoDependenciaBeneficiario>
    37  				<ns0:numeroContaCorrenteBeneficiario>8570</ns0:numeroContaCorrenteBeneficiario>
    38  				<ns0:codigoCliente>932131545</ns0:codigoCliente>
    39  				<ns0:linhaDigitavel>00190000090101405100500066673179971340000010000</ns0:linhaDigitavel>
    40  				<ns0:codigoBarraNumerico>00199713400000100000000001014051000006667317</ns0:codigoBarraNumerico>
    41  				<ns0:codigoTipoEnderecoBeneficiario>0</ns0:codigoTipoEnderecoBeneficiario>
    42  				<ns0:nomeLogradouroBeneficiario>Cliente nao informado.</ns0:nomeLogradouroBeneficiario>
    43  				<ns0:nomeBairroBeneficiario />
    44  				<ns0:nomeMunicipioBeneficiario />
    45  				<ns0:codigoMunicipioBeneficiario>0</ns0:codigoMunicipioBeneficiario>
    46  				<ns0:siglaUfBeneficiario />
    47  				<ns0:codigoCepBeneficiario>0</ns0:codigoCepBeneficiario>
    48  				<ns0:indicadorComprovacaoBeneficiario />
    49  				<ns0:numeroContratoCobranca>17414296</ns0:numeroContratoCobranca>
    50  			</ns0:resposta>
    51  		</SOAP-ENV:Body>
    52  		</SOAP-ENV:Envelope>
    53  	`
    54  
    55  	sDataErr := `
    56  		<?xml version="1.0" encoding="UTF-8"?>
    57  		<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    58  		<SOAP-ENV:Body>
    59  			<ns0:resposta xmlns:ns0="http://www.tibco.com/schemas/bws_registro_cbr/Recursos/XSD/Schema.xsd">
    60  				<ns0:siglaSistemaMensagem />
    61  				<ns0:codigoRetornoPrograma>ER500</ns0:codigoRetornoPrograma>
    62  				<ns0:nomeProgramaErro>Nome Programa ERRO</ns0:nomeProgramaErro>
    63  				<ns0:textoMensagemErro>Falha ao registrar Boleto</ns0:textoMensagemErro>
    64  				<ns0:numeroPosicaoErroPrograma>0</ns0:numeroPosicaoErroPrograma>
    65  				<ns0:codigoTipoRetornoPrograma>0</ns0:codigoTipoRetornoPrograma>
    66  				<ns0:textoNumeroTituloCobrancaBb>00010140510000066673</ns0:textoNumeroTituloCobrancaBb>
    67  				<ns0:numeroCarteiraCobranca>17</ns0:numeroCarteiraCobranca>
    68  				<ns0:numeroVariacaoCarteiraCobranca>19</ns0:numeroVariacaoCarteiraCobranca>
    69  				<ns0:codigoPrefixoDependenciaBeneficiario>3851</ns0:codigoPrefixoDependenciaBeneficiario>
    70  				<ns0:numeroContaCorrenteBeneficiario>8570</ns0:numeroContaCorrenteBeneficiario>
    71  				<ns0:codigoCliente>932131545</ns0:codigoCliente>
    72  				<ns0:linhaDigitavel>00190000090101405100500066673179971340000010000</ns0:linhaDigitavel>
    73  				<ns0:codigoBarraNumerico>00199713400000100000000001014051000006667317</ns0:codigoBarraNumerico>
    74  				<ns0:codigoTipoEnderecoBeneficiario>0</ns0:codigoTipoEnderecoBeneficiario>
    75  				<ns0:nomeLogradouroBeneficiario>Cliente nao informado.</ns0:nomeLogradouroBeneficiario>
    76  				<ns0:nomeBairroBeneficiario />
    77  				<ns0:nomeMunicipioBeneficiario />
    78  				<ns0:codigoMunicipioBeneficiario>0</ns0:codigoMunicipioBeneficiario>
    79  				<ns0:siglaUfBeneficiario />
    80  				<ns0:codigoCepBeneficiario>0</ns0:codigoCepBeneficiario>
    81  				<ns0:indicadorComprovacaoBeneficiario />
    82  				<ns0:numeroContratoCobranca>17414296</ns0:numeroContratoCobranca>
    83  			</ns0:resposta>
    84  		</SOAP-ENV:Body>
    85  		</SOAP-ENV:Envelope>
    86  	`
    87  
    88  	d, _ := ioutil.ReadAll(c.Request.Body)
    89  	xml := string(d)
    90  	if strings.Contains(xml, "<sch:valorOriginalTitulo>2.00</sch:valorOriginalTitulo>") {
    91  		c.Data(200, "text/xml", []byte(sData))
    92  	} else {
    93  		c.Data(200, "text/xml", []byte(sDataErr))
    94  	}
    95  }