rnfse 0.5.3 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 823d951d1fd9680cb3116a126dc6353489de7e24
4
- data.tar.gz: 63ab1b9d197b24ccebdfc94f5f96c832b2ed544f
3
+ metadata.gz: 3d3ab9632a4b088627df30fc724e454e27f4274a
4
+ data.tar.gz: 5f5edf8ee4af6cb1856c03891b712f65d67e125a
5
5
  SHA512:
6
- metadata.gz: 85554e57aa77471a9d0c2c69637da43d4b9bbd0f46ad1ca20f72916667597b8733e31dd94930b60236ba78f6acaf32c772cbbdf0af7da80318a6448673c87b74
7
- data.tar.gz: 6b73668b0e213da11d5f5c9032079ed1e999a492dfe49315594eac30e38d7ece059ed5cc70e88151a4212cdcce8def658ead9ef6a50efa70d552c206d68665dd
6
+ metadata.gz: cdc2e3cadd1c36b458d77657d224d49e63d20b9723dce53fd39ed0ff361ac74671348fb3a47a30df45e61fc5084190d161ee106e7423ec8a70be558e3718e4ef
7
+ data.tar.gz: 08ef6287aaa124463be2e8b7d200084ace1caecc5839f13ccad3076a66331bc7b468e853b731c8de576a9eee5998c033ff152c7854d3aa4b44a85b08dc741be0
@@ -33,7 +33,16 @@ module Rnfse::API::SpeedGov10
33
33
  end
34
34
 
35
35
  def consultar_lote_rps(hash = {})
36
- raise Rnfse::Error::NotImplemented
36
+ validate_options(hash)
37
+ header = xml_builder.build_header_xml()
38
+ parameters = xml_builder.build_consultar_lote_rps_envio_xml(hash)
39
+ response = self.soap_client.call(
40
+ :consultar_lote_rps,
41
+ soap_action: 'ConsultarLoteRps',
42
+ message_tag: 'nfse:ConsultarLoteRps',
43
+ message: { :'header!' => "<![CDATA[#{header}]]>",
44
+ :'parameters!' => "<![CDATA[#{parameters}]]>" })
45
+ parse_response(response)
37
46
  end
38
47
 
39
48
  def consultar_nfse_por_rps(hash = {})
@@ -55,7 +64,7 @@ module Rnfse::API::SpeedGov10
55
64
  header = xml_builder.build_header_xml()
56
65
  parameters = xml_builder.build_consultar_nfse_envio_xml(hash)
