Guest User

Untitled

a guest
Feb 18th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.09 KB | None | 0 0
  1. module Tests
  2. include Integration
  3.  
  4. class TestExecute < Test::Unit::TestCase
  5. def test_default_execution_case
  6. request = Integration::Request.new(registration, card)
  7. response = Transaction.run!(request)
  8. # Do something with the response
  9. end
  10. end
  11. end
  12.  
  13. module Integration
  14.  
  15. class Transaction
  16. def run!(request)
  17. @connection = Connection.new
  18. result = @connection.send_request!(request.to_xml())
  19. check_errors(result)
  20. end
  21.  
  22. private
  23. def check_errors(result)
  24. unless result == Net::HTTPSuccess
  25. raise "Impossível contactar o servidor"
  26. end
  27. result
  28. end
  29. end
  30.  
  31. class Request
  32. def initialize(registration, card)
  33. @registration = registration
  34. @card = card
  35. end
  36.  
  37. def to_xml
  38. xml_builder("requisicao-transacao") do |xml|
  39. xml.numero registration.id
  40. xml.valor registration.training_class.price.to_i * 100
  41. xml.moeda "986"
  42. # Builds the whole XML...
  43. end
  44. end
  45.  
  46. class Response
  47. def initialize(xml)
  48. map={}
  49. xml.each do |element|
  50. element_map = {}
  51. # Parses the xml and defines attributes' values
  52. map.merge!(element.name => element_map)
  53. end
  54. end
  55. end
Add Comment
Please, Sign In to add comment