phaxio 0.5.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -1
  3. data/.travis.yml +2 -1
  4. data/Gemfile +10 -0
  5. data/README.md +260 -73
  6. data/Rakefile +6 -16
  7. data/lib/phaxio.rb +47 -3
  8. data/lib/phaxio/client.rb +117 -484
  9. data/lib/phaxio/config.rb +31 -0
  10. data/lib/phaxio/error.rb +13 -0
  11. data/lib/phaxio/helpers/mime_type_helper.rb +14 -0
  12. data/lib/phaxio/resource.rb +168 -0
  13. data/lib/phaxio/resources.rb +7 -0
  14. data/lib/phaxio/resources/account.rb +41 -0
  15. data/lib/phaxio/resources/callback.rb +65 -0
  16. data/lib/phaxio/resources/fax.rb +310 -0
  17. data/lib/phaxio/resources/fax_recipient.rb +41 -0
  18. data/lib/phaxio/resources/phax_code.rb +89 -0
  19. data/lib/phaxio/resources/phone_number.rb +112 -0
  20. data/lib/phaxio/resources/public.rb +8 -0
  21. data/lib/phaxio/resources/public/area_code.rb +64 -0
  22. data/lib/phaxio/resources/public/country.rb +54 -0
  23. data/lib/phaxio/version.rb +1 -1
  24. data/phaxio.gemspec +9 -12
  25. data/spec/client_spec.rb +132 -0
  26. data/spec/helpers/mime_type_helper_spec.rb +11 -0
  27. data/spec/phaxio_spec.rb +20 -0
  28. data/spec/resources/account_spec.rb +24 -0
  29. data/spec/resources/callback_spec.rb +34 -0
  30. data/spec/resources/fax_spec.rb +227 -0
  31. data/spec/resources/phax_code_spec.rb +83 -0
  32. data/spec/resources/phone_number_spec.rb +89 -0
  33. data/spec/resources/public/area_code_spec.rb +24 -0
  34. data/spec/resources/public/country_spec.rb +24 -0
  35. data/spec/spec_helper.rb +6 -0
  36. data/spec/support/credentials.rb +7 -0
  37. data/spec/support/expectations.rb +9 -0
  38. data/spec/support/files/test.pdf +0 -0
  39. data/spec/support/vcr.rb +9 -0
  40. data/spec/support/vcr_cassettes/resources/account/status.yml +44 -0
  41. data/spec/support/vcr_cassettes/resources/fax/cancel.yml +46 -0
  42. data/spec/support/vcr_cassettes/resources/fax/create.yml +230 -0
  43. data/spec/support/vcr_cassettes/resources/fax/delete.yml +44 -0
  44. data/spec/support/vcr_cassettes/resources/fax/delete_file.yml +44 -0
  45. data/spec/support/vcr_cassettes/resources/fax/file.yml +251 -0
  46. data/spec/support/vcr_cassettes/resources/fax/get.yml +44 -0
  47. data/spec/support/vcr_cassettes/resources/fax/list.yml +56 -0
  48. data/spec/support/vcr_cassettes/resources/fax/resend.yml +46 -0
  49. data/spec/support/vcr_cassettes/resources/fax/test_receive.yml +231 -0
  50. data/spec/support/vcr_cassettes/resources/phax_code/create.yml +100 -0
  51. data/spec/support/vcr_cassettes/resources/phax_code/get.yml +190 -0
  52. data/spec/support/vcr_cassettes/resources/phone_number/create.yml +47 -0
  53. data/spec/support/vcr_cassettes/resources/phone_number/get.yml +45 -0
  54. data/spec/support/vcr_cassettes/resources/phone_number/list.yml +52 -0
  55. data/spec/support/vcr_cassettes/resources/phone_number/release.yml +44 -0
  56. data/spec/support/vcr_cassettes/resources/public/area_codes/list.yml +77 -0
  57. data/spec/support/vcr_cassettes/resources/public/country/list.yml +54 -0
  58. metadata +70 -82
  59. data/.ruby-version +0 -1
  60. data/CHANGELOG +0 -6
  61. data/test/files/test.pdf +0 -0
  62. data/test/integration/phaxio_integration_test.rb +0 -45
  63. data/test/support/responses/account_status.json +0 -9
  64. data/test/support/responses/cancel_success.json +0 -4
  65. data/test/support/responses/fax_status_success.json +0 -21
  66. data/test/support/responses/list_faxes.json +0 -68
  67. data/test/support/responses/list_numbers.json +0 -22
  68. data/test/support/responses/provision_number.json +0 -12
  69. data/test/support/responses/release_number.json +0 -7
  70. data/test/support/responses/send_failure.json +0 -8
  71. data/test/support/responses/send_success.json +0 -8
  72. data/test/support/responses/test.pdf +0 -0
  73. data/test/support/responses/test_receive.json +0 -4
  74. data/test/test_helper.rb +0 -57
  75. data/test/test_phaxio.rb +0 -128