57
66
  response = self.soap_client.call(
58
- :consultar_situacao_lote_rps,
67
+ :consultar_nfse,
59
68
  soap_action: 'ConsultarNfse',
60
69
  message_tag: 'nfse:ConsultarNfse',
61
70
  message: { :'header!' => "<![CDATA[#{header}]]>",
@@ -1,3 +1,3 @@
1
1
  module Rnfse
2
- VERSION = '0.5.3'
2
+ VERSION = '0.6.0'
3
3
  end
@@ -83,6 +83,42 @@ module Rnfse::XMLBuilder::SpeedGov10
83
83
  }
84
84
  end
85
85
 
86
+ def build_consultar_situacao_lote_rps_envio_xml(hash = {})
87
+ hash = prepare_hash(hash)
88
+ hash = add_p_namespace(hash, /(Prestador|Protocolo)/)
89
+ inner_xml = ::Gyoku.xml(hash, key_converter: :none)
90
+ Nokogiri::XML::Builder.new(encoding: 'UTF-8') do |xml|
91
+ xml.send('p:ConsultarSituacaoLoteRpsEnvio'.to_sym, build_parameters_xmlns) do
92
+ xml << inner_xml
93
+ end
94
+ end.doc
95
+ end
96
+
97
+ def build_consultar_situacao_lote_rps_envio_xmlns()
98
+ {
99
+ 'xmlns:p' => "http://ws.speedgov.com.br/consultar_situacao_lote_rps_envio_v1.xsd",
100
+ 'xsi:schemaLocation' => "http://ws.speedgov.com.br/consultar_situacao_lote_rps_envio_v1.xsd"
101
+ }
102
+ end
103
+
104
+ def build_consultar_lote_rps_envio_xml(hash = {})
105
+ hash = prepare_hash(hash)
106
+ hash = add_p_namespace(hash, /(Prestador|Protocolo)/)
107
+ inner_xml = ::Gyoku.xml(hash, key_converter: :none)
108
+ Nokogiri::XML::Builder.new(encoding: 'UTF-8') do |xml|
109
+ xml.send('p:ConsultarLoteRpsEnvio'.to_sym, build_parameters_xmlns) do
110
+ xml << inner_xml
111
+ end
112
+ end.doc
113
+ end
114
+
115
+ def build_consultar_lote_rps_envio_xmlns()
116
+ {
117
+ 'xmlns:p' => "http://ws.speedgov.com.br/consultar_lote_rps_envio_v1.xsd",
118
+ 'xsi:schemaLocation' => "http://ws.speedgov.com.br/consultar_lote_rps_envio_v1.xsd"
119
+ }
120
+ end
121
+
86
122
  def build_parameters_xmlns
87
123
  {
88
124
  'xmlns:ds' => "http://www.w3.org/2000/09/xmldsig#",
@@ -231,8 +231,26 @@ describe Rnfse::API::SpeedGov10 do
231
231
  end
232
232
 
233
233
  describe '#consultar_lote_rps' do
234
- it { expect(client).to respond_to(:consultar_lote_rps) }
235
- it { expect { client.consultar_lote_rps() }.to raise_error(Rnfse::Error::NotImplemented) }
234
+ context 'quando parametros errados são passados,' do
235
+ it { expect{ client.consultar_lote_rps(bogus: :data) }.to raise_error(ArgumentError) }
236
+ end
237
+
238
+ it { expect(client).to respond_to(:consultar_lote_rps) }
239
+
240
+ subject do
241
+ VCR.use_cassette('speed_gov_1_0_consultar_lote_rps') do
242
+ client.consultar_lote_rps({
243
+ prestador: {
244
+ cnpj: '07.792.435/0009-12',
245
+ inscricao_municipal: '59274734'
246
+ },
247
+ protocolo: '717293e4-3601-4955-865c-5a022c2b5ff5'
248
+ })
249
+ end
250
+ end
251
+
252
+ it { should_not be_nil }
253
+ it { should be_kind_of(Hash) }
236
254
  end
237
255
 
238
256
  describe '#cancelar_nfse' do
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <p:ConsultarLoteRpsEnvio xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
3
+ xmlns:p="http://ws.speedgov.com.br/consultar_lote_rps_envio_v1.xsd"
4
+ xmlns:p1="http://ws.speedgov.com.br/tipos_v1.xsd"
5
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6
+ xsi:schemaLocation="http://ws.speedgov.com.br/consultar_lote_rps_envio_v1.xsd">
7
+ <p:Prestador>
8
+ <p1:Cnpj>07792435000912</p1:Cnpj>
9
+ <p1:InscricaoMunicipal>59274734</p1:InscricaoMunicipal>
10
+ </p:Prestador>
11
+ <p:Protocolo>3b2c9c94-4fb7-4858-a455-452009cc1fd0</p:Protocolo>
12
+ </p:ConsultarLoteRpsEnvio>
@@ -0,0 +1,76 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://speedgov.com.br/wsmod/Nfes
6
+ body:
7
+ encoding: UTF-8
8
+ string: |-
9
+ <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:nfse="http://www.abrasf.org.br/ABRASF/arquivos/nfse.xsd"><soapenv:Body><nfse:ConsultarLoteRps><header><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
10
+ <p:cabecalho xmlns:p="http://ws.speedgov.com.br/cabecalho_v1.xsd" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:p1="http://ws.speedgov.com.br/tipos_v1.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" versao="1" xsi:schemaLocation="http://ws.speedgov.com.br/cabecalho_v1.xsd">
11
+ <versaoDados>1</versaoDados>
12
+ </p:cabecalho>
13
+ ]]></header><parameters><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
14
+ <p:ConsultarLoteRpsEnvio xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:p1="http://ws.speedgov.com.br/tipos_v1.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://ws.speedgov.com.br/consultar_lote_rps_envio_v1.xsd" xsi:schemaLocation="http://ws.speedgov.com.br/consultar_lote_rps_envio_v1.xsd">
15
+ <p:Prestador>
16
+ <p1:Cnpj>07792435000912</p1:Cnpj>
17
+ <p1:InscricaoMunicipal>59274734</p1:InscricaoMunicipal>
18
+ </p:Prestador>
19
+ <p:Protocolo>717293e4-3601-4955-865c-5a022c2b5ff5</p:Protocolo>
20
+ </p:ConsultarLoteRpsEnvio>
21
+ ]]></parameters></nfse:ConsultarLoteRps></soapenv:Body></soapenv:Envelope>
22
+ headers:
23
+ Soapaction:
24
+ - '"ConsultarLoteRps"'
25
+ Content-Type:
26
+ - text/xml;charset=UTF-8
27
+ Content-Length:
28
+ - '1409'
29
+ Accept-Encoding:
30
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
31
+ Accept:
32
+ - "*/*"
33
+ User-Agent:
34
+ - Ruby
35
+ response:
36
+ status:
37
+ code: 200
38
+ message: OK
39
+ headers:
40
+ Cache-Control:
41
+ - no-cache="set-cookie"
42
+ Content-Type:
43
+ - text/xml;charset=utf-8
44
+ Date:
45
+ - Wed, 19 Nov 2014 21:19:32 GMT
46
+ Server:
47
+ - Apache-Coyote/1.1
48
+ Set-Cookie:
49
+ - AWSELB=33FDC97B088EC7D48E554EA7951916335FCF4DD333E9F4CF37B67BAA17D10F4435DE2C0093DB8C710ADD934016E3E395F23A28C3C0FFCDE212BD03A43B45B709B7813C9D87;PATH=/
50
+ Content-Length:
51
+ - '747'
52
+ Connection:
53
+ - keep-alive
54
+ body:
55
+ encoding: ASCII-8BIT
56
+ string: !binary |-
57
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz48UzpFbnZl
58
+ bG9wZSB4bWxuczpTPSJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy9zb2Fw
59
+ L2VudmVsb3BlLyI+PFM6Qm9keT48bnMyOkNvbnN1bHRhckxvdGVScHNSZXNw
60
+ b25zZSB4bWxuczpuczI9Imh0dHA6Ly93d3cuYWJyYXNmLm9yZy5ici9BQlJB
61
+ U0YvYXJxdWl2b3MvbmZzZS54c2QiPjxyZXR1cm4+Jmx0Oz94bWwgdmVyc2lv
62
+ bj0mcXVvdDsxLjAmcXVvdDsgZW5jb2Rpbmc9JnF1b3Q7VVRGLTgmcXVvdDs/
63
+ Jmd0OwombHQ7Q29uc3VsdGFyTG90ZVJwc1Jlc3Bvc3RhJmd0OyZsdDtTdWNl
64
+ c3NvJmd0O2ZhbHNlJmx0Oy9TdWNlc3NvJmd0OyZsdDtEYXRhSG9yYSZndDsy
65
+ MDE0LTExLTE5VDA2OjE5OjMyJmx0Oy9EYXRhSG9yYSZndDsmbHQ7TWVuc2Fn
66
+ ZW1SZXRvcm5vJmd0OyZsdDtDb2RpZ28mZ3Q7RTE1NiZsdDsvQ29kaWdvJmd0
67
+ OyZsdDtNZW5zYWdlbSZndDtDTlBKIGRvIHByZXN0YWRvciBuw6NvIGF1dG9y
68
+ aXphZG8gYSBlbWl0aXIgTkZTLWUmbHQ7L01lbnNhZ2VtJmd0OyZsdDtDb3Jy
69
+ ZWNhbyZndDtTb2xpY2l0ZSBhdXRvcml6YcOnw6NvIHBhcmEgZW1pdGlyIE5G
70
+ Uy1lIHBhcmEgbyBDTlBKIGluZm9ybWFkby4mbHQ7L0NvcnJlY2FvJmd0OyZs
71
+ dDsvTWVuc2FnZW1SZXRvcm5vJmd0OyZsdDsvQ29uc3VsdGFyTG90ZVJwc1Jl
72
+ c3Bvc3RhJmd0OzwvcmV0dXJuPjwvbnMyOkNvbnN1bHRhckxvdGVScHNSZXNw
73
+ b25zZT48L1M6Qm9keT48L1M6RW52ZWxvcGU+
74
+ http_version:
75
+ recorded_at: Wed, 19 Nov 2014 21:19:32 GMT
76
+ recorded_with: VCR 2.9.3
@@ -218,6 +218,25 @@ describe Rnfse::XMLBuilder::IssNet10 do
218
218
  it { should be_kind_of(Nokogiri::XML::Document) }
