correios_sigep 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YzgyMmI0OWEwOTU1MWM2YzcwNDY5YWU2OGI5Y2NiMmY3MzEzZWExNQ==
4
+ MWM2MTI5Yzk4NjdhOTNiMjVjMDg2YTM5ZDgxNDZkY2E2Y2Q3MTY4OA==
5
5
  data.tar.gz: !binary |-
6
- MWJlYWRkYTgyNDVkZjgxNDg5OTQ5NmFiNWY0MzdmZWFlZGExNTQ1OQ==
6
+ NGViYTA4NjY1MzdiMGJjOTBjMWJiNjA1ZjMwNzk4ZmI3YTZmZTllOQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZTMwNDIyMWMzMTUxNTQ2YTYzOGEwNmYxZWE3NDk3YWIyNjMzMDIxOGFmNjg3
10
- NmE2YzRjNDZjOGFkYzc5Njk2ZjdhYzVlYmMzYWUwYTUxZTZlMjM0NGI4ZDBi
11
- NDAzYTZjMzYzODhmNzA5ZjliM2M1MTBlZDE4ZTE1MGM3YzNmYTg=
9
+ NjU5YjUzZTVjY2Q0ZDg3OWMwNDRkNDFkOGM5MjE0YmM5MDE4NDU5MmI2YjY1
10
+ N2UxMGEzZjgzZTVlZWUyMzgwYzJhNjFkMWNlYThkZjEzMTk5ZWVmOTQ3ZjFm
11
+ NWZlMTQ3ZTJjZWFkNzg0YjhiZDFlNTY1NDVjNjI0YzE5NzJiZDU=
12
12
  data.tar.gz: !binary |-
13
- NzcyYzg0ZjM0OTlkNmYzMThjNWUzNTgwMzMwYmViMzNhNTMyMDE3ZmQ5Zjc4
14
- M2IxMGViMDlkOTAxNTcyNzJjZmRjYzhmMzNjODhjNzQ1ZmQxYzQ5Y2U3ZDg1
15
- Mzc5NTIxZDliNjgzZDRjNGFhYzg3ZTExMmM2Y2JiNmFjMzBjMDI=
13
+ NmRhMGJjNjY0N2QxYmI5YWUyYzIxYmYzYWY5OTQ3MDQ2MmIxNmU3N2FlZDlj
14
+ ZDdkYzBjMDMyZWUyMDIyMThkN2RkYTQ5MzViY2Q1ODFkNjgyNjU5MmYxN2Jh
15
+ ZWNiZGFkOTg4NzFlYjMxMmI5NmNjNTA5YTk2ZGIzMmFmNGIyMWI=
@@ -24,6 +24,7 @@ require 'correios_sigep/models/errors/unavailable_service'
24
24
  require 'correios_sigep/models/errors/inexistent_zipcode'
25
25
  require 'correios_sigep/models/errors/unavailable_house_collect'
26
26
  require 'correios_sigep/models/errors/collect_not_answered_for_the_zipcode'
27
+ require 'correios_sigep/models/errors/not_configured_client'
27
28
  require 'correios_sigep/models/errors/unknown_error'
28
29
  require 'correios_sigep/models/errors/sro_not_ready'
29
30
  require 'correios_sigep/logistic_reverse/base_client'
@@ -24,6 +24,7 @@ module CorreiosSigep
24
24
  def handle_errors code, response_doc
25
25
  result_string = '//resultado-solicitacao | //resultado_solicitacao'
26
26
  result_node = response_doc.search(result_string)
27
+ error_message = response_doc.search('//msg-erro | //msg_erro').text rescue ''
27
28
 
28
29
  case code
29
30
  when Models::CorreiosResponseCodes::SUCCESS
@@ -31,7 +32,6 @@ module CorreiosSigep
31
32
  result.first.text rescue nil
32
33
 
33
34
  when Models::CorreiosResponseCodes::TICKET_ALREADY_USED
34
- error_message = result_node.search('//msg_erro | //msg_erro').text
35
35
  raise Models::Errors::TicketAlreadyUsed.new error_message
36
36
 
37
37
  when Models::CorreiosResponseCodes::UNAVAILABLE_SERVICE