@@ -0,0 +1,77 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.phaxio.com/v2/public/area_codes?api_key=<API_KEY>&api_secret=<API_SECRET>
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.13.1
12
+ response:
13
+ status:
14
+ code: 200
15
+ message:
16
+ headers:
17
+ cache-control:
18
+ - max-age=0, private, must-revalidate
19
+ content-type:
20
+ - application/json; charset=utf-8
21
+ date:
22
+ - Thu, 07 Dec 2017 20:38:37 GMT
23
+ etag:
24
+ - W/"56470adee9a78769884080bc4b628386"
25
+ server:
26
+ - nginx
27
+ strict-transport-security:
28
+ - max-age=15768000; preload
29
+ x-page:
30
+ - '1'
31
+ x-per-page:
32
+ - '25'
33
+ x-request-id:
34
+ - ed022755-362a-4d88-83e3-e76c7dfb102e
35
+ x-robots-tag:
36
+ - noindex, nofollow, nosnippet, noarchive
37
+ x-runtime:
38
+ - '0.047382'
39
+ x-total:
40
+ - '329'
41
+ content-length:
42
+ - '3538'
43
+ connection:
44
+ - Close
45
+ body:
46
+ encoding: UTF-8
47
+ string: '{"success":true,"message":"Data contains found available area codes","data":[{"country_code":1,"area_code":201,"city":"Bayonne,
48
+ Jersey City, Union City","state":"New Jersey","country":"United States of
49
+ America","toll_free":false},{"country_code":1,"area_code":202,"city":"Washington","state":"District
50
+ of Columbia","country":"United States of America","toll_free":false},{"country_code":1,"area_code":203,"city":"Bridgeport,
51
+ Danbury, Meriden","state":"Connecticut","country":"United States of America","toll_free":false},{"country_code":1,"area_code":204,"city":"Brandon,
52
+ Winnipeg","state":"Manitoba","country":"Canada","toll_free":false},{"country_code":1,"area_code":205,"city":"Birmingham,
53
+ Clanton, Jasper","state":"Alabama","country":"United States of America","toll_free":false},{"country_code":1,"area_code":206,"city":"Seattle","state":"Washington","country":"United
54
+ States of America","toll_free":false},{"country_code":1,"area_code":207,"city":"Portland","state":"Maine","country":"United
55
+ States of America","toll_free":false},{"country_code":1,"area_code":208,"city":"Boise,
56
+ Idaho Falls, Pocatello","state":"Idaho","country":"United States of America","toll_free":false},{"country_code":1,"area_code":209,"city":"Lodi,
57
+ Merced, Modesto","state":"California","country":"United States of America","toll_free":false},{"country_code":1,"area_code":210,"city":"San
58
+ Antonio","state":"Texas","country":"United States of America","toll_free":false},{"country_code":1,"area_code":213,"city":"Los
59
+ Angeles","state":"California","country":"United States of America","toll_free":false},{"country_code":1,"area_code":214,"city":"Dallas","state":"Texas","country":"United
60
+ States of America","toll_free":false},{"country_code":1,"area_code":215,"city":"Levittown,
61
+ Philadelphia","state":"Pennsylvania","country":"United States of America","toll_free":false},{"country_code":1,"area_code":216,"city":"Cleveland,
62
+ Euclid, Lakewood","state":"Ohio","country":"United States of America","toll_free":false},{"country_code":1,"area_code":217,"city":"Champaign,
63
+ Decatur, Springfield","state":"Illinois","country":"United States of America","toll_free":false},{"country_code":1,"area_code":218,"city":"Duluth,
64
+ Ely, Moorhead","state":"Minnesota","country":"United States of America","toll_free":false},{"country_code":1,"area_code":219,"city":"Gary,
65
+ Hammond","state":"Indiana","country":"United States of America","toll_free":false},{"country_code":1,"area_code":224,"city":"Arlington
66
+ Heights, Evanston, Skokie","state":"Illinois","country":"United States of
67
+ America","toll_free":false},{"country_code":1,"area_code":225,"city":"Baton
68
+ Rouge","state":"Louisiana","country":"United States of America","toll_free":false},{"country_code":1,"area_code":226,"city":"Kitchener,
69
+ London, Windsor","state":"Ontario","country":"Canada","toll_free":false},{"country_code":1,"area_code":228,"city":"Biloxi,
70
+ Gulfport","state":"Mississippi","country":"United States of America","toll_free":false},{"country_code":1,"area_code":229,"city":"Albany,
71
+ Americus, Bainbridge","state":"Georgia","country":"United States of America","toll_free":false},{"country_code":1,"area_code":231,"city":"Grant","state":"Michigan","country":"United
72
+ States of America","toll_free":false},{"country_code":1,"area_code":234,"city":"Akron,
73
+ Canton, Youngstown","state":"Ohio","country":"United States of America","toll_free":false},{"country_code":1,"area_code":236,"city":"Vancouver","state":"British
74
+ Columbia","country":"Canada","toll_free":false}],"paging":{"total":329,"per_page":25,"page":1}}'
75
+ http_version:
76
+ recorded_at: Thu, 07 Dec 2017 20:38:37 GMT
77
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,54 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.phaxio.com/v2/public/countries?api_key=<API_KEY>&api_secret=<API_SECRET>
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.13.1
12
+ response:
13
+ status:
14
+ code: 200
15
+ message:
16
+ headers:
17
+ cache-control:
18
+ - max-age=0, private, must-revalidate
19
+ content-type:
20
+ - application/json; charset=utf-8
21
+ date:
22
+ - Fri, 03 Nov 2017 19:57:20 GMT
23
+ etag:
24
+ - W/"663bfaccf5b6e4ededbd00fd1ec1ef1b"
25
+ server:
26
+ - nginx
27
+ strict-transport-security:
28
+ - max-age=15768000; preload
29
+ x-page:
30
+ - '1'
31
+ x-per-page:
32
+ - '25'
33
+ x-request-id:
34
+ - 38c96146-6edc-4ae5-acd2-4c9cf0ff6f6c
35
+ x-robots-tag:
36
+ - noindex, nofollow, nosnippet, noarchive
37
+ x-runtime:
38
+ - '0.105774'
39
+ x-total:
40
+ - '51'
41
+ content-length:
42
+ - '3128'
43
+ connection:
44
+ - Close
45
+ body:
46
+ encoding: UTF-8
47
+ string: '{"success":true,"message":"Data contains countries info","data":[{"name":"United
48
+ States of America","alpha2":"US","country_code":1,"price_per_page":7,"send_support":"full","receive_support":"full"},{"name":"Canada","alpha2":"CA","country_code":1,"price_per_page":7,"send_support":"full","receive_support":"full"},{"name":"Puerto
49
+ Rico","alpha2":"PR","country_code":1,"price_per_page":10,"send_support":"full","receive_support":"none"},{"name":"Argentina","alpha2":"AR","country_code":54,"price_per_page":10,"send_support":"full","receive_support":"none"},{"name":"Austria","alpha2":"AT","country_code":43,"price_per_page":10,"send_support":"full","receive_support":"none"},{"name":"Australia","alpha2":"AU","country_code":61,"price_per_page":10,"send_support":"full","receive_support":"none"},{"name":"Belgium","alpha2":"BE","country_code":32,"price_per_page":10,"send_support":"full","receive_support":"none"},{"name":"Brazil","alpha2":"BR","country_code":55,"price_per_page":10,"send_support":"full","receive_support":"none"},{"name":"Switzerland","alpha2":"CH","country_code":41,"price_per_page":10,"send_support":"full","receive_support":"none"},{"name":"Germany","alpha2":"DE","country_code":49,"price_per_page":10,"send_support":"full","receive_support":"none"},{"name":"Denmark","alpha2":"DK","country_code":45,"price_per_page":10,"send_support":"full","receive_support":"none"},{"name":"Spain","alpha2":"ES","country_code":34,"price_per_page":10,"send_support":"full","receive_support":"none"},{"name":"France","alpha2":"FR","country_code":33,"price_per_page":10,"send_support":"full","receive_support":"none"},{"name":"United
50
+ Kingdom of Great Britain and Northern Ireland","alpha2":"GB","country_code":44,"price_per_page":10,"send_support":"full","receive_support":"none"},{"name":"Greece","alpha2":"GR","country_code":30,"price_per_page":10,"send_support":"full","receive_support":"none"},{"name":"Hong
51
+ Kong","alpha2":"HK","country_code":852,"price_per_page":10,"send_support":"full","receive_support":"none"},{"name":"Ireland","alpha2":"IE","country_code":353,"price_per_page":10,"send_support":"full","receive_support":"none"},{"name":"Israel","alpha2":"IL","country_code":972,"price_per_page":10,"send_support":"full","receive_support":"none"},{"name":"India","alpha2":"IN","country_code":91,"price_per_page":10,"send_support":"full","receive_support":"none"},{"name":"Italy","alpha2":"IT","country_code":39,"price_per_page":10,"send_support":"full","receive_support":"none"},{"name":"Jersey","alpha2":"JE","country_code":44,"price_per_page":10,"send_support":"full","receive_support":"none"},{"name":"Japan","alpha2":"JP","country_code":81,"price_per_page":10,"send_support":"full","receive_support":"none"},{"name":"Luxembourg","alpha2":"LU","country_code":352,"price_per_page":10,"send_support":"full","receive_support":"none"},{"name":"Netherlands","alpha2":"NL","country_code":31,"price_per_page":10,"send_support":"full","receive_support":"none"},{"name":"Norway","alpha2":"NO","country_code":47,"price_per_page":10,"send_support":"full","receive_support":"none"}],"paging":{"total":51,"per_page":25,"page":1}}'
52
+ http_version:
53
+ recorded_at: Fri, 03 Nov 2017 19:57:20 GMT
54
+ recorded_with: VCR 3.0.3
metadata CHANGED
@@ -1,134 +1,122 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: phaxio
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
- - Josh Nankin
7
+ - Julien Negrotto
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-16 00:00:00.000000000 Z
11
+ date: 2017-12-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: httmultiparty
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: bundler
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: fakeweb
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '1.3'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '1.3'
55
- - !ruby/object:Gem::Dependency
56
- name: rake
14
+ name: faraday
57
15
  requirement: !ruby/object:Gem::Requirement