219
219
  end
220
220
 
221
+ describe '#build_consultar_lote_rps_envio_xml' do
222
+ let(:xml) do
223
+ Nokogiri::XML(File.read(File.join(xml_path, 'consultar_lote_rps_envio.xml')))
224
+ end
225
+
226
+ subject do
227
+ builder.build_consultar_lote_rps_envio_xml({
228
+ prestador: {
229
+ cnpj: '07.792.435/0009-12',
230
+ inscricao_municipal: '59274734'
231
+ },
232
+ protocolo: '3b2c9c94-4fb7-4858-a455-452009cc1fd0'
233
+ })
234
+ end
235
+
236
+ it { should be_equivalent_to(xml) }
237
+ it { should be_kind_of(Nokogiri::XML::Document) }
238
+ end
239
+
221
240
  describe '#build_header_xml' do
222
241
  let(:xml) do
223
242
  Nokogiri::XML(File.read(File.join(xml_path, 'header.xml')))
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rnfse
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.3
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Renan Mendes Carvalho
@@ -409,6 +409,7 @@ files:
409
409
  - spec/fixtures/iss_net_1_0/consultar_situacao_lote_rps_envio.xml
410
410
  - spec/fixtures/iss_net_1_0/enviar_lote_rps_envio.xml
411
411
  - spec/fixtures/key.pem
