ruby-bandwidth-iris 1.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 (77) hide show
  1. checksums.yaml +7 -0
  2. data/.editorconfig +13 -0
  3. data/.gitignore +12 -0
  4. data/.rspec +3 -0
  5. data/.travis.yml +7 -0
  6. data/Gemfile +10 -0
  7. data/LICENSE.txt +20 -0
  8. data/README.md +571 -0
  9. data/Rakefile +5 -0
  10. data/examples/account.rb +15 -0
  11. data/examples/available_npa_nxx.rb +17 -0
  12. data/examples/available_number.rb +17 -0
  13. data/examples/city.rb +16 -0
  14. data/examples/config.yml.example +4 -0
  15. data/examples/covered-rate-center.rb +19 -0
  16. data/examples/loa.pdf +0 -0
  17. data/examples/order.rb +51 -0
  18. data/examples/port-in.rb +95 -0
  19. data/examples/sip_peer.rb +60 -0
  20. data/examples/site.rb +29 -0
  21. data/examples/tn.rb +20 -0
  22. data/lib/bandwidth-iris/account.rb +10 -0
  23. data/lib/bandwidth-iris/api_item.rb +36 -0
  24. data/lib/bandwidth-iris/available_npa_nxx.rb +15 -0
  25. data/lib/bandwidth-iris/available_number.rb +15 -0
  26. data/lib/bandwidth-iris/city.rb +15 -0
  27. data/lib/bandwidth-iris/client.rb +232 -0
  28. data/lib/bandwidth-iris/client_wrapper.rb +28 -0
  29. data/lib/bandwidth-iris/covered_rate_center.rb +17 -0
  30. data/lib/bandwidth-iris/disc_number.rb +19 -0
  31. data/lib/bandwidth-iris/disconnect.rb +36 -0
  32. data/lib/bandwidth-iris/dlda.rb +39 -0
  33. data/lib/bandwidth-iris/errors.rb +31 -0
  34. data/lib/bandwidth-iris/import_to_account.rb +24 -0
  35. data/lib/bandwidth-iris/in_service_number.rb +24 -0
  36. data/lib/bandwidth-iris/lidb.rb +24 -0
  37. data/lib/bandwidth-iris/lnp_checker.rb +18 -0
  38. data/lib/bandwidth-iris/lsr_order.rb +58 -0
  39. data/lib/bandwidth-iris/order.rb +76 -0
  40. data/lib/bandwidth-iris/port_in.rb +80 -0
  41. data/lib/bandwidth-iris/port_out.rb +24 -0
  42. data/lib/bandwidth-iris/rate_center.rb +19 -0
  43. data/lib/bandwidth-iris/sip_peer.rb +47 -0
  44. data/lib/bandwidth-iris/site.rb +83 -0
  45. data/lib/bandwidth-iris/subscription.rb +42 -0
  46. data/lib/bandwidth-iris/tn.rb +41 -0
  47. data/lib/bandwidth-iris/tn_reservation.rb +26 -0
  48. data/lib/bandwidth-iris/user.rb +20 -0
  49. data/lib/bandwidth-iris/version.rb +4 -0
  50. data/lib/ruby-bandwidth-iris.rb +29 -0
  51. data/ruby-bandwidth-iris.gemspec +26 -0
  52. data/spec/bandwidth-iris/account_spec.rb +19 -0
  53. data/spec/bandwidth-iris/available_npa_nxx_spec.rb +22 -0
  54. data/spec/bandwidth-iris/available_number_spec.rb +19 -0
  55. data/spec/bandwidth-iris/city_spec.rb +22 -0
  56. data/spec/bandwidth-iris/client_spec.rb +125 -0
  57. data/spec/bandwidth-iris/covered_rate_center_spec.rb +22 -0
  58. data/spec/bandwidth-iris/disconnect_spec.rb +52 -0
  59. data/spec/bandwidth-iris/dlda_spec.rb +47 -0
  60. data/spec/bandwidth-iris/import_to_account_spec.rb +36 -0
  61. data/spec/bandwidth-iris/in_service_number_spec.rb +33 -0
  62. data/spec/bandwidth-iris/lidb_spec.rb +44 -0
  63. data/spec/bandwidth-iris/lnp_checker_spec.rb +24 -0
  64. data/spec/bandwidth-iris/lsr_order_spec.rb +96 -0
  65. data/spec/bandwidth-iris/order_spec.rb +124 -0
  66. data/spec/bandwidth-iris/port_in_spec.rb +135 -0
  67. data/spec/bandwidth-iris/port_out_spec.rb +36 -0
  68. data/spec/bandwidth-iris/rate_center_spec.rb +29 -0
  69. data/spec/bandwidth-iris/sip_peer_spec.rb +86 -0
  70. data/spec/bandwidth-iris/site_spec.rb +95 -0
  71. data/spec/bandwidth-iris/subscription_spec.rb +58 -0
  72. data/spec/bandwidth-iris/tn_reservation_spec.rb +39 -0
  73. data/spec/bandwidth-iris/tn_spec.rb +68 -0
  74. data/spec/bandwidth-iris/user_spec.rb +21 -0
  75. data/spec/helper.rb +75 -0
  76. data/spec/xml.yml +46 -0
  77. metadata +256 -0