58
16
  requirements:
59
17
  - - "~>"
60
18
  - !ruby/object:Gem::Version
61
- version: '10'
62
- type: :development
19
+ version: '0.10'
20
+ type: :runtime
63
21
  prerelease: false
64
22
  version_requirements: !ruby/object:Gem::Requirement
65
23
  requirements:
66
24
  - - "~>"
67
25
  - !ruby/object:Gem::Version
68
- version: '10'
26
+ version: '0.10'
69
27
  - !ruby/object:Gem::Dependency
70
- name: minitest
28
+ name: mime-types
71
29
  requirement: !ruby/object:Gem::Requirement
72
30
  requirements:
73
31
  - - "~>"
74
32
  - !ruby/object:Gem::Version
75
- version: '5'
76
- type: :development
33
+ version: '3.0'
34
+ type: :runtime
77
35
  prerelease: false
78
36
  version_requirements: !ruby/object:Gem::Requirement
79
37
  requirements:
80
38
  - - "~>"
81
39
  - !ruby/object:Gem::Version
82
- version: '5'
40
+ version: '3.0'
83
41
  - !ruby/object:Gem::Dependency
84
- name: mocha
42
+ name: activesupport
85
43
  requirement: !ruby/object:Gem::Requirement
86
44
  requirements:
87
- - - "~>"
45
+ - - ">="
88
46
  - !ruby/object:Gem::Version
89
- version: '1.1'
90
- type: :development
47
+ version: '0'
48
+ type: :runtime
91
49
  prerelease: false
92
50
  version_requirements: !ruby/object:Gem::Requirement
93
51
  requirements:
94
- - - "~>"
52
+ - - ">="
95
53
  - !ruby/object:Gem::Version
96
- version: '1.1'
97
- description: Ruby wrapper for the Phaxio API
54
+ version: '0'
55
+ description: Official ruby gem for interacting with Phaxio's API.
98
56
  email:
99
- - support@phaxio.com
57
+ - julien@phaxio.com
100
58
  executables: []
101
59
  extensions: []
102
60
  extra_rdoc_files: []
103
61
  files:
104
62
  - ".gitignore"
105
- - ".ruby-version"
106
63
  - ".travis.yml"
107
- - CHANGELOG
108
64
  - Gemfile
109
65
  - LICENSE
110
66
  - README.md
111
67
  - Rakefile
112
68
  - lib/phaxio.rb
113
69
  - lib/phaxio/client.rb
70
+ - lib/phaxio/config.rb
71
+ - lib/phaxio/error.rb
72
+ - lib/phaxio/helpers/mime_type_helper.rb
73
+ - lib/phaxio/resource.rb
74
+ - lib/phaxio/resources.rb
75
+ - lib/phaxio/resources/account.rb
76
+ - lib/phaxio/resources/callback.rb
77
+ - lib/phaxio/resources/fax.rb
78
+ - lib/phaxio/resources/fax_recipient.rb
79
+ - lib/phaxio/resources/phax_code.rb
80
+ - lib/phaxio/resources/phone_number.rb
81
+ - lib/phaxio/resources/public.rb
82
+ - lib/phaxio/resources/public/area_code.rb
83
+ - lib/phaxio/resources/public/country.rb
114
84
  - lib/phaxio/version.rb