412
+ - spec/fixtures/speed_gov_1_0/consultar_lote_rps_envio.xml
412
413
  - spec/fixtures/speed_gov_1_0/consultar_nfse_envio.xml
413
414
  - spec/fixtures/speed_gov_1_0/consultar_nfse_rps_envio.xml
414
415
  - spec/fixtures/speed_gov_1_0/consultar_situacao_lote_rps_envio.xml
@@ -420,6 +421,7 @@ files:
420
421
  - spec/fixtures/vcr_cassettes/iss_net_1_0_consultar_nfse_por_rps.yml
421
422
  - spec/fixtures/vcr_cassettes/iss_net_1_0_consultar_situacao_lote_rps.yml
422
423
  - spec/fixtures/vcr_cassettes/iss_net_1_0_recepcionar_lote_rps.yml
424
+ - spec/fixtures/vcr_cassettes/speed_gov_1_0_consultar_lote_rps.yml
423
425
  - spec/fixtures/vcr_cassettes/speed_gov_1_0_consultar_nfse.yml
424
426
  - spec/fixtures/vcr_cassettes/speed_gov_1_0_consultar_nfse_por_rps.yml
425
427
  - spec/fixtures/vcr_cassettes/speed_gov_1_0_consultar_situacao_lote_rps.yml
@@ -486,6 +488,7 @@ test_files:
486
488
  - spec/fixtures/iss_net_1_0/consultar_situacao_lote_rps_envio.xml
487
489
  - spec/fixtures/iss_net_1_0/enviar_lote_rps_envio.xml
488
490
  - spec/fixtures/key.pem
491
+ - spec/fixtures/speed_gov_1_0/consultar_lote_rps_envio.xml
489
492
  - spec/fixtures/speed_gov_1_0/consultar_nfse_envio.xml
490
493
  - spec/fixtures/speed_gov_1_0/consultar_nfse_rps_envio.xml
491
494
  - spec/fixtures/speed_gov_1_0/consultar_situacao_lote_rps_envio.xml
@@ -497,6 +500,7 @@ test_files:
497
500
  - spec/fixtures/vcr_cassettes/iss_net_1_0_consultar_nfse_por_rps.yml
498
501
  - spec/fixtures/vcr_cassettes/iss_net_1_0_consultar_situacao_lote_rps.yml
499
502
  - spec/fixtures/vcr_cassettes/iss_net_1_0_recepcionar_lote_rps.yml
503
+ - spec/fixtures/vcr_cassettes/speed_gov_1_0_consultar_lote_rps.yml
500
504
  - spec/fixtures/vcr_cassettes/speed_gov_1_0_consultar_nfse.yml
501
505
  - spec/fixtures/vcr_cassettes/speed_gov_1_0_consultar_nfse_por_rps.yml
502
506
  - spec/fixtures/vcr_cassettes/speed_gov_1_0_consultar_situacao_lote_rps.yml