@@ -46,9 +46,14 @@ module CorreiosSigep
46
46
  when Models::CorreiosResponseCodes::COLLECT_NOT_ANSWERED_FOR_THE_ZIPCODE
47
47
  raise Models::Errors::CollectNotAnsweredForTheZipcode
48
48
 
49
+ when Models::CorreiosResponseCodes::NOT_CONFIGURED_CLIENT
50
+ raise Models::Errors::NotConfiguredClient.new error_message
51
+
49
52
  else
50
- error_message = result_node.search('//msg_erro | //msg_erro').text
51
- raise Models::Errors::UnknownError.new error_message
53
+ error_message = result_node.search('//msg-erro | //msg_erro').text
54
+ invalid_xml_message = response_doc.search("//return").text
55
+
56
+ raise Models::Errors::UnknownError.new [error_message, invalid_xml_message].join(', ')
52
57
  end
53
58
  end
54
59
  end
@@ -7,6 +7,7 @@ module CorreiosSigep
7
7
  INEXISTENT_ZIPCODE = 113
8
8
  UNAVAILABLE_HOUSE_COLLECT = 111
9
9
  COLLECT_NOT_ANSWERED_FOR_THE_ZIPCODE = 117
10
+ NOT_CONFIGURED_CLIENT = 105
10
11
  end
11
12
  end
12
13
  end
@@ -0,0 +1,8 @@
1
+ module CorreiosSigep
2
+ module Models
3
+ module Errors
4
+ class NotConfiguredClient < StandardError
5
+ end
6
+ end
7
+ end
8
+ end
@@ -1,3 +1,3 @@
1
1
  module CorreiosSigep
2
- VERSION = '0.1.0'
2
+ VERSION = '0.1.1'
3
3
  end
@@ -83,6 +83,17 @@ module CorreiosSigep
83
83
  end
84
84
  end
85
85
 
