br_nfe 1.1.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (257) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +5 -0
  3. data/.travis.yml +8 -0
  4. data/Gemfile +16 -0
  5. data/Gemfile.lock +27 -3
  6. data/LICENSE +1 -1
  7. data/README.markdown +10 -12
  8. data/Rakefile +13 -0
  9. data/br_nfe.gemspec +18 -21
  10. data/lib/br_nfe/active_model_base.rb +7 -1
  11. data/lib/br_nfe/base.rb +175 -37
  12. data/lib/br_nfe/endereco.rb +7 -1
  13. data/lib/br_nfe/helper/have_rps.rb +1 -1
  14. data/lib/br_nfe/helper/values_ts/service_v1.rb +313 -0
  15. data/lib/br_nfe/response/service/build_response.rb +286 -0
  16. data/lib/br_nfe/response/service/default.rb +185 -0
  17. data/lib/br_nfe/{servico/response → response/service}/nota_fiscal.rb +11 -10
  18. data/lib/br_nfe/response/service/paths/base.rb +93 -0
  19. data/lib/br_nfe/response/service/paths/v1/servico_cancelar_nfse_resposta.rb +22 -0
  20. data/lib/br_nfe/response/service/paths/v1/servico_consultar_lote_rps_resposta.rb +25 -0
  21. data/lib/br_nfe/response/service/paths/v1/servico_consultar_nfse_resposta.rb +25 -0
  22. data/lib/br_nfe/response/service/paths/v1/servico_consultar_nfse_rps_resposta.rb +25 -0
  23. data/lib/br_nfe/response/service/paths/v1/servico_consultar_situacao_lote_rps_resposta.rb +31 -0
  24. data/lib/br_nfe/response/service/paths/v1/servico_enviar_lote_rps_resposta.rb +36 -0
  25. data/lib/br_nfe/response/service/paths/v1/tc_nfse.rb +127 -0
  26. data/lib/br_nfe/service/base.rb +59 -0
  27. data/lib/br_nfe/service/betha/base.rb +8 -0
  28. data/lib/br_nfe/service/betha/v1/cancelamento_nfs.rb +39 -0
  29. data/lib/br_nfe/service/betha/v1/consulta_lote_rps.rb +34 -0
  30. data/lib/br_nfe/service/betha/v1/consulta_nfs_por_rps.rb +32 -0
  31. data/lib/br_nfe/service/betha/v1/consulta_nfse.rb +32 -0
  32. data/lib/br_nfe/service/betha/v1/consulta_situacao_lote_rps.rb +30 -0
  33. data/lib/br_nfe/service/betha/v1/gateway.rb +21 -0
  34. data/lib/br_nfe/service/betha/v1/recepcao_lote_rps.rb +37 -0
  35. data/lib/br_nfe/service/betha/v1/response_paths/servico_consultar_lote_rps_resposta.rb +19 -0
  36. data/lib/br_nfe/service/betha/v1/response_paths/servico_consultar_nfse_resposta.rb +17 -0
  37. data/lib/br_nfe/service/betha/v1/response_paths/servico_consultar_nfse_rps_resposta.rb +17 -0
  38. data/lib/br_nfe/service/concerns/rules/cancelamento_nfs.rb +20 -0
  39. data/lib/br_nfe/service/concerns/rules/consulta_nfs_por_rps.rb +18 -0
  40. data/lib/br_nfe/service/concerns/rules/consulta_nfse.rb +29 -0
  41. data/lib/br_nfe/service/concerns/rules/recepcao_lote_rps.rb +50 -0
  42. data/lib/br_nfe/{servico → service}/intermediario.rb +1 -1
  43. data/lib/br_nfe/service/item.rb +70 -0
  44. data/lib/br_nfe/service/rps.rb +231 -0
  45. data/lib/br_nfe/service/sc/florianopolis/base.rb +25 -0
  46. data/lib/br_nfe/service/sc/florianopolis/cancellation.rb +30 -0
  47. data/lib/br_nfe/service/sc/florianopolis/emission_rps.rb +19 -0
  48. data/lib/br_nfe/service/sc/florianopolis/xml/_address.xml.slim +21 -0
  49. data/lib/br_nfe/service/sc/florianopolis/xml/_contact.xml.slim +3 -0
  50. data/lib/br_nfe/service/sc/florianopolis/xml/_service_item.xml.slim +9 -0
  51. data/lib/br_nfe/service/sc/florianopolis/xml/cancellation.xml.slim +6 -0
  52. data/lib/br_nfe/service/sc/florianopolis/xml/inf_requisicao.xml.slim +55 -0
  53. data/lib/br_nfe/service/sc/gaspar/cancela_nfse.rb +13 -0
  54. data/lib/br_nfe/service/sc/gaspar/consulta_lote_rps.rb +13 -0
  55. data/lib/br_nfe/service/sc/gaspar/consulta_nfs_por_rps.rb +13 -0
  56. data/lib/br_nfe/service/sc/gaspar/consulta_nfse.rb +17 -0
  57. data/lib/br_nfe/service/sc/gaspar/consulta_situacao_lote_rps.rb +13 -0
  58. data/lib/br_nfe/service/sc/gaspar/recepcao_lote_rps.rb +13 -0
  59. data/lib/br_nfe/service/sc/gaspar/recepcao_lote_rps_limitado.rb +13 -0
  60. data/lib/br_nfe/service/thema/v1/base.rb +55 -0
  61. data/lib/br_nfe/service/thema/v1/cancela_nfse.rb +48 -0
  62. data/lib/br_nfe/service/thema/v1/consulta_lote_rps.rb +49 -0
  63. data/lib/br_nfe/service/thema/v1/consulta_nfs_por_rps.rb +48 -0
  64. data/lib/br_nfe/service/thema/v1/consulta_nfse.rb +47 -0
  65. data/lib/br_nfe/service/thema/v1/consulta_situacao_lote_rps.rb +46 -0
  66. data/lib/br_nfe/service/thema/v1/recepcao_lote_rps.rb +51 -0
  67. data/lib/br_nfe/service/thema/v1/recepcao_lote_rps_limitado.rb +30 -0
  68. data/lib/br_nfe/service/xml/v1/_tc_contato.xml.slim +7 -0
  69. data/lib/br_nfe/service/xml/v1/_tc_cpf_cnpj.xml.slim +5 -0
  70. data/lib/br_nfe/service/xml/v1/_tc_dados_construcao_civil.xml.slim +2 -0
  71. data/lib/br_nfe/service/xml/v1/_tc_dados_prestador.xml.slim +15 -0
  72. data/lib/br_nfe/service/xml/v1/_tc_dados_servico.xml.slim +14 -0
  73. data/lib/br_nfe/service/xml/v1/_tc_dados_tomador.xml.slim +15 -0
  74. data/lib/br_nfe/service/xml/v1/_tc_endereco.xml.slim +13 -0
  75. data/lib/br_nfe/service/xml/v1/_tc_identificacao_intermediario_servico.xml.slim +7 -0
  76. data/lib/br_nfe/service/xml/v1/_tc_identificacao_nfse.xml.slim +7 -0
  77. data/lib/br_nfe/service/xml/v1/_tc_identificacao_orgao_gerador.xml.slim +8 -0
  78. data/lib/br_nfe/service/xml/v1/_tc_identificacao_prestador.xml.slim +3 -0
  79. data/lib/br_nfe/service/xml/v1/_tc_identificacao_rps.xml.slim +16 -0
  80. data/lib/br_nfe/service/xml/v1/_tc_identificacao_tomador.xml.slim +4 -0
  81. data/lib/br_nfe/service/xml/v1/_tc_inf_pedido_cancelamento.xml.slim +4 -0
  82. data/lib/br_nfe/service/xml/v1/_tc_inf_rps.xml.slim +47 -0
  83. data/lib/br_nfe/service/xml/v1/_tc_lote_rps.xml.slim +9 -0
  84. data/lib/br_nfe/service/xml/v1/_tc_pedido_cancelamento.xml.slim +4 -0
  85. data/lib/br_nfe/service/xml/v1/_tc_rps.xml.slim +8 -0
  86. data/lib/br_nfe/service/xml/v1/_tc_valores.xml.slim +48 -0
  87. data/lib/br_nfe/service/xml/v1/servico_cancelar_nfse_envio.xml.slim +9 -0
  88. data/lib/br_nfe/service/xml/v1/servico_consultar_lote_rps_envio.xml.slim +4 -0
  89. data/lib/br_nfe/service/xml/v1/servico_consultar_nfse_envio.xml.slim +19 -0
  90. data/lib/br_nfe/service/xml/v1/servico_consultar_nfse_rps_envio.xml.slim +5 -0
  91. data/lib/br_nfe/service/xml/v1/servico_consultar_situacao_lote_rps_envio.xml.slim +4 -0
  92. data/lib/br_nfe/service/xml/v1/servico_enviar_lote_rps_envio.xml.slim +9 -0
  93. data/lib/br_nfe/version.rb +2 -2
  94. data/lib/br_nfe/xml/_signed_info_sh1.xml.slim +9 -0
  95. data/lib/br_nfe/xml/signature_sh1.xml.slim +12 -0
  96. data/lib/br_nfe/xml/soap_env.xml.slim +3 -0
  97. data/lib/br_nfe.rb +72 -20
  98. data/test/br_nfe/base_test.rb +257 -108
  99. data/test/br_nfe/helper/have_intermediario_test.rb +2 -2
  100. data/test/br_nfe/helper/have_rps_test.rb +4 -4
  101. data/test/br_nfe/response/service/build_response_test.rb +377 -0
  102. data/test/br_nfe/response/service/default_test.rb +218 -0
  103. data/test/br_nfe/{servico/response → response/service}/nota_fiscal_test.rb +2 -2
  104. data/test/br_nfe/response/service/paths/base_test.rb +199 -0
  105. data/test/br_nfe/response/service/paths/v1/servico_cancelar_nfse_resposta_test.rb +25 -0
  106. data/test/br_nfe/response/service/paths/v1/servico_consultar_lote_rps_resposta_test.rb +30 -0
  107. data/test/br_nfe/response/service/paths/v1/servico_consultar_nfse_resposta_test.rb +30 -0
  108. data/test/br_nfe/response/service/paths/v1/servico_consultar_nfse_rps_resposta_test.rb +30 -0
  109. data/test/br_nfe/response/service/paths/v1/servico_consultar_situacao_lote_rps_resposta_test.rb +30 -0
  110. data/test/br_nfe/response/service/paths/v1/servico_enviar_lote_rps_resposta_test.rb +34 -0
  111. data/test/br_nfe/response/service/paths/v1/tc_nfse_test.rb +122 -0
  112. data/test/br_nfe/service/base_test.rb +138 -0
  113. data/test/br_nfe/service/betha/base_test.rb +9 -0
  114. data/test/br_nfe/service/betha/v1/cancelamento_nfs_test.rb +60 -0
  115. data/test/br_nfe/service/betha/v1/consulta_lote_rps_test.rb +55 -0
  116. data/test/br_nfe/service/betha/v1/consulta_nfs_por_rps_test.rb +55 -0
  117. data/test/br_nfe/service/betha/v1/consulta_nfse_test.rb +53 -0
  118. data/test/br_nfe/service/betha/v1/consulta_situacao_lote_rps_test.rb +49 -0
  119. data/test/br_nfe/service/betha/v1/gateway_test.rb +35 -0
  120. data/test/br_nfe/service/betha/v1/recepcao_lote_rps_test.rb +84 -0
  121. data/test/br_nfe/service/betha/v1/response_paths/servico_consultar_lote_rps_resposta_test.rb +16 -0
  122. data/test/br_nfe/service/betha/v1/response_paths/servico_consultar_nfse_resposta_test.rb +16 -0
  123. data/test/br_nfe/service/betha/v1/response_paths/servico_consultar_nfse_rps_resposta_test.rb +16 -0
  124. data/test/br_nfe/service/betha/v1/xsd/TiposNFe_v01.xsd +583 -0
  125. data/test/br_nfe/service/betha/v1/xsd/nfse_v01.xsd +652 -0
  126. data/test/br_nfe/service/betha/v1/xsd/servico_cancelar_nfse_envio_v01.xsd +17 -0
  127. data/test/br_nfe/service/betha/v1/xsd/servico_consultar_lote_rps_envio_v01.xsd +16 -0
  128. data/test/br_nfe/service/betha/v1/xsd/servico_consultar_nfse_envio_v01.xsd +28 -0
  129. data/test/br_nfe/service/betha/v1/xsd/servico_consultar_nfse_rps_envio_v01.xsd +16 -0
  130. data/test/br_nfe/service/betha/v1/xsd/servico_consultar_situacao_lote_rps_envio_v01.xsd +16 -0
  131. data/test/br_nfe/service/betha/v1/xsd/servico_enviar_lote_rps_envio_v01.xsd +17 -0
  132. data/test/br_nfe/service/betha/v1/xsd/xmldsig-core-schema.xsd +308 -0
  133. data/test/br_nfe/service/betha/v1/xsd/xmldsig-core-schema_v01.xsd +95 -0
  134. data/test/br_nfe/service/concerns/rules/cancelamento_nfs_test.rb +15 -0
  135. data/test/br_nfe/service/concerns/rules/consulta_nfs_por_rps_test.rb +36 -0
  136. data/test/br_nfe/service/concerns/rules/consulta_nfse_test.rb +42 -0
  137. data/test/br_nfe/{servico/base_test.rb → service/concerns/rules/recepcao_lote_rps_test.rb} +12 -4
  138. data/test/br_nfe/{servico → service}/intermediario_test.rb +1 -1
  139. data/test/br_nfe/service/item_test.rb +34 -0
  140. data/test/br_nfe/{servico → service}/rps_test.rb +191 -43
  141. data/test/br_nfe/service/sc/florianopolis/XSD/TiposNFSe_v2.0.xsd +863 -0
  142. data/test/br_nfe/service/sc/florianopolis/XSD/xmldsig-core-schema.xsd +309 -0
  143. data/test/br_nfe/service/sc/florianopolis/base_test.rb +20 -0
  144. data/test/br_nfe/service/sc/florianopolis/cancellation_test.rb +36 -0
  145. data/test/br_nfe/service/sc/florianopolis/emission_rps_test.rb +145 -0
  146. data/test/br_nfe/service/sc/gaspar/cancela_nfse_test.rb +21 -0
  147. data/test/br_nfe/service/sc/gaspar/consulta_nfs_por_rps_test.rb +21 -0
  148. data/test/br_nfe/service/sc/gaspar/consulta_nfse_test.rb +21 -0
  149. data/test/br_nfe/service/sc/gaspar/consulta_situacao_lote_rps_test.rb +21 -0
  150. data/test/br_nfe/service/sc/gaspar/recepcao_lote_rps_limitado_test.rb +22 -0
  151. data/test/br_nfe/service/sc/gaspar/recepcao_lote_rps_test.rb +22 -0
  152. data/test/br_nfe/service/thema/v1/base_test.rb +65 -0
  153. data/test/br_nfe/service/thema/v1/cancela_nfse_test.rb +56 -0
  154. data/test/br_nfe/service/thema/v1/consulta_lote_rps_test.rb +47 -0
  155. data/test/br_nfe/service/thema/v1/consulta_nfs_por_rps_test.rb +50 -0
  156. data/test/br_nfe/service/thema/v1/consulta_nfse_test.rb +50 -0
  157. data/test/br_nfe/service/thema/v1/consulta_situacao_lote_rps_test.rb +47 -0
  158. data/test/br_nfe/service/thema/v1/recepcao_lote_rps_test.rb +62 -0
  159. data/test/br_nfe/service/thema/v1/recepcao_lote_rps_test_limitado.rb +50 -0
  160. data/test/br_nfe/service/thema/v1/xsd/nfse.xsd +656 -0
  161. data/test/br_nfe/service/thema/v1/xsd/xmldsig-core-schema20020212.xsd +318 -0
  162. data/test/br_nfe/service/xsd/v1/nfse.xsd +779 -0
  163. data/test/br_nfe/service/xsd/v1/xmldsig-core-schema20020212.xsd +316 -0
  164. data/test/cert.pfx +0 -0
  165. data/test/factories/base.rb +2 -0
  166. data/test/factories/destinatario.rb +3 -3
  167. data/test/factories/response/service/build_response.rb +5 -0
  168. data/test/factories/response/service/default.rb +10 -0
  169. data/test/factories/{servico/response → response/service}/nota_fiscal.rb +9 -9
  170. data/test/factories/service/base.rb +6 -0
  171. data/test/factories/service/betha/base.rb +4 -0
  172. data/test/factories/service/betha/v1/cancelamento_nfs.rb +9 -0
  173. data/test/factories/{servico → service}/betha/v1/consulta_lote_rps.rb +2 -2
  174. data/test/factories/{servico → service}/betha/v1/consulta_nfs_por_rps.rb +1 -1
  175. data/test/factories/service/betha/v1/consulta_nfse.rb +8 -0
  176. data/test/factories/{servico → service}/betha/v1/consulta_situacao_lote_rps.rb +2 -2
  177. data/test/factories/{servico → service}/betha/v1/gateway.rb +1 -1
  178. data/test/factories/service/betha/v1/recepcao_lote_rps.rb +8 -0
  179. data/test/factories/{servico → service}/intermediario.rb +2 -2
  180. data/test/factories/service/item.rb +12 -0
  181. data/test/factories/service/rps.rb +50 -0
  182. data/test/factories/service/sc/florianopolis/base.rb +5 -0
  183. data/test/factories/service/sc/florianopolis/cancellation.rb +7 -0
  184. data/test/factories/service/sc/florianopolis/emission_rps.rb +7 -0
  185. data/test/factories/service/sc/gaspar/cancela_nfse.rb +9 -0
  186. data/test/factories/service/sc/gaspar/consulta_lote_rps.rb +7 -0
  187. data/test/factories/service/sc/gaspar/consulta_nfs_por_rps.rb +6 -0
  188. data/test/factories/service/sc/gaspar/consulta_nfse.rb +8 -0
  189. data/test/factories/service/sc/gaspar/consulta_situacao_lote_rps.rb +6 -0
  190. data/test/factories/service/sc/gaspar/recepcao_lote_rps.rb +9 -0
  191. data/test/factories/service/sc/gaspar/recepcao_lote_rps_limitado.rb +9 -0
  192. data/test/factories/service/thema/v1/base.rb +7 -0
  193. data/test/factories/service/thema/v1/cancela_nfse.rb +9 -0
  194. data/test/factories/service/thema/v1/consulta_lote_rps.rb +7 -0
  195. data/test/factories/service/thema/v1/consulta_nfs_por_rps.rb +6 -0
  196. data/test/factories/service/thema/v1/consulta_nfse.rb +8 -0
  197. data/test/factories/service/thema/v1/consulta_situacao_lote_rps.rb +6 -0
  198. data/test/factories/service/thema/v1/recepcao_lote_rps.rb +9 -0
  199. data/test/factories/service/thema/v1/recepcao_lote_rps_limitado.rb +8 -0
  200. data/test/test_helper.rb +42 -0
  201. metadata +338 -121
  202. data/lib/br_nfe/servico/base.rb +0 -35
  203. data/lib/br_nfe/servico/betha/base.rb +0 -85
  204. data/lib/br_nfe/servico/betha/build_response.rb +0 -141
  205. data/lib/br_nfe/servico/betha/v1/build_response.rb +0 -121
  206. data/lib/br_nfe/servico/betha/v1/cancelamento_nfs.rb +0 -52
  207. data/lib/br_nfe/servico/betha/v1/consulta_lote_rps.rb +0 -33
  208. data/lib/br_nfe/servico/betha/v1/consulta_nfs_por_rps.rb +0 -37
  209. data/lib/br_nfe/servico/betha/v1/consulta_nfse.rb +0 -51
  210. data/lib/br_nfe/servico/betha/v1/consulta_situacao_lote_rps.rb +0 -18
  211. data/lib/br_nfe/servico/betha/v1/gateway.rb +0 -125
  212. data/lib/br_nfe/servico/betha/v1/recepcao_lote_rps.rb +0 -97
  213. data/lib/br_nfe/servico/betha/v2/build_response.rb +0 -159
  214. data/lib/br_nfe/servico/betha/v2/cancelamento_nfs.rb +0 -30
  215. data/lib/br_nfe/servico/betha/v2/consulta_lote_rps.rb +0 -30
  216. data/lib/br_nfe/servico/betha/v2/consulta_nfse_por_rps.rb +0 -27
  217. data/lib/br_nfe/servico/betha/v2/envio_lote_rps_sincrono.rb +0 -30
  218. data/lib/br_nfe/servico/betha/v2/gateway.rb +0 -230
  219. data/lib/br_nfe/servico/betha/v2/gera_nfse.rb +0 -30
  220. data/lib/br_nfe/servico/betha/v2/recepcao_lote_rps.rb +0 -52
  221. data/lib/br_nfe/servico/betha/v2/substituicao_nfse.rb +0 -43
  222. data/lib/br_nfe/servico/response/default.rb +0 -34
  223. data/lib/br_nfe/servico/rps.rb +0 -108
  224. data/test/br_nfe/servico/betha/base_test.rb +0 -135
  225. data/test/br_nfe/servico/betha/v1/build_response_test.rb +0 -557
  226. data/test/br_nfe/servico/betha/v1/cancelamento_nfs_test.rb +0 -72
  227. data/test/br_nfe/servico/betha/v1/consulta_lote_rps_test.rb +0 -46
  228. data/test/br_nfe/servico/betha/v1/consulta_nfs_por_rps_test.rb +0 -68
  229. data/test/br_nfe/servico/betha/v1/consulta_nfse_test.rb +0 -74
  230. data/test/br_nfe/servico/betha/v1/consulta_situacao_lote_rps_test.rb +0 -27
  231. data/test/br_nfe/servico/betha/v1/gateway_test.rb +0 -151
  232. data/test/br_nfe/servico/betha/v1/recepcao_lote_rps_test.rb +0 -249
  233. data/test/br_nfe/servico/betha/v2/cancelamento_nfs_test.rb +0 -44
  234. data/test/br_nfe/servico/betha/v2/consulta_lote_rps_test.rb +0 -38
  235. data/test/br_nfe/servico/betha/v2/consulta_nfse_por_rps_test.rb +0 -36
  236. data/test/br_nfe/servico/betha/v2/envio_lote_rps_sincrono_test.rb +0 -51
  237. data/test/br_nfe/servico/betha/v2/gateway_test.rb +0 -372
  238. data/test/br_nfe/servico/betha/v2/gera_nfse_test.rb +0 -62
  239. data/test/br_nfe/servico/betha/v2/recepcao_lote_rps_test.rb +0 -108
  240. data/test/br_nfe/servico/betha/v2/substituicao_nfse_test.rb +0 -84
  241. data/test/br_nfe/servico/response/default_test.rb +0 -54
  242. data/test/factories/servico/base.rb +0 -5
  243. data/test/factories/servico/betha/base.rb +0 -5
  244. data/test/factories/servico/betha/v1/build_response.rb +0 -6
  245. data/test/factories/servico/betha/v1/cancelamento_nfs.rb +0 -7
  246. data/test/factories/servico/betha/v1/consulta_nfse.rb +0 -8
  247. data/test/factories/servico/betha/v1/recepcao_lote_rps.rb +0 -6
  248. data/test/factories/servico/betha/v2/cancelamento_nfs.rb +0 -7
  249. data/test/factories/servico/betha/v2/consulta_lote_rps.rb +0 -6
  250. data/test/factories/servico/betha/v2/consulta_nfse_por_rps.rb +0 -6
  251. data/test/factories/servico/betha/v2/envio_lote_rps_sincrono.rb +0 -5
  252. data/test/factories/servico/betha/v2/gateway.rb +0 -5
  253. data/test/factories/servico/betha/v2/gera_nfse.rb +0 -6
  254. data/test/factories/servico/betha/v2/recepcao_lote_rps.rb +0 -5
  255. data/test/factories/servico/betha/v2/substituicao_nfse.rb +0 -8
  256. data/test/factories/servico/response/default.rb +0 -10
  257. data/test/factories/servico/rps.rb +0 -44