@@ -0,0 +1,96 @@
1
+ describe BandwidthIris::LsrOrder do
2
+ client = nil
3
+
4
+ before :each do
5
+ client = Helper.get_client()
6
+ end
7
+
8
+ after :each do
9
+ client.stubs.verify_stubbed_calls()
10
+ end
11
+
12
+ describe '#create' do
13
+ it 'should create an order' do
14
+ data = {
15
+ :pon =>"Some Pon",
16
+ :customer_order_id => "MyId5",
17
+ 'sPID' => "123C",
18
+ '_sPIDXmlElement' => 'sPID',
19
+ :billing_telephone_number => "9192381468",
20
+ :requested_foc_date => "2015-11-15",
21
+ :authorizing_person => "Jim Hopkins",
22
+ :subscriber => {
23
+ :subscriber_type => "BUSINESS",
24
+ :business_name => "BusinessName",
25
+ :service_address => {
26
+ :house_number =>"11",
27
+ :street_name => "Park",
28
+ :street_suffix => "Ave",
29
+ :city => "New York",
30
+ :state_code => "NY",
31
+ :zip => "90025"
32
+ },
33
+ :account_number => "123463",
34
+ :pin_number => "1231"
35
+ },
36
+ :list_of_telephone_numbers => {
37
+ :telephone_number => ["9192381848", "9192381467"]
38
+ }
39
+ }
40
+ client.stubs.post('/v1.0/accounts/accountId/lsrorders', client.build_xml({:lsr_order => data})) {|env| [200, {'Location' => '/v1.0/accounts/accountId/lsrorders/1'}, '']}
41
+ client.stubs.get('/v1.0/accounts/accountId/lsrorders/1') {|env| [200, {}, Helper.xml['lsr_order']]}
42
+ order = LsrOrder.create(client, data)
43
+ expect(order[:id]).to eql("00cf7e08-cab0-4515-9a77-2d0a7da09415")
44
+ end
45
+ end
46
+
47
+ describe '#get' do
48
+ it 'should return an order' do
49
+ client.stubs.get('/v1.0/accounts/accountId/lsrorders/1') {|env| [200, {}, Helper.xml['lsr_order']]}
50
+ order = LsrOrder.get(client, "1")
51
+ expect(order.account_id).to eql(9999999)
52
+ end
53
+ end
54
+
55
+ describe '#list' do
56
+ it 'should return orders' do
57
+ client.stubs.get('/v1.0/accounts/accountId/lsrorders') {|env| [200, {}, Helper.xml['lsr_orders']]}
58
+ list = LsrOrder.list(client)
59
+ expect(list.length).to eql(2)
60
+ end
61
+ end
62
+
63
+ describe '#update' do
64
+ it 'should update an order' do
65
+ data = { :name => "Test", :close_order => true }
66
+ client.stubs.put('/v1.0/accounts/accountId/lsrorders/1', client.build_xml({:lsr_order => data})) {|env| [200, {}, '']}
67
+ item = LsrOrder.new({:id => 1}, client)
68
+ item.update(data)
69
+ end
70
+ end
71
+
72
+ describe '#get_notes' do
73
+ it 'should return notes' do
74
+ client.stubs.get('/v1.0/accounts/accountId/lsrorders/1/notes') {|env| [200, {}, Helper.xml['notes']]}
75
+ order = LsrOrder.new({:id => 1}, client)
76
+
77
+ list = order.get_notes()
78
+ expect(list[0][:id]).to eql(11299)
79
+ expect(list[0][:user_id]).to eql('customer')
80
+ expect(list[0][:description]).to eql('Test')
81
+ end
82
+ end
83
+
84
+ describe '#add_notes' do
85
+ it 'should add a note and return it' do
86
+ data = {:user_id => 'customer', :description => 'Test'}
87
+ client.stubs.post('/v1.0/accounts/accountId/lsrorders/1/notes', client.build_xml({note: data})) {|env| [200, {:location => '/v1.0/accounts/accountId/lsrorders/1/notes/11299'}, '']}
88
+ client.stubs.get('/v1.0/accounts/accountId/lsrorders/1/notes') {|env| [200, {}, Helper.xml['notes']]}
89
+ order = LsrOrder.new({:id => 1}, client)
90
+ item = order.add_notes(data)
91
+ expect(item[:id]).to eql(11299)
92
+ expect(item[:user_id]).to eql('customer')
93
+ expect(item[:description]).to eql('Test')
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,124 @@
1
+ describe BandwidthIris::Order do
2
+ client = nil
3
+
4
+ before :each do
5
+ client = Helper.get_client()
6
+ end
7
+
8
+ after :each do
9
+ client.stubs.verify_stubbed_calls()
10
+ end
11
+
12
+ describe '#create' do
13
+ it 'should create an order' do
14
+ data = {
15
+ :name => "Test",
16
+ :siteId => "10",
17
+ :customerOrderId => "11",
18
+ :lataSearchAndOrderType => {
19
+ :lata => "224",
20
+ :quantity => 1
21
+ }
22
+ }
23
+ client.stubs.post("/v1.0/accounts/accountId/orders", client.build_xml({:order => data})){|env| [200, {}, Helper.xml['order']]}
24
+ order = Order.create(client, data)
25
+ expect(order.id).to eql(101)
26
+ expect(order.name).to eql("Test")
27
+ end
28
+ end
29
+
30
+ describe '#get' do
31
+ it 'should return an order' do
32
+ client.stubs.get("/v1.0/accounts/accountId/orders/101"){|env| [200, {}, Helper.xml['order']]}
33
+ order = Order.get(client, "101")
34
+ expect(order.id).to eql(101)
35
+ expect(order.name).to eql("Test")
36
+ end
37
+ end
38
+
39
+ describe '#list' do
40
+ it 'should return orders' do
41
+ client.stubs.get("/v1.0/accounts/accountId/orders"){|env| [200, {}, Helper.xml['orders']]}
42
+ list = Order.list(client)
43
+ expect(list.length).to eql(1)
44
+ end
45
+ end
46
+
47
+ describe '#update' do
48
+ it 'should update an order' do
49
+ data = { :name => "Test", :close_order => true }
50
+ client.stubs.put("/v1.0/accounts/accountId/orders/101", client.build_xml(:order => data)){|env| [200, {}, '']}
51
+ item = Order.new({:id => 101}, client)
52
+ item.update(data)
53
+ end
54
+ end
55
+
56
+ describe '#get_notes' do
57
+ it 'should return notes' do
58
+ client.stubs.get('/v1.0/accounts/accountId/orders/1/notes') {|env| [200, {}, Helper.xml['notes']]}
59
+ order = Order.new({:id => 1}, client)
60
+
61
+ list = order.get_notes()
62
+ expect(list[0][:id]).to eql(11299)
63
+ expect(list[0][:user_id]).to eql('customer')
64
+ expect(list[0][:description]).to eql('Test')
65
+ end
66
+ end
67
+
68
+ describe '#add_notes' do
69
+ it 'should add a note and return it' do
70
+ data = {:user_id => 'customer', :description => 'Test'}
71
+ client.stubs.post('/v1.0/accounts/accountId/orders/1/notes', client.build_xml({note: data})) {|env| [200, {:location => '/v1.0/accounts/FakeAccountId/orders/1/notes/11299'}, '']}
72
+ client.stubs.get('/v1.0/accounts/accountId/orders/1/notes') {|env| [200, {}, Helper.xml['notes']]}
73
+ order = Order.new({:id => 1}, client)
74
+ item = order.add_notes(data)
75
+ expect(item[:id]).to eql(11299)
76
+ expect(item[:user_id]).to eql('customer')
77
+ expect(item[:description]).to eql('Test')
78
+ end
79
+ end
80
+
81
+ describe '#get_area_codes' do
82
+ it 'should return codes' do
83
+ client.stubs.get('/v1.0/accounts/accountId/orders/1/areaCodes') {|env| [200, {}, Helper.xml['order_area_codes']]}
84
+ order = Order.new({:id => 1}, client)
85
+ list = order.get_area_codes()
86
+ expect(list.length).to eql(1)
87
+ end
88
+ end
89
+
90
+ describe '#get_npa_nxx' do
91
+ it 'should return codes' do
92
+ client.stubs.get('/v1.0/accounts/accountId/orders/1/npaNxx') {|env| [200, {}, Helper.xml['order_npa_nxx']]}
93
+ order = Order.new({:id => 1}, client)
94
+ list = order.get_npa_npx()
95
+ expect(list.length).to eql(1)
96
+ end
97
+ end
98
+
99
+ describe '#get_totals' do
100
+ it 'should return totals' do
101
+ client.stubs.get('/v1.0/accounts/accountId/orders/1/totals') {|env| [200, {}, Helper.xml['order_totals']]}
102
+ order = Order.new({:id => 1}, client)
103
+ list = order.get_totals()
104
+ expect(list.length).to eql(1)
105
+ end
106
+ end
107
+
108
+ describe '#get_history' do
109
+ it 'should return history' do
110
+ client.stubs.get('/v1.0/accounts/accountId/orders/1/history') {|env| [200, {}, Helper.xml['order_history']]}
111
+ order = Order.new({:id => 1}, client)
112
+ list = order.get_history()
113
+ expect(list.length).to eql(2)
114
+ end
115
+ end
116
+
117
+ describe '#get_tns' do
118
+ it 'should return tns' do
119
+ client.stubs.get('/v1.0/accounts/accountId/orders/1/tns') {|env| [200, {}, Helper.xml['order_tns']]}
120
+ order = Order.new({:id => 1}, client)
121
+ order.get_tns()
122
+ end
123
+ end
124
+ end
@@ -0,0 +1,135 @@
1
+ describe BandwidthIris::PortIn do
2
+ client = nil
3
+
4
+ before :each do
5
+ client = Helper.get_client()
6
+ end
7
+
8
+ after :each do
9
+ client.stubs.verify_stubbed_calls()
10
+ end
11
+
12
+ describe '#create' do
13
+ it 'should create an order' do
14
+ data = {
15
+ :billing_telephone_number => "1111",
16
+ :subscriber => {
17
+ :subscriber_type => "BUSINESS",
18
+ :business_name => "Company",
19
+ :service_address => {
20
+ :city => "City",
21
+ :country => "Country"
22
+ }
23
+ }
24
+ }
25
+ client.stubs.post('/v1.0/accounts/accountId/portins', client.build_xml({:lnp_order => data})) {|env| [200, {}, Helper.xml['port_in']]}
26
+ item = PortIn.create(client, data)
27
+ expect(item[:id]).to eql("d28b36f7-fa96-49eb-9556-a40fca49f7c6")
28
+ expect(item[:billing_type]).to eql('PORTIN')
29
+ end
30
+ end
31
+
32
+ describe '#update' do
33
+ it 'should update an order' do
34
+ data = {
35
+ :requested_foc_date => "2014-11-18T00:00:00.000Z",
36
+ :wireless_info => {
37
+ :account_number => "77129766500001",
38
+ :pin_number => "0000"
39
+ }
40
+ }
41
+ client.stubs.put('/v1.0/accounts/accountId/portins/1', client.build_xml({:lnp_order_supp => data})) {|env| [200, {}, '']}
42
+ item = PortIn.new({:id => 1}, client)
43
+ item.update(data)
44
+ end
45
+ end
46
+
47
+ describe '#delete' do
48
+ it 'should remove an order' do
49
+ client.stubs.delete('/v1.0/accounts/accountId/portins/1') {|env| [200, {}, '']}
50
+ item = PortIn.new({:id => 1}, client)
51
+ item.delete()
52
+ end
53
+ end
54
+
55
+
56
+ describe '#get_notes' do
57
+ it 'should return notes' do
58
+ client.stubs.get('/v1.0/accounts/accountId/portins/1/notes') {|env| [200, {}, Helper.xml['notes']]}
59
+ order = PortIn.new({:id => 1}, client)
60
+
61
+ list = order.get_notes()
62
+ expect(list[0][:id]).to eql(11299)
63
+ expect(list[0][:user_id]).to eql('customer')
64
+ expect(list[0][:description]).to eql('Test')
65
+ end
66
+ end
67
+
68
+ describe '#add_notes' do
69
+ it 'should add a note and return it' do
70
+ data = {:user_id => 'customer', :description => 'Test'}
71
+ client.stubs.post('/v1.0/accounts/accountId/portins/1/notes', client.build_xml({note: data})) {|env| [200, {:location => '/v1.0/accounts/accountId/portins/1/notes/11299'}, '']}
72
+ client.stubs.get('/v1.0/accounts/accountId/portins/1/notes') {|env| [200, {}, Helper.xml['notes']]}
73
+ order = PortIn.new({:id => 1}, client)
74
+ item = order.add_notes(data)
75
+ expect(item[:id]).to eql(11299)
76
+ expect(item[:user_id]).to eql('customer')
77
+ expect(item[:description]).to eql('Test')
78
+ end
79
+ end
80
+
81
+ describe '#get_files' do
82
+ it 'should return list of files' do
83
+ client.stubs.get('/v1.0/accounts/accountId/portins/1/loas?metadata=true') {|env| [200, {}, Helper.xml['files']]}
84
+ item = PortIn.new({:id => 1}, client)
85
+ list = item.get_files(true)
86
+ expect(list.length).to eql(6)
87
+ expect(list[0][:file_name]).to eql("d28b36f7-fa96-49eb-9556-a40fca49f7c6-1416231534986.txt")
88
+ end
89
+ it 'should return list of files (without metadata)' do
90
+ client.stubs.get('/v1.0/accounts/accountId/portins/1/loas?metadata=false') {|env| [200, {}, Helper.xml['files']]}
91
+ item = PortIn.new({:id => 1}, client)
92
+ list = item.get_files()
93
+ expect(list.length).to eql(6)
94
+ expect(list[0][:file_name]).to eql("d28b36f7-fa96-49eb-9556-a40fca49f7c6-1416231534986.txt")
95
+ end
96
+ end
97
+
98
+ describe '#get_file_metadata' do
99
+ it 'should return metadata of a file' do
100
+ client.stubs.get('/v1.0/accounts/accountId/portins/1/loas/file.txt/metadata') {|env| [200, {}, Helper.xml['file_metadata']]}
101
+ item = PortIn.new({:id => 1}, client)
102
+ meta = item.get_file_metadata('file.txt')
103
+ expect(meta[:document_type]).to eql("LOA")
104
+ end
105
+ end
106
+
107
+ describe '#get_file' do
108
+ it 'should return file context and media type' do
109
+ client.stubs.get('/v1.0/accounts/accountId/portins/1/loas/file.txt') {|env| [200, {'Content-Type' => 'text/plain'}, '123']}
110
+ item = PortIn.new({:id => 1}, client)
111
+ r = item.get_file('file.txt')
112
+ expect(r[0]).to eql("123")
113
+ expect(r[1]).to eql("text/plain")
114
+ end
115
+ it 'should return file context and media type (if media type is missing)' do
116
+ client.stubs.get('/v1.0/accounts/accountId/portins/1/loas/file.txt') {|env| [200, {}, '123']}
117
+ item = PortIn.new({:id => 1}, client)
118
+ r = item.get_file('file.txt')
119
+ expect(r[0]).to eql("123")
120
+ expect(r[1]).to eql("application/octet-stream")
121
+ end
122
+ end
123
+
124
+ describe '#create_file' do
125
+ it 'should upload file context' do
126
+ client.stubs.post('/v1.0/accounts/accountId/portins/1/loas', '123', {'Content-Type' => 'text/plain', 'Content-Length' => '3'}) {|env| [200, {}, Helper.xml['file_created']]}
127
+ client.stubs.post('/v1.0/accounts/accountId/portins/1/loas', '123', {'Content-Type' => 'application/octet-stream', 'Content-Length' => '3'}) {|env| [200, {}, Helper.xml['file_created']]}
128
+ item = PortIn.new({:id => 1}, client)
129
+ r = item.create_file(StringIO.new('123'), 'text/plain')
130
+ expect(r).to eql("test.txt")
131
+ r = item.create_file(StringIO.new('123'))
132
+ expect(r).to eql("test.txt")
133
+ end
134
+ end
135
+ end
@@ -0,0 +1,36 @@
1
+ describe BandwidthIris::PortOut do
2
+ client = nil
3
+
4
+ before :each do
5
+ client = Helper.get_client()
6
+ end
7
+
8
+ after :each do
9
+ client.stubs.verify_stubbed_calls()
10
+ end
11
+
12
+ describe '#get_notes' do
13
+ it 'should return notes' do
14
+ client.stubs.get('/v1.0/accounts/accountId/portouts/1/notes') {|env| [200, {}, Helper.xml['notes']]}
15
+ order = PortOut.new({:id => 1}, client)
16
+
17
+ list = order.get_notes()
18
+ expect(list[0][:id]).to eql(11299)
19
+ expect(list[0][:user_id]).to eql('customer')
20
+ expect(list[0][:description]).to eql('Test')
21
+ end
22
+ end
23
+
24
+ describe '#add_notes' do
25
+ it 'should add a note and return it' do
26
+ data = {:user_id => 'customer', :description => 'Test'}
27
+ client.stubs.post('/v1.0/accounts/accountId/portouts/1/notes', client.build_xml({note: data})) {|env| [200, {:location => '/v1.0/accounts/FakeAccountId/portouts/1/notes/11299'}, '']}
28
+ client.stubs.get('/v1.0/accounts/accountId/portouts/1/notes') {|env| [200, {}, Helper.xml['notes']]}
29
+ order = PortOut.new({:id => 1}, client)
30
+ item = order.add_notes(data)
31
+ expect(item[:id]).to eql(11299)
32
+ expect(item[:user_id]).to eql('customer')
33
+ expect(item[:description]).to eql('Test')
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,29 @@
1
+ describe BandwidthIris::RateCenter do
2
+ client = nil
3
+
4
+ before :each do
5
+ client = Helper.get_client()
6
+ end
7
+
8
+ after :each do
9
+ client.stubs.verify_stubbed_calls()
10
+ end
11
+
12
+ describe '#list' do
13
+ it 'should return rate centes' do
14
+ client.stubs.get('/v1.0/rateCenters') {|env| [200, {}, Helper.xml['rate_centers']]}
15
+ list = RateCenter.list(client)
16
+ expect(list.length).to eql(3)
17
+ expect(list[0][:abbreviation]).to eql("ACME")
18
+ expect(list[0][:name]).to eql("ACME")
19
+ end
20
+ end
21
+
22
+ it 'should return rate centes (with 1 element)' do
23
+ client.stubs.get('/v1.0/rateCenters') {|env| [200, {}, Helper.xml['rate_centers1']]}
24
+ list = RateCenter.list(client)
25
+ expect(list.length).to eql(1)
26
+ expect(list[0][:abbreviation]).to eql("ACME")
27
+ expect(list[0][:name]).to eql("ACME")
28
+ end
29
+ end
@@ -0,0 +1,86 @@
1
+ describe BandwidthIris::SipPeer do
2
+ client = nil
3
+
4
+ before :each do
5
+ client = Helper.get_client()
6
+ end
7
+
8
+ after :each do
9
+ client.stubs.verify_stubbed_calls()
10
+ end
11
+
12
+ describe '#list' do
13
+ it 'should return peers' do
14
+ client.stubs.get('/v1.0/accounts/accountId/sites/1/sippeers') {|env| [200, {}, Helper.xml['sip_peers']]}
15
+ list = SipPeer.list(client, 1)
16
+ expect(list.length).to eql(1)
17
+ expect(list[0][:id]).to eql(12345)
18
+ expect(list[0][:peer_name]).to eql("SIP Peer 1")
19
+ expect(list[0][:description]).to eql("Sip Peer 1 description")
20
+ end
21
+ end
22
+
23
+ describe '#get' do
24
+ it 'should return a peer' do
25
+ client.stubs.get('/v1.0/accounts/accountId/sites/1/sippeers/11') {|env| [200, {}, Helper.xml['sip_peer']]}
26
+ item = SipPeer.get(client, 1, 11)
27
+ expect(item[:id]).to eql(10)
28
+ expect(item[:peer_name]).to eql("SIP Peer 1")
29
+ expect(item[:description]).to eql("Sip Peer 1 description")
30
+ end
31
+ end
32
+
33
+ describe '#create' do
34
+ it 'should create a peer' do
35
+ data = {:peer_name => "SIP Peer 1", :description => "Sip Peer 1 description"}
36
+ client.stubs.post('/v1.0/accounts/accountId/sites/1/sippeers', client.build_xml({:sip_peer => data})) {|env| [201, {'Location' => '/v1.0/accounts/accountId/sites/1/sippeers/11'}, '']}
37
+ client.stubs.get('/v1.0/accounts/accountId/sites/1/sippeers/11') {|env| [200, {}, Helper.xml['sip_peer']]}
38
+ item = SipPeer.create(client, 1, data)
39
+ expect(item[:id]).to eql(10)
40
+ expect(item[:peer_name]).to eql("SIP Peer 1")
41
+ expect(item[:description]).to eql("Sip Peer 1 description")
42
+ end
43
+ end
44
+
45
+ describe '#delete' do
46
+ it 'should remove a peer' do
47
+ client.stubs.delete('/v1.0/accounts/accountId/sites/1/sippeers/11') {|env| [200, {}, '']}
48
+ item = SipPeer.new({:site_id => 1, :id => 11}, client)
49
+ item.delete()
50
+ end
51
+ end
52
+
53
+ describe '#get_tns' do
54
+ it 'should return list of numbers' do
55
+ client.stubs.get('/v1.0/accounts/accountId/sites/1/sippeers/10/tns') {|env| [200, {}, Helper.xml['sip_peer_tns']]}
56
+ item = SipPeer.new({:site_id => 1, :id => 10}, client)
57
+ list = item.get_tns()
58
+ expect(list.length).to eql(17)
59
+ expect(list[0][:full_number]).to eql("3034162216")
60
+ end
61
+ it 'should return a number' do
62
+ client.stubs.get('/v1.0/accounts/accountId/sites/1/sippeers/10/tns/12345') {|env| [200, {}, Helper.xml['sip_peer_tn']]}
63
+ item = SipPeer.new({:site_id => 1, :id => 10}, client)
64
+ item = item.get_tns('12345')
65
+ expect(item[:full_number]).to eql("9195551212")
66
+ end
67
+ end
68
+
69
+ describe '#update_tns' do
70
+ it 'should update a number' do
71
+ data = {:full_number => "123456", :rewrite_user => "test"}
72
+ client.stubs.put('/v1.0/accounts/accountId/sites/1/sippeers/10/tns/123456', client.build_xml({:sip_peer_telephone_number => data})) {|env| [200, {}, '']}
73
+ item = SipPeer.new({:site_id => 1, :id => 10}, client)
74
+ item.update_tns('123456', data)
75
+ end
76
+ end
77
+
78
+ describe '#move_tns' do
79
+ it 'should move numbers' do
80
+ data = ["11111", "22222"]
81
+ client.stubs.post('/v1.0/accounts/accountId/sites/1/sippeers/10/movetns', client.build_xml({:sip_peer_telephone_numbers => {:full_number => data}})) {|env| [200, {}, '']}
82
+ item = SipPeer.new({:site_id => 1, :id => 10}, client)
83
+ item.move_tns(data)
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,95 @@
1
+ describe BandwidthIris::Site do
2
+ client = nil
3
+
4
+ before :each do
5
+ client = Helper.get_client()
6
+ end
7
+
8
+ after :each do
9
+ client.stubs.verify_stubbed_calls()
10
+ end
11
+
12
+ describe '#list' do
13
+ it 'should return sites' do
14
+ client.stubs.get('/v1.0/accounts/accountId/sites') {|env| [200, {}, Helper.xml['sites']]}
15
+ list = Site.list(client)
16
+ expect(list.length).to eql(1)
17
+ expect(list[0][:id]).to eql(1)
18
+ expect(list[0][:name]).to eql('Test Site')
19
+ expect(list[0][:description]).to eql('A site description')
20
+ end
21
+ end
22
+
23
+ describe '#get' do
24
+ it 'should return a site' do
25
+ client.stubs.get('/v1.0/accounts/accountId/sites/1') {|env| [200, {}, Helper.xml['site']]}
26
+ item = Site.get(client, 1)
27
+ expect(item[:id]).to eql(1)
28
+ expect(item[:name]).to eql('Test Site')
29
+ expect(item[:description]).to eql('A Site Description')
30
+ end
31
+ end
32
+
33
+ describe '#create' do
34
+ it 'should create a site' do
35
+ data = {:name => "test", :description => "test"}
36
+ client.stubs.post('/v1.0/accounts/accountId/sites', client.build_xml({:site => data})) {|env| [200, {'Location' => '/v1.0/accounts/accountId/sites/1'}, '']}
37
+ client.stubs.get('/v1.0/accounts/accountId/sites/1') {|env| [200, {}, Helper.xml['site']]}
38
+ item = Site.create(client, data)
39
+ expect(item[:id]).to eql(1)
40
+ end
41
+ end
42
+
43
+ describe '#update' do
44
+ it 'should update a site' do
45
+ data = {:description => "test"}
46
+ client.stubs.put('/v1.0/accounts/accountId/sites/1', client.build_xml({:site => data})) {|env| [200, {}, '']}
47
+ item = Site.new({:id => 1}, client)
48
+ item.update(data)
49
+ end
50
+ end
51
+
52
+ describe '#delete' do
53
+ it 'should remove a site' do
54
+ client.stubs.delete('/v1.0/accounts/accountId/sites/1') {|env| [200, {}, '']}
55
+ item = Site.new({:id => 1}, client)
56
+ item.delete()
57
+ end
58
+ end
59
+
60
+ describe '#get_sip_peers' do
61
+ it 'should return peers' do
62
+ client.stubs.get('/v1.0/accounts/accountId/sites/1/sippeers') {|env| [200, {}, Helper.xml['sip_peers']]}
63
+ site = Site.new({:id => 1}, client)
64
+ list = site.get_sip_peers()
65
+ expect(list.length).to eql(1)
66
+ expect(list[0][:id]).to eql(12345)
67
+ expect(list[0][:peer_name]).to eql("SIP Peer 1")
68
+ expect(list[0][:description]).to eql("Sip Peer 1 description")
69
+ end
70
+ end
71
+
72
+ describe '#get_sip_peer' do
73
+ it 'should return a peer' do
74
+ client.stubs.get('/v1.0/accounts/accountId/sites/1/sippeers/11') {|env| [200, {}, Helper.xml['sip_peer']]}
75
+ site = Site.new({:id => 1}, client)
76
+ item = site.get_sip_peer(11)
77
+ expect(item[:id]).to eql(10)
78
+ expect(item[:peer_name]).to eql("SIP Peer 1")
79
+ expect(item[:description]).to eql("Sip Peer 1 description")
80
+ end
81
+ end
82
+
83
+ describe '#create_sip_peer' do
84
+ it 'should create a peer' do
85
+ data = {:peer_name => "SIP Peer 1", :description => "Sip Peer 1 description"}
86
+ client.stubs.post('/v1.0/accounts/accountId/sites/1/sippeers', client.build_xml({:sip_peer => data})) {|env| [201, {'Location' => '/v1.0/accounts/accountId/sites/1/sippeers/11'}, '']}
87
+ client.stubs.get('/v1.0/accounts/accountId/sites/1/sippeers/11') {|env| [200, {}, Helper.xml['sip_peer']]}
88
+ site = Site.new({:id => 1}, client)
89
+ item = site.create_sip_peer(data)
90
+ expect(item[:id]).to eql(10)
91
+ expect(item[:peer_name]).to eql("SIP Peer 1")
92
+ expect(item[:description]).to eql("Sip Peer 1 description")
93
+ end
94
+ end
95
+ end
@@ -0,0 +1,58 @@
1
+ describe BandwidthIris::Subscription do
2
+ client = nil
3
+
4
+ before :each do
5
+ client = Helper.get_client()
6
+ end
7
+
8
+ after :each do
9
+ client.stubs.verify_stubbed_calls()
10
+ end
11
+
12
+ describe '#list' do
13
+ it 'should return subscriptions' do
14
+ client.stubs.get('/v1.0/accounts/accountId/subscriptions') {|env| [200, {}, Helper.xml['subscriptions']]}
15
+ list = Subscription.list(client)
16
+ expect(list.length).to eql(1)
17
+ expect(list[0][:id]).to eql(1)
18
+ expect(list[0][:order_type]).to eql('orders')
19
+ end
20
+ end
21
+
22
+ describe '#get' do
23
+ it 'should return a subscription' do
24
+ client.stubs.get('/v1.0/accounts/accountId/subscriptions/1') {|env| [200, {}, Helper.xml['subscriptions']]}
25
+ item = Subscription.get(client, 1)
26
+ expect(item[:id]).to eql(1)
27
+ expect(item[:order_type]).to eql('orders')
28
+ end
29
+ end
30
+
31
+ describe '#create' do
32
+ it 'should create a subscription' do
33
+ data = {:name => "test", :description => "test"}
34
+ client.stubs.post('/v1.0/accounts/accountId/subscriptions', client.build_xml({:subscription => data})) {|env| [200, {'Location' => '/v1.0/accounts/accountId/subscriptions/1'}, '']}
35
+ client.stubs.get('/v1.0/accounts/accountId/subscriptions/1') {|env| [200, {}, Helper.xml['subscriptions']]}
36
+ item = Subscription.create(client, data)
37
+ expect(item[:id]).to eql(1)
38
+ expect(item[:order_type]).to eql('orders')
39
+ end
40
+ end
41
+
42
+ describe '#update' do
43
+ it 'should update a subscription' do
44
+ data = {:description => "test"}
45
+ client.stubs.put('/v1.0/accounts/accountId/subscriptions/1', client.build_xml({:subscription => data})) {|env| [200, {}, '']}
46
+ item = Subscription.new({:id => 1}, client)
47
+ item.update(data)
48
+ end
49
+ end
50
+
51
+ describe '#delete' do
52
+ it 'should remove a subscription' do
53
+ client.stubs.delete('/v1.0/accounts/accountId/subscriptions/1') {|env| [200, {}, '']}
54
+ item = Subscription.new({:id => 1}, client)
55
+ item.delete()
56
+ end
57
+ end
58
+ end