115
85
  - phaxio.gemspec
116
- - test/files/test.pdf
117
- - test/integration/phaxio_integration_test.rb
118
- - test/support/responses/account_status.json
119
- - test/support/responses/cancel_success.json
120
- - test/support/responses/fax_status_success.json
121
- - test/support/responses/list_faxes.json
122
- - test/support/responses/list_numbers.json
123
- - test/support/responses/provision_number.json
124
- - test/support/responses/release_number.json
125
- - test/support/responses/send_failure.json
126
- - test/support/responses/send_success.json
127
- - test/support/responses/test.pdf
128
- - test/support/responses/test_receive.json
129
- - test/test_helper.rb
130
- - test/test_phaxio.rb
131
- homepage: http://github.com/phaxio/phaxio-ruby
86
+ - spec/client_spec.rb
87
+ - spec/helpers/mime_type_helper_spec.rb
88
+ - spec/phaxio_spec.rb
89
+ - spec/resources/account_spec.rb
90
+ - spec/resources/callback_spec.rb
91
+ - spec/resources/fax_spec.rb
92
+ - spec/resources/phax_code_spec.rb
93
+ - spec/resources/phone_number_spec.rb
94
+ - spec/resources/public/area_code_spec.rb
95
+ - spec/resources/public/country_spec.rb
96
+ - spec/spec_helper.rb
97
+ - spec/support/credentials.rb
98
+ - spec/support/expectations.rb
99
+ - spec/support/files/test.pdf
100
+ - spec/support/vcr.rb
101
+ - spec/support/vcr_cassettes/resources/account/status.yml
102
+ - spec/support/vcr_cassettes/resources/fax/cancel.yml
103
+ - spec/support/vcr_cassettes/resources/fax/create.yml
104
+ - spec/support/vcr_cassettes/resources/fax/delete.yml
105
+ - spec/support/vcr_cassettes/resources/fax/delete_file.yml
106
+ - spec/support/vcr_cassettes/resources/fax/file.yml
107
+ - spec/support/vcr_cassettes/resources/fax/get.yml
108
+ - spec/support/vcr_cassettes/resources/fax/list.yml
109
+ - spec/support/vcr_cassettes/resources/fax/resend.yml
110
+ - spec/support/vcr_cassettes/resources/fax/test_receive.yml
111
+ - spec/support/vcr_cassettes/resources/phax_code/create.yml
112
+ - spec/support/vcr_cassettes/resources/phax_code/get.yml
113
+ - spec/support/vcr_cassettes/resources/phone_number/create.yml
114
+ - spec/support/vcr_cassettes/resources/phone_number/get.yml
115
+ - spec/support/vcr_cassettes/resources/phone_number/list.yml
116
+ - spec/support/vcr_cassettes/resources/phone_number/release.yml
117
+ - spec/support/vcr_cassettes/resources/public/area_codes/list.yml
118
+ - spec/support/vcr_cassettes/resources/public/country/list.yml
119
+ homepage: https://github.com/phaxio/phaxio-ruby
132
120
  licenses: []