@@ -0,0 +1,316 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Schema for XML Signatures
3
+ http://www.w3.org/2000/09/xmldsig#
4
+ $Revision: 1.7 $ on $Date: 2007/09/20 19:06:50 $ by $Author: p052373 $
5
+
6
+ Copyright 2001 The Internet Society and W3C (Massachusetts Institute
7
+ of Technology, Institut National de Recherche en Informatique et en
8
+ Automatique, Keio University). All Rights Reserved.
9
+ http://www.w3.org/Consortium/Legal/
10
+
11
+ This document is governed by the W3C Software License [1] as described
12
+ in the FAQ [2].
13
+
14
+ [1] http://www.w3.org/Consortium/Legal/copyright-software-19980720
15
+ [2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD
16
+ -->
17
+
18
+ <!--
19
+
20
+ Download em 23/02/2007
21
+ Link:
22
+ http://www.w3.org/TR/xmldsig-core/#sec-Schema
23
+ http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd
24
+
25
+ -->
26
+
27
+ <schema xmlns="http://www.w3.org/2001/XMLSchema"
28
+ xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
29
+ targetNamespace="http://www.w3.org/2000/09/xmldsig#"
30
+ version="0.1" elementFormDefault="qualified">
31
+
32
+ <!-- Basic Types Defined for Signatures -->
33
+
34
+ <simpleType name="CryptoBinary">
35
+ <restriction base="base64Binary">
36
+ </restriction>
37
+ </simpleType>
38
+
39
+ <!-- Start Signature -->
40
+
41
+ <element name="Signature" type="ds:SignatureType"/>
42
+ <complexType name="SignatureType">
43
+ <sequence>
44
+ <element ref="ds:SignedInfo"/>
45
+ <element ref="ds:SignatureValue"/>
46
+ <element ref="ds:KeyInfo" minOccurs="0"/>
47
+ <element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/>
48
+ </sequence>
49
+ <attribute name="Id" type="ID" use="optional"/>
50
+ </complexType>
51
+
52
+ <element name="SignatureValue" type="ds:SignatureValueType"/>
53
+ <complexType name="SignatureValueType">
54
+ <simpleContent>
55
+ <extension base="base64Binary">
56
+ <attribute name="Id" type="ID" use="optional"/>
57
+ </extension>
58
+ </simpleContent>
59
+ </complexType>
60
+
61
+ <!-- Start SignedInfo -->
62
+
63
+ <element name="SignedInfo" type="ds:SignedInfoType"/>
64
+ <complexType name="SignedInfoType">
65
+ <sequence>
66
+ <element ref="ds:CanonicalizationMethod"/>
67
+ <element ref="ds:SignatureMethod"/>
68
+ <element ref="ds:Reference" maxOccurs="unbounded"/>
69
+ </sequence>
70
+ <attribute name="Id" type="ID" use="optional"/>
71
+ </complexType>
72
+
73
+ <element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/>
74
+ <complexType name="CanonicalizationMethodType" mixed="true">
75
+ <sequence>
76
+ <any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>
77
+ <!-- (0,unbounded) elements from (1,1) namespace -->
78
+ </sequence>
79
+ <attribute name="Algorithm" type="anyURI" use="required"/>
80
+ </complexType>
81
+
82
+ <element name="SignatureMethod" type="ds:SignatureMethodType"/>
83
+ <complexType name="SignatureMethodType" mixed="true">
84
+ <sequence>
85
+ <element name="HMACOutputLength" minOccurs="0" type="ds:HMACOutputLengthType"/>
86
+ <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
87
+ <!-- (0,unbounded) elements from (1,1) external namespace -->
88
+ </sequence>
89
+ <attribute name="Algorithm" type="anyURI" use="required"/>
90
+ </complexType>
91
+
92
+ <!-- Start Reference -->
93
+
94
+ <element name="Reference" type="ds:ReferenceType"/>
95
+ <complexType name="ReferenceType">
96
+ <sequence>
97
+ <element ref="ds:Transforms" minOccurs="0"/>
98
+ <element ref="ds:DigestMethod"/>
99
+ <element ref="ds:DigestValue"/>
100
+ </sequence>
101
+ <attribute name="Id" type="ID" use="optional"/>
102
+ <attribute name="URI" type="anyURI" use="optional"/>
103
+ <attribute name="Type" type="anyURI" use="optional"/>
104
+ </complexType>
105
+
106
+ <element name="Transforms" type="ds:TransformsType"/>
107
+ <complexType name="TransformsType">
108
+ <sequence>
109
+ <element ref="ds:Transform" maxOccurs="unbounded"/>
110
+ </sequence>
111
+ </complexType>
112
+
113
+ <element name="Transform" type="ds:TransformType"/>
114
+ <complexType name="TransformType" mixed="true">
115
+ <choice minOccurs="0" maxOccurs="unbounded">
116
+ <any namespace="##other" processContents="lax"/>
117
+ <!-- (1,1) elements from (0,unbounded) namespaces -->
118
+ <element name="XPath" type="string"/>
119
+ </choice>
120
+ <attribute name="Algorithm" type="anyURI" use="required"/>
121
+ </complexType>
122
+
123
+ <!-- End Reference -->
124
+
125
+ <element name="DigestMethod" type="ds:DigestMethodType"/>
126
+ <complexType name="DigestMethodType" mixed="true">
127
+ <sequence>
128
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
129
+ </sequence>
130
+ <attribute name="Algorithm" type="anyURI" use="required"/>
131
+ </complexType>
132
+
133
+ <element name="DigestValue" type="ds:DigestValueType"/>
134
+ <simpleType name="DigestValueType">
135
+ <restriction base="base64Binary"/>
136
+ </simpleType>
137
+
138
+ <!-- End SignedInfo -->
139
+
140
+ <!-- Start KeyInfo -->
141
+
142
+ <element name="KeyInfo" type="ds:KeyInfoType"/>
143
+ <complexType name="KeyInfoType" mixed="true">
144
+ <choice maxOccurs="unbounded">
145
+ <element ref="ds:KeyName"/>
146
+ <element ref="ds:KeyValue"/>
147
+ <element ref="ds:RetrievalMethod"/>
148
+ <element ref="ds:X509Data"/>
149
+ <element ref="ds:PGPData"/>
150
+ <element ref="ds:SPKIData"/>
151
+ <element ref="ds:MgmtData"/>
152
+ <any processContents="lax" namespace="##other"/>
153
+ <!-- (1,1) elements from (0,unbounded) namespaces -->
154
+ </choice>
155
+ <attribute name="Id" type="ID" use="optional"/>
156
+ </complexType>
157
+
158
+ <element name="KeyName" type="string"/>
159
+ <element name="MgmtData" type="string"/>
160
+
161
+ <element name="KeyValue" type="ds:KeyValueType"/>
162
+ <complexType name="KeyValueType" mixed="true">
163
+ <choice>
164
+ <element ref="ds:DSAKeyValue"/>
165
+ <element ref="ds:RSAKeyValue"/>
166
+ <any namespace="##other" processContents="lax"/>
167
+ </choice>
168
+ </complexType>
169
+
170
+ <element name="RetrievalMethod" type="ds:RetrievalMethodType"/>
171
+ <complexType name="RetrievalMethodType">
172
+ <sequence>
173
+ <element ref="ds:Transforms" minOccurs="0"/>
174
+ </sequence>
175
+ <attribute name="URI" type="anyURI"/>
176
+ <attribute name="Type" type="anyURI" use="optional"/>
177
+ </complexType>
178
+
179
+ <!-- Start X509Data -->
180
+
181
+ <element name="X509Data" type="ds:X509DataType"/>
182
+ <complexType name="X509DataType">
183
+ <sequence maxOccurs="unbounded">
184
+ <choice>
185
+ <element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>
186
+ <element name="X509SKI" type="base64Binary"/>
187
+ <element name="X509SubjectName" type="string"/>
188
+ <element name="X509Certificate" type="base64Binary"/>
189
+ <element name="X509CRL" type="base64Binary"/>
190
+ <any namespace="##other" processContents="lax"/>
191
+ </choice>
192
+ </sequence>
193
+ </complexType>
194
+
195
+ <complexType name="X509IssuerSerialType">
196
+ <sequence>
197
+ <element name="X509IssuerName" type="string"/>
198
+ <element name="X509SerialNumber" type="integer"/>
199
+ </sequence>
200
+ </complexType>
201
+
202
+ <!-- End X509Data -->
203
+
204
+ <!-- Begin PGPData -->
205
+
206
+ <element name="PGPData" type="ds:PGPDataType"/>
207
+ <complexType name="PGPDataType">
208
+ <choice>
209
+ <sequence>
210
+ <element name="PGPKeyID" type="base64Binary"/>
211
+ <element name="PGPKeyPacket" type="base64Binary" minOccurs="0"/>
212
+ <any namespace="##other" processContents="lax" minOccurs="0"
213
+ maxOccurs="unbounded"/>
214
+ </sequence>
215
+ <sequence>
216
+ <element name="PGPKeyPacket" type="base64Binary"/>
217
+ <any namespace="##other" processContents="lax" minOccurs="0"
218
+ maxOccurs="unbounded"/>
219
+ </sequence>
220
+ </choice>
221
+ </complexType>
222
+
223
+ <!-- End PGPData -->
224
+
225
+ <!-- Begin SPKIData -->
226
+
227
+ <element name="SPKIData" type="ds:SPKIDataType"/>
228
+ <complexType name="SPKIDataType">
229
+ <sequence maxOccurs="unbounded">
230
+ <element name="SPKISexp" type="base64Binary"/>
231
+ <any namespace="##other" processContents="lax" minOccurs="0"/>
232
+ </sequence>
233
+ </complexType>
234
+
235
+ <!-- End SPKIData -->
236
+
237
+ <!-- End KeyInfo -->
238
+
239
+ <!-- Start Object (Manifest, SignatureProperty) -->
240
+
241
+ <element name="Object" type="ds:ObjectType"/>
242
+ <complexType name="ObjectType" mixed="true">
243
+ <sequence minOccurs="0" maxOccurs="unbounded">
244
+ <any namespace="##any" processContents="lax"/>
245
+ </sequence>
246
+ <attribute name="Id" type="ID" use="optional"/>
247
+ <attribute name="MimeType" type="string" use="optional"/> <!-- add a grep facet -->
248
+ <attribute name="Encoding" type="anyURI" use="optional"/>
249
+ </complexType>
250
+
251
+ <element name="Manifest" type="ds:ManifestType"/>
252
+ <complexType name="ManifestType">
253
+ <sequence>
254
+ <element ref="ds:Reference" maxOccurs="unbounded"/>
255
+ </sequence>
256
+ <attribute name="Id" type="ID" use="optional"/>
257
+ </complexType>
258
+
259
+ <element name="SignatureProperties" type="ds:SignaturePropertiesType"/>
260
+ <complexType name="SignaturePropertiesType">
261
+ <sequence>
262
+ <element ref="ds:SignatureProperty" maxOccurs="unbounded"/>
263
+ </sequence>
264
+ <attribute name="Id" type="ID" use="optional"/>
265
+ </complexType>
266
+
267
+ <element name="SignatureProperty" type="ds:SignaturePropertyType"/>
268
+ <complexType name="SignaturePropertyType" mixed="true">
269
+ <choice maxOccurs="unbounded">
270
+ <any namespace="##other" processContents="lax"/>
271
+ <!-- (1,1) elements from (1,unbounded) namespaces -->
272
+ </choice>
273
+ <attribute name="Target" type="anyURI" use="required"/>
274
+ <attribute name="Id" type="ID" use="optional"/>
275
+ </complexType>
276
+
277
+ <!-- End Object (Manifest, SignatureProperty) -->
278
+
279
+ <!-- Start Algorithm Parameters -->
280
+
281
+ <simpleType name="HMACOutputLengthType">
282
+ <restriction base="integer"/>
283
+ </simpleType>
284
+
285
+ <!-- Start KeyValue Element-types -->
286
+
287
+ <element name="DSAKeyValue" type="ds:DSAKeyValueType"/>
288
+ <complexType name="DSAKeyValueType">
289
+ <sequence>
290
+ <sequence minOccurs="0">
291
+ <element name="P" type="ds:CryptoBinary"/>
292
+ <element name="Q" type="ds:CryptoBinary"/>
293
+ </sequence>
294
+ <element name="G" type="ds:CryptoBinary" minOccurs="0"/>
295
+ <element name="Y" type="ds:CryptoBinary"/>
296
+ <element name="J" type="ds:CryptoBinary" minOccurs="0"/>
297
+ <sequence minOccurs="0">
298
+ <element name="Seed" type="ds:CryptoBinary"/>
299
+ <element name="PgenCounter" type="ds:CryptoBinary"/>
300
+ </sequence>
301
+ </sequence>
302
+ </complexType>
303
+
304
+ <element name="RSAKeyValue" type="ds:RSAKeyValueType"/>
305
+ <complexType name="RSAKeyValueType">
306
+ <sequence>
307
+ <element name="Modulus" type="ds:CryptoBinary"/>
308
+ <element name="Exponent" type="ds:CryptoBinary"/>
309
+ </sequence>
310
+ </complexType>
311
+
312
+ <!-- End KeyValue Element-types -->
313
+
314
+ <!-- End Signature -->
315
+
316
+ </schema>
data/test/cert.pfx ADDED
Binary file
@@ -1,5 +1,7 @@
1
1
  FactoryGirl.define do
2
2
  factory :br_nfe_base, class: BrNfe::Base do
3
3
  emitente { FactoryGirl.build(:emitente) }
4
+ certificate_pkcs12_password 'associacao'
5
+ certificate_pkcs12_path { "#{BrNfe.root}/test/cert.pfx" }
4
6
  end
5
7
  end
@@ -1,10 +1,10 @@
1
1
  FactoryGirl.define do
2
2
  factory :destinatario, class: BrNfe::Destinatario do
3
3
  cpf_cnpj "767.345.234-03"
4
- inscricao_municipal '6656-9'
5
- inscricao_estadual '8888-9'
4
+ inscricao_municipal '66569'
5
+ inscricao_estadual '88889'
6
6
  razao_social "João das Coves"
7
- telefone "6204000"
7
+ telefone "33665544"
8
8
  email "mail@mail.com"
9
9
  endereco { FactoryGirl.build(:endereco) }
10
10
  end
@@ -0,0 +1,5 @@
1
+ FactoryGirl.define do
2
+ factory :service_build_response, class: BrNfe::Response::Service::BuildResponse do
3
+
4
+ end
5
+ end
@@ -0,0 +1,10 @@
1
+ FactoryGirl.define do
2
+ factory :response_service_default, class: BrNfe::Response::Service::Default do
3
+ status :success
4
+ error_messages { [] }
5
+ notas_fiscais { [FactoryGirl.build(:response_service_nota_fiscal)] }
6
+ protocolo '6988965463213549'
7
+ data_recebimento { DateTime.parse('10/09/2015 03:00:00') }
8
+ numero_lote '111'
9
+ end
10
+ end
@@ -1,5 +1,5 @@
1
1
  FactoryGirl.define do
2
- factory :response_nota_fiscal, class: BrNfe::Servico::Response::NotaFiscal do
2
+ factory :response_service_nota_fiscal, class: BrNfe::Response::Service::NotaFiscal do
3
3
  intermediario { FactoryGirl.build(:intermediario) }
4
4
  destinatario { FactoryGirl.build(:destinatario) }
5
5
  emitente { FactoryGirl.build(:emitente) }
@@ -15,20 +15,20 @@ FactoryGirl.define do
15
15
  competencia "1"
16
16
  outras_informacoes "outras info"
17
17
  item_lista_servico "0107"
18
- codigo_cnae ""
19
- discriminacao "SERVIÇO SOBRE ALGO"
18
+ cnae_code ""
19
+ description "SERVIÇO SOBRE ALGO"
20
20
  codigo_municipio "4204202"
21
- valor_servicos "100.0"
22
- valor_deducoes "0"
21
+ total_services "100.0"
22
+ deductions "0"
23
23
  valor_pis "0"
24
24
  valor_cofins "0"
25
25
  valor_inss "0"
26
26
  valor_ir "0"
27
27
  valor_csll "0"
28
- iss_retido "2"
29
- valor_iss "2"
30
- base_calculo "100.0"
31
- aliquota "0.02"
28
+ iss_retained "2"
29
+ total_iss "2"
30
+ base_calculation "100.0"
31
+ iss_tax_rate "0.02"
32
32
  desconto_condicionado ""
33
33
  desconto_incondicionado ""
34
34
  orgao_gerador_municipio "4204202"
@@ -0,0 +1,6 @@
1
+ FactoryGirl.define do
2
+ factory :br_nfe_servico_base, class: BrNfe::Service::Base do
3
+ certificate_pkcs12_password 'associacao'
4
+ certificate_pkcs12_path { "#{BrNfe.root}/test/cert.pfx" }
5
+ end
6
+ end
@@ -0,0 +1,4 @@
1
+ FactoryGirl.define do
2
+ factory :br_nfe_servico_betha_base, class: BrNfe::Service::Betha::Base do
3
+ end
4
+ end
@@ -0,0 +1,9 @@
1
+ FactoryGirl.define do
2
+ factory :servico_betha_cancelamento_nfs, class: BrNfe::Service::Betha::V1::CancelamentoNfs do
3
+ nfe_number '3365'
4
+ codigo_cancelamento '1'
5
+ certificate_pkcs12_password 'associacao'
6
+ certificate_pkcs12_path { "#{BrNfe.root}/test/cert.pfx" }
7
+
8
+ end
9
+ end
@@ -1,6 +1,6 @@
1
1
  FactoryGirl.define do
2
- factory :servico_betha_consulta_lote_rps, class: BrNfe::Servico::Betha::V1::ConsultaLoteRps do
3
- protocolo '66665498735135768'
2
+ factory :servico_betha_consulta_lote_rps, class: BrNfe::Service::Betha::V1::ConsultaLoteRps do
3
+ protocolo '1234567890'
4
4
  emitente { FactoryGirl.build(:emitente) }
5
5
  end
6
6
  end
@@ -1,5 +1,5 @@
1
1
  FactoryGirl.define do
2
- factory :servico_betha_consulta_nfs_por_rps, class: BrNfe::Servico::Betha::V1::ConsultaNfsPorRps do
2
+ factory :servico_betha_consulta_nfs_por_rps, class: BrNfe::Service::Betha::V1::ConsultaNfsPorRps do
3
3
  rps { FactoryGirl.build(:br_nfe_rps) }
4
4
  emitente { FactoryGirl.build(:emitente) }
5
5
  end
@@ -0,0 +1,8 @@
1
+ FactoryGirl.define do
2
+ factory :servico_betha_consulta_nfse, class: BrNfe::Service::Betha::V1::ConsultaNfse do
3
+ nfe_number '5566778'
4
+ start_date { Date.yesterday }
5
+ end_date { Date.today }
6
+ emitente { FactoryGirl.build(:emitente) }
7
+ end
8
+ end