86
+ context 'when user is not configured to use sigepweb' do
87
+ it 'should raise NotConfiguredClient error' do
88
+ stub_request(:post, "http://webservicescolhomologacao.correios.com.br/ScolWeb/WebServiceScol").
89
+ with(:body => "<?xml version=\"1.0\" encoding=\"UTF-8\"?><env:Envelope xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:tns=\"http://webservice.scol.correios.com.br/\" xmlns:env=\"http://schemas.xmlsoap.org/soap/envelope/\"><env:Body><tns:solicitarPostagemReversa><cartao>0057018901</cartao><codigo_servico>41076</codigo_servico><contrato>9912208555</contrato><codAdministrativo>08082650</codAdministrativo><senha>8o8otn</senha><usuario>60618043</usuario>\n <destinatario>\n <nome>ESTABELECIMENT W*M</nome>\n <logradouro>ESTRADA DE ACESSO A JANDIRA</logradouro>\n <numero>1400</numero>\n <complemento>G4</complemento>\n <bairro>FAZENDA ITAQUI</bairro>\n <referencia>REFERENCE</referencia>\n <cidade>BARUERI</cidade>\n <uf>SP</uf>\n <cep>06442130</cep>\n <ddd>11</ddd>\n <telefone>21683228</telefone>\n <email>teste@example.com</email>\n </destinatario>\n <coletas_solicitadas>\n <tipo>CA</tipo>\n <id_cliente>1405670</id_cliente>\n <valor_declarado>100.5</valor_declarado>\n <descricao>teste</descricao>\n <cklist>cklist</cklist>\n <numero>1</numero>\n <ag>1</ag>\n <cartao>1234</cartao>\n <servico_adicional>20.5</servico_adicional>\n <ar>2</ar>\n <remetente>\n <nome>JEFERSON VAZ DOS SANTOS</nome>\n <logradouro>RUA BLA BLA BLA</logradouro>\n <numero>666</numero>\n <complemento>APT 100</complemento>\n <bairro>PINHEIROS</bairro>\n <reference>REFERENCE</reference>\n <cidade>S&#xC3;O PAULO</cidade>\n <uf>SP</uf>\n <cep>05427020</cep>\n <ddd>16</ddd>\n <telefone>41606809</telefone>\n <email>jeff@example.com</email>\n <identificacao/>\n <ddd_celular/>\n <celular/>\n <sms/>\n </remetente>\n <produto>\n <codigo>code</codigo>\n <tipo>type</tipo>\n <qtd>3</qtd>\n </produto>\n <obj_col>\n <obj>\n <item>127078</item>\n <id>1405670</id>\n <desc>Pen Drive SAndisk 16GB SDCZ50-016G-A95</desc>\n <ship>ship</ship>\n <num>1</num>\n </obj>\n <obj>\n <item>277574</item>\n <id>1405670</id>\n <desc>Chip unico claro Pre pago</desc>\n <ship>ship</ship>\n <num>2</num>\n </obj>\n </obj_col>\n </coletas_solicitadas>\n\n</tns:solicitarPostagemReversa></env:Body></env:Envelope>",
90
+ :headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Content-Length'=>'2306', 'Content-Type'=>'text/xml;charset=UTF-8', 'Soapaction'=>'"solicitarPostagemReversa"', 'User-Agent'=>'Ruby'}).
91
+ to_return(:status => 200, :body => correios_fixture('response_not_configured_client.xml'), :headers => {})
92
+
93
+ expect{subject}.to raise_error(Models::Errors::NotConfiguredClient)
94
+ end
95
+ end
96
+
86
97
 
87
98
  context 'when correios answer with another code' do
88
99
  it 'should raise UnknownError error' do
@@ -0,0 +1,14 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
3
+ <S:Body>
4
+ <ns2:solicitarPostagemReversaResponse xmlns:ns2="http://webservice.scol.correios.com.br/">
5
+ <return>
6
+ <status_processamento>00</status_processamento>
7
+ <data_processamento>02/06/2015</data_processamento>
8
+ <hora_processamento>12:07</hora_processamento>
9
+ <cod_erro>105</cod_erro>
10
+ <msg_erro>CLIENTE NÃO CONFIGURADO PARA USAR O SISTEMA (Dados de login inválidos (Código administrativo, usuário ou senha)</msg_erro>
11
+ </return>
12
+ </ns2:solicitarPostagemReversaResponse>
13
+ </S:Body>
14
+ </S:Envelope>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: correios_sigep
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carlos Ribeiro
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-04-24 00:00:00.000000000 Z
12
+ date: 2015-06-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: savon
@@ -135,6 +135,7 @@ files:
135
135
  - lib/correios_sigep/models/correios_response_codes.rb
136
136
  - lib/correios_sigep/models/errors/collect_not_answered_for_the_zipcode.rb
137
137
  - lib/correios_sigep/models/errors/inexistent_zipcode.rb
138
+ - lib/correios_sigep/models/errors/not_configured_client.rb
138
139
  - lib/correios_sigep/models/errors/sro_not_ready.rb
139
140
  - lib/correios_sigep/models/errors/ticket_already_used.rb
140
141
  - lib/correios_sigep/models/errors/unavailable_house_collect.rb
@@ -166,6 +167,7 @@ files:
166
167
  - spec/fixtures/correios/response_already_in_use.xml
167
168
  - spec/fixtures/correios/response_inexistent_zipcode.xml
168
169
  - spec/fixtures/correios/response_not_answered_for_zipcode.xml
170
+ - spec/fixtures/correios/response_not_configured_client.xml
169
171
  - spec/fixtures/correios/response_success.xml
170
172
  - spec/fixtures/correios/response_unavailable_house_collect.xml
171
173
  - spec/fixtures/correios/response_unavailable_service.xml
@@ -218,6 +220,7 @@ test_files:
218
220
  - spec/fixtures/correios/response_already_in_use.xml
219
221
  - spec/fixtures/correios/response_inexistent_zipcode.xml
220
222
  - spec/fixtures/correios/response_not_answered_for_zipcode.xml
223
+ - spec/fixtures/correios/response_not_configured_client.xml
221
224
  - spec/fixtures/correios/response_success.xml
222
225
  - spec/fixtures/correios/response_unavailable_house_collect.xml
223
226
  - spec/fixtures/correios/response_unavailable_service.xml