133
121
  metadata: {}
134
122
  post_install_message:
@@ -139,7 +127,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
139
127
  requirements:
140
128
  - - ">="
141
129
  - !ruby/object:Gem::Version
142
- version: '0'
130
+ version: '2.0'
143
131
  required_rubygems_version: !ruby/object:Gem::Requirement
144
132
  requirements:
145
133
  - - ">="
@@ -147,8 +135,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
147
135
  version: '0'
148
136
  requirements: []
149
137
  rubyforge_project:
150
- rubygems_version: 2.4.6
138
+ rubygems_version: 2.5.1
151
139
  signing_key:
152
140
  specification_version: 4
153
- summary: Ruby wrapper for the Phaxio API
141
+ summary: Official ruby gem for interacting with Phaxio's API.
154
142
  test_files: []
@@ -1 +0,0 @@
1
- 2.2
data/CHANGELOG DELETED
@@ -1,6 +0,0 @@
1
- === 0.4.2 2016-02-15
2
-
3
- * Transferred repo from Gristmill to Phaxio. Thanks guys!
4
- * Support for all API operations
5
- * Support for callback validation using X-Phaxio-Signature
6
- * Sinatra example for handling callback requests
Binary file
@@ -1,45 +0,0 @@
1
- require_relative '../test_helper'
2
- require 'json'
3
-
4
- class PhaxioIntegrationTest < MiniTest::Test
5
- def setup
6
- FakeWeb.clean_registry
7
- configure
8
-
9
- @fax_number = '2025550168'
10
- end
11
-
12
- def test_resend_fax
13
- send_fax(test_fail: 'faxError')
14
- response = Phaxio.resend_fax(id: @send_fax_response['faxId'])
15
- assert response['success']
16
- assert_equal 'Fax queued for resend', response['message']
17
- assert response['data']['faxId'].integer?
18
- end
19
-
20
- def test_delete_fax
21
- send_fax
22
- response = Phaxio.delete_fax(id: @send_fax_response['faxId'])
23
- assert response['success']
24
- assert_equal 'Deleted fax successfully!', response['message']
25
- end
26
-
27
- private
28
-
29
- def configure
30
- Phaxio.config do |config|
31
- config.api_key = ENV.fetch 'PHAXIO_TEST_API_KEY'
32
- config.api_secret = ENV.fetch 'PHAXIO_TEST_API_SECRET'
33
- end
34
- rescue KeyError
35
- raise(KeyError, 'You must set PHAXIO_TEST_API_KEY and ' \
36
- 'PHAXIO_TEST_API_SECRET to run integration tests')
37
- end
38
-
39
- # Convenience method for actions requiring an existing fax
40
- def send_fax(options = {})
41
- params = options.merge(to: @fax_number, string_data: 'test')
42
- @send_fax_response = Phaxio.send_fax(params)
43
- sleep(5)
44
- end
45
- end
@@ -1,9 +0,0 @@
1
- {
2
- "success":true,
3
- "message":"Account status retrieved successfully",
4
- "data":{
5
- "faxes_sent_this_month":120,
6
- "faxes_sent_today":10,
7
- "balance":3000
8
- }
9
- }
@@ -1,4 +0,0 @@
1
- {
2
- "success":true,
3
- "message":"Fax canceled successfully."
4
- }
@@ -1,21 +0,0 @@
1
- {
2
- "success":true,
3
- "message":"Retrieved fax successfully",
4
- "data":{
5
- "id":123456,
6
- "num_pages":3,
7
- "cost":21,
8
- "direction":"sent",
9
- "status":"success",
10
- "is_test":true,
11
- "requested_at":1293910680,
12
- "completed_at":1293911100,
13
- "recipients":[
14
- {
15
- "number":"4141234567",
16
- "status":"success",
17
- "completed_at":1293911100
18
- }
19
- ]
20
- }
21
- }