phaxio 0.5.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
- }