squall 1.0.2 → 1.1.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 (170) hide show
  1. data/.gitignore +3 -0
  2. data/.rbenv-version +1 -0
  3. data/.rspec +1 -1
  4. data/.rvmrc +41 -1
  5. data/.travis.yml +13 -3
  6. data/README.md +122 -27
  7. data/Rakefile +5 -34
  8. data/lib/squall/data_store_zone.rb +58 -0
  9. data/lib/squall/firewall_rule.rb +66 -0
  10. data/lib/squall/hypervisor.rb +63 -11
  11. data/lib/squall/hypervisor_zone.rb +135 -0
  12. data/lib/squall/ip_address.rb +50 -3
  13. data/lib/squall/ip_address_join.rb +46 -0
  14. data/lib/squall/network.rb +21 -4
  15. data/lib/squall/network_zone.rb +73 -0
  16. data/lib/squall/payment.rb +59 -0
  17. data/lib/squall/role.rb +28 -11
  18. data/lib/squall/statistic.rb +3 -3
  19. data/lib/squall/{base.rb → support/base.rb} +8 -4
  20. data/lib/squall/{config.rb → support/config.rb} +4 -0
  21. data/lib/squall/{exception.rb → support/exception.rb} +0 -0
  22. data/lib/squall/{params.rb → support/params.rb} +0 -0
  23. data/lib/squall/support/version.rb +3 -0
  24. data/lib/squall/support/yaml.rb +5 -0
  25. data/lib/squall/template.rb +4 -0
  26. data/lib/squall/transaction.rb +4 -0
  27. data/lib/squall/user.rb +126 -30
  28. data/lib/squall/user_group.rb +56 -0
  29. data/lib/squall/virtual_machine.rb +176 -52
  30. data/lib/squall/whitelist.rb +74 -0
  31. data/lib/squall.rb +21 -12
  32. data/spec/spec_helper.rb +21 -16
  33. data/spec/squall/data_store_zone_spec.rb +97 -0
  34. data/spec/squall/firewall_rule_spec.rb +112 -0
  35. data/spec/squall/hypervisor_spec.rb +101 -48
  36. data/spec/squall/hypervisor_zone_spec.rb +190 -0
  37. data/spec/squall/ip_address_join_spec.rb +67 -0
  38. data/spec/squall/ip_address_spec.rb +68 -6
  39. data/spec/squall/network_spec.rb +0 -1
  40. data/spec/squall/network_zone_spec.rb +147 -0
  41. data/spec/squall/payment_spec.rb +98 -0
  42. data/spec/squall/role_spec.rb +31 -46
  43. data/spec/squall/statistic_spec.rb +7 -9
  44. data/spec/squall/{base_spec.rb → support/base_spec.rb} +5 -7
  45. data/spec/squall/{config_spec.rb → support/config_spec.rb} +0 -0
  46. data/spec/{params_spec.rb → squall/support/params_spec.rb} +0 -0
  47. data/spec/squall/template_spec.rb +0 -1
  48. data/spec/squall/transaction_spec.rb +0 -1
  49. data/spec/squall/user_group_spec.rb +74 -0
  50. data/spec/squall/user_spec.rb +142 -59
  51. data/spec/squall/virtual_machine_spec.rb +179 -67
  52. data/spec/squall/whitelist_spec.rb +113 -0
  53. data/spec/squall_spec.rb +4 -8
  54. data/spec/vcr_cassettes/data_store_zone/create.yml +40 -0
  55. data/spec/vcr_cassettes/data_store_zone/delete.yml +77 -0
  56. data/spec/vcr_cassettes/data_store_zone/edit.yml +77 -0
  57. data/spec/vcr_cassettes/data_store_zone/list.yml +40 -0
  58. data/spec/vcr_cassettes/data_store_zone/show.yml +77 -0
  59. data/spec/vcr_cassettes/firewall_rule/create.yml +75 -0
  60. data/spec/vcr_cassettes/firewall_rule/delete.yml +75 -0
  61. data/spec/vcr_cassettes/firewall_rule/edit.yml +75 -0
  62. data/spec/vcr_cassettes/firewall_rule/list.yml +40 -0
  63. data/spec/vcr_cassettes/hypervisor/add_data_store_join.yml +40 -0
  64. data/spec/vcr_cassettes/hypervisor/add_network_join.yml +40 -0
  65. data/spec/vcr_cassettes/hypervisor/create.yml +7 -44
  66. data/spec/vcr_cassettes/hypervisor/data_store_joins.yml +40 -0
  67. data/spec/vcr_cassettes/hypervisor/delete.yml +11 -11
  68. data/spec/vcr_cassettes/hypervisor/edit.yml +7 -46
  69. data/spec/vcr_cassettes/hypervisor/list.yml +7 -7
  70. data/spec/vcr_cassettes/hypervisor/network_joins.yml +40 -0
  71. data/spec/vcr_cassettes/hypervisor/reboot.yml +13 -13
  72. data/spec/vcr_cassettes/hypervisor/remove_data_store_join.yml +40 -0
  73. data/spec/vcr_cassettes/hypervisor/remove_network_join.yml +40 -0
  74. data/spec/vcr_cassettes/hypervisor/show.yml +13 -13
  75. data/spec/vcr_cassettes/hypervisor_zones/add_data_store_join.yml +40 -0
  76. data/spec/vcr_cassettes/hypervisor_zones/add_network_join.yml +40 -0
  77. data/spec/vcr_cassettes/hypervisor_zones/create.yml +40 -0
  78. data/spec/vcr_cassettes/hypervisor_zones/data_store_joins.yml +40 -0
  79. data/spec/vcr_cassettes/hypervisor_zones/delete.yml +77 -0
  80. data/spec/vcr_cassettes/hypervisor_zones/edit.yml +77 -0
  81. data/spec/vcr_cassettes/hypervisor_zones/hypervisors.yml +40 -0
  82. data/spec/vcr_cassettes/hypervisor_zones/list.yml +40 -0
  83. data/spec/vcr_cassettes/hypervisor_zones/network_joins.yml +40 -0
  84. data/spec/vcr_cassettes/hypervisor_zones/remove_data_store_join.yml +40 -0
  85. data/spec/vcr_cassettes/hypervisor_zones/remove_network_join.yml +40 -0
  86. data/spec/vcr_cassettes/hypervisor_zones/show.yml +77 -0
  87. data/spec/vcr_cassettes/ipaddress/create.yml +40 -0
  88. data/spec/vcr_cassettes/ipaddress/delete.yml +40 -0
  89. data/spec/vcr_cassettes/ipaddress/edit.yml +40 -0
  90. data/spec/vcr_cassettes/ipaddress/list.yml +17 -17
  91. data/spec/vcr_cassettes/ipaddress_join/assign.yml +77 -0
  92. data/spec/vcr_cassettes/ipaddress_join/delete.yml +77 -0
  93. data/spec/vcr_cassettes/ipaddress_join/list.yml +77 -0
  94. data/spec/vcr_cassettes/network/create.yml +15 -15
  95. data/spec/vcr_cassettes/network/delete.yml +6 -6
  96. data/spec/vcr_cassettes/network/edit.yml +18 -18
  97. data/spec/vcr_cassettes/network/list.yml +3 -3
  98. data/spec/vcr_cassettes/network_zones/attach.yml +114 -0
  99. data/spec/vcr_cassettes/network_zones/create.yml +40 -0
  100. data/spec/vcr_cassettes/network_zones/delete.yml +77 -0
  101. data/spec/vcr_cassettes/network_zones/detach.yml +114 -0
  102. data/spec/vcr_cassettes/network_zones/edit.yml +77 -0
  103. data/spec/vcr_cassettes/network_zones/list.yml +40 -0
  104. data/spec/vcr_cassettes/network_zones/show.yml +77 -0
  105. data/spec/vcr_cassettes/payment/create.yml +78 -0
  106. data/spec/vcr_cassettes/payment/delete.yml +77 -0
  107. data/spec/vcr_cassettes/payment/edit.yml +77 -0
  108. data/spec/vcr_cassettes/payment/list.yml +41 -0
  109. data/spec/vcr_cassettes/role/create.yml +7 -44
  110. data/spec/vcr_cassettes/role/delete.yml +6 -6
  111. data/spec/vcr_cassettes/role/edit.yml +13 -75
  112. data/spec/vcr_cassettes/role/list.yml +7 -7
  113. data/spec/vcr_cassettes/role/permissions.yml +7 -7
  114. data/spec/vcr_cassettes/role/show.yml +13 -13
  115. data/spec/vcr_cassettes/statistic/usage_statistics.yml +7 -7
  116. data/spec/vcr_cassettes/template/list.yml +3 -3
  117. data/spec/vcr_cassettes/template/make_public.yml +6 -6
  118. data/spec/vcr_cassettes/transaction/list.yml +3 -3
  119. data/spec/vcr_cassettes/transaction/show.yml +6 -6
  120. data/spec/vcr_cassettes/user/activate.yml +7 -7
  121. data/spec/vcr_cassettes/user/create.yml +7 -83
  122. data/spec/vcr_cassettes/user/data_store_zones.yml +79 -0
  123. data/spec/vcr_cassettes/user/delete.yml +11 -11
  124. data/spec/vcr_cassettes/user/edit.yml +40 -0
  125. data/spec/vcr_cassettes/user/edit_role.yml +9 -9
  126. data/spec/vcr_cassettes/user/generate_api_key.yml +7 -7
  127. data/spec/vcr_cassettes/user/hypervisors.yml +77 -0
  128. data/spec/vcr_cassettes/user/limits.yml +77 -0
  129. data/spec/vcr_cassettes/user/list.yml +8 -8
  130. data/spec/vcr_cassettes/user/monthly_bills.yml +40 -0
  131. data/spec/vcr_cassettes/user/network_zones.yml +79 -0
  132. data/spec/vcr_cassettes/user/show.yml +29 -29
  133. data/spec/vcr_cassettes/user/stats.yml +6 -6
  134. data/spec/vcr_cassettes/user/suspend.yml +7 -7
  135. data/spec/vcr_cassettes/user/virtual_machines.yml +18 -20
  136. data/spec/vcr_cassettes/user_group/create.yml +40 -0
  137. data/spec/vcr_cassettes/user_group/delete.yml +77 -0
  138. data/spec/vcr_cassettes/user_group/edit.yml +77 -0
  139. data/spec/vcr_cassettes/user_group/list.yml +40 -0
  140. data/spec/vcr_cassettes/virtual_machine/build.yml +7 -7
  141. data/spec/vcr_cassettes/virtual_machine/change_owner.yml +8 -8
  142. data/spec/vcr_cassettes/virtual_machine/change_password.yml +13 -13
  143. data/spec/vcr_cassettes/virtual_machine/console.yml +63 -0
  144. data/spec/vcr_cassettes/virtual_machine/create.yml +9 -11
  145. data/spec/vcr_cassettes/virtual_machine/delete.yml +11 -11
  146. data/spec/vcr_cassettes/virtual_machine/edit.yml +16 -18
  147. data/spec/vcr_cassettes/virtual_machine/list.yml +3 -3
  148. data/spec/vcr_cassettes/virtual_machine/migrate.yml +22 -24
  149. data/spec/vcr_cassettes/virtual_machine/reboot.yml +22 -22
  150. data/spec/vcr_cassettes/virtual_machine/resize.yml +13 -13
  151. data/spec/vcr_cassettes/virtual_machine/segregate.yml +114 -0
  152. data/spec/vcr_cassettes/virtual_machine/set_ssh_keys.yml +77 -0
  153. data/spec/vcr_cassettes/virtual_machine/set_vip.yml +77 -0
  154. data/spec/vcr_cassettes/virtual_machine/show.yml +6 -6
  155. data/spec/vcr_cassettes/virtual_machine/shutdown.yml +6 -6
  156. data/spec/vcr_cassettes/virtual_machine/startup.yml +6 -6
  157. data/spec/vcr_cassettes/virtual_machine/stats.yml +63 -0
  158. data/spec/vcr_cassettes/virtual_machine/stop.yml +22 -22
  159. data/spec/vcr_cassettes/virtual_machine/suspend.yml +13 -13
  160. data/spec/vcr_cassettes/virtual_machine/unlock.yml +13 -13
  161. data/spec/vcr_cassettes/virtual_machine/unsuspend.yml +6 -6
  162. data/spec/vcr_cassettes/whitelist/create.yml +77 -0
  163. data/spec/vcr_cassettes/whitelist/delete.yml +77 -0
  164. data/spec/vcr_cassettes/whitelist/edit.yml +77 -0
  165. data/spec/vcr_cassettes/whitelist/list.yml +40 -0
  166. data/spec/vcr_cassettes/whitelist/show.yml +77 -0
  167. data/squall.gemspec +3 -2
  168. metadata +247 -131
  169. data/Gemfile.lock +0 -100
  170. data/lib/squall/version.rb +0 -3
@@ -0,0 +1,77 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :get
5
+ uri: http://<USER>:<PASS>@<URL>:80/network_zones/404.json
6
+ body:
7
+ headers:
8
+ content-type:
9
+ - application/json
10
+ authorization:
11
+ - Basic <REDACTED>
12
+ response: !ruby/struct:VCR::Response
13
+ status: !ruby/struct:VCR::ResponseStatus
14
+ code: 404
15
+ message: Not Found
16
+ headers:
17
+ x-ua-compatible:
18
+ - IE=Edge,chrome=1
19
+ x-powered-by:
20
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.1
21
+ content-type:
22
+ - application/json; charset=utf-8
23
+ date:
24
+ - Tue, 14 Feb 2012 15:24:01 GMT
25
+ server:
26
+ - Apache/2.2.3 (CentOS)
27
+ x-runtime:
28
+ - "0.024422"
29
+ set-cookie:
30
+ - <REDACTED>
31
+ cache-control:
32
+ - no-cache
33
+ status:
34
+ - "404"
35
+ transfer-encoding:
36
+ - chunked
37
+ body: "{\"errors\":[\"Resource not found\"]}"
38
+ http_version: "1.1"
39
+ - !ruby/struct:VCR::HTTPInteraction
40
+ request: !ruby/struct:VCR::Request
41
+ method: :get
42
+ uri: http://<USER>:<PASS>@<URL>:80/network_zones/1.json
43
+ body:
44
+ headers:
45
+ content-type:
46
+ - application/json
47
+ authorization:
48
+ - Basic <REDACTED>
49
+ response: !ruby/struct:VCR::Response
50
+ status: !ruby/struct:VCR::ResponseStatus
51
+ code: 200
52
+ message: OK
53
+ headers:
54
+ x-ua-compatible:
55
+ - IE=Edge,chrome=1
56
+ etag:
57
+ - "\"3915e823861d7844a031927c968f493f\""
58
+ x-powered-by:
59
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.1
60
+ content-type:
61
+ - application/json; charset=utf-8
62
+ x-runtime:
63
+ - "0.035651"
64
+ server:
65
+ - Apache/2.2.3 (CentOS)
66
+ date:
67
+ - Tue, 14 Feb 2012 15:24:02 GMT
68
+ set-cookie:
69
+ - <REDACTED>
70
+ status:
71
+ - "200"
72
+ cache-control:
73
+ - max-age=0, private, must-revalidate
74
+ transfer-encoding:
75
+ - chunked
76
+ body: "{\"network_group\":{\"label\":\"Default Network Zone\",\"created_at\":\"2011-07-20T15:49:07Z\",\"updated_at\":\"2011-07-20T15:49:07Z\",\"id\":2}}"
77
+ http_version: "1.1"
@@ -0,0 +1,78 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :post
5
+ uri: http://<USER>:<PASS>@<URL>:80/users/404/payments.json?payment[amount]=500
6
+ body:
7
+ headers:
8
+ content-type:
9
+ - application/json
10
+ authorization:
11
+ - Basic <REDACTED>
12
+ response: !ruby/struct:VCR::Response
13
+ status: !ruby/struct:VCR::ResponseStatus
14
+ code: 404
15
+ message: Not Found
16
+ headers:
17
+ date:
18
+ - Mon, 13 Feb 2012 17:48:31 GMT
19
+ server:
20
+ - Apache/2.2.3 (CentOS)
21
+ x-powered-by:
22
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.1
23
+ x-ua-compatible:
24
+ - IE=Edge,chrome=1
25
+ x-runtime:
26
+ - '0.023899'
27
+ cache-control:
28
+ - no-cache
29
+ set-cookie:
30
+ - <REDACTED>
31
+ status:
32
+ - '404'
33
+ transfer-encoding:
34
+ - chunked
35
+ content-type:
36
+ - application/json; charset=utf-8
37
+ body: ! '{"errors":["Resource not found"]}'
38
+ http_version: '1.1'
39
+ - !ruby/struct:VCR::HTTPInteraction
40
+ request: !ruby/struct:VCR::Request
41
+ method: :post
42
+ uri: http://<USER>:<PASS>@<URL>:80/users/1/payments.json?payment[amount]=500
43
+ body:
44
+ headers:
45
+ content-type:
46
+ - application/json
47
+ authorization:
48
+ - Basic <REDACTED>
49
+ response: !ruby/struct:VCR::Response
50
+ status: !ruby/struct:VCR::ResponseStatus
51
+ code: 201
52
+ message: Created
53
+ headers:
54
+ date:
55
+ - Mon, 13 Feb 2012 17:48:31 GMT
56
+ server:
57
+ - Apache/2.2.3 (CentOS)
58
+ x-powered-by:
59
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.1
60
+ x-ua-compatible:
61
+ - IE=Edge,chrome=1
62
+ x-runtime:
63
+ - '0.034229'
64
+ cache-control:
65
+ - no-cache
66
+ set-cookie:
67
+ - <REDACTED>
68
+ location:
69
+ - http://<URL>/users/1/payments/36
70
+ status:
71
+ - '201'
72
+ transfer-encoding:
73
+ - chunked
74
+ content-type:
75
+ - application/json; charset=utf-8
76
+ body: ! '{"payment":{"created_at":"2012-02-13T17:48:31Z","updated_at":"2012-02-13T17:48:31Z","amount":"500.0","id":36,"invoice_number":null,"user_id":1}}'
77
+ http_version: '1.1'
78
+ ...
@@ -0,0 +1,77 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :delete
5
+ uri: http://<USER>:<PASS>@<URL>:80/users/1/payments/1.json
6
+ body:
7
+ headers:
8
+ content-type:
9
+ - application/json
10
+ authorization:
11
+ - Basic <REDACTED>
12
+ response: !ruby/struct:VCR::Response
13
+ status: !ruby/struct:VCR::ResponseStatus
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ x-ua-compatible:
18
+ - IE=Edge,chrome=1
19
+ x-powered-by:
20
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.1
21
+ etag:
22
+ - "\"99914b932bd37a50b983c5e7c90ae93b\""
23
+ content-type:
24
+ - application/json; charset=utf-8
25
+ date:
26
+ - Mon, 13 Feb 2012 18:01:09 GMT
27
+ server:
28
+ - Apache/2.2.3 (CentOS)
29
+ x-runtime:
30
+ - "0.053457"
31
+ set-cookie:
32
+ - <REDACTED>
33
+ cache-control:
34
+ - max-age=0, private, must-revalidate
35
+ status:
36
+ - "200"
37
+ transfer-encoding:
38
+ - chunked
39
+ body: "{}"
40
+ http_version: "1.1"
41
+ - !ruby/struct:VCR::HTTPInteraction
42
+ request: !ruby/struct:VCR::Request
43
+ method: :delete
44
+ uri: http://<USER>:<PASS>@<URL>:80/users/1/payments/404.json
45
+ body:
46
+ headers:
47
+ content-type:
48
+ - application/json
49
+ authorization:
50
+ - Basic <REDACTED>
51
+ response: !ruby/struct:VCR::Response
52
+ status: !ruby/struct:VCR::ResponseStatus
53
+ code: 404
54
+ message: Not Found
55
+ headers:
56
+ x-ua-compatible:
57
+ - IE=Edge,chrome=1
58
+ x-powered-by:
59
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.1
60
+ content-type:
61
+ - application/json; charset=utf-8
62
+ x-runtime:
63
+ - "0.038234"
64
+ server:
65
+ - Apache/2.2.3 (CentOS)
66
+ date:
67
+ - Mon, 13 Feb 2012 18:01:09 GMT
68
+ set-cookie:
69
+ - <REDACTED>
70
+ status:
71
+ - "404"
72
+ cache-control:
73
+ - no-cache
74
+ transfer-encoding:
75
+ - chunked
76
+ body: "{\"errors\":[\"Resource not found\"]}"
77
+ http_version: "1.1"
@@ -0,0 +1,77 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :put
5
+ uri: http://<USER>:<PASS>@<URL>:80/users/1/payments/1.json?payment[amount]=100
6
+ body:
7
+ headers:
8
+ content-type:
9
+ - application/json
10
+ authorization:
11
+ - Basic <REDACTED>
12
+ response: !ruby/struct:VCR::Response
13
+ status: !ruby/struct:VCR::ResponseStatus
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ x-ua-compatible:
18
+ - IE=Edge,chrome=1
19
+ x-powered-by:
20
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.1
21
+ etag:
22
+ - "\"99914b932bd37a50b983c5e7c90ae93b\""
23
+ content-type:
24
+ - application/json; charset=utf-8
25
+ date:
26
+ - Mon, 13 Feb 2012 17:58:22 GMT
27
+ server:
28
+ - Apache/2.2.3 (CentOS)
29
+ x-runtime:
30
+ - "0.037135"
31
+ set-cookie:
32
+ - <REDACTED>
33
+ cache-control:
34
+ - max-age=0, private, must-revalidate
35
+ status:
36
+ - "200"
37
+ transfer-encoding:
38
+ - chunked
39
+ body: "{}"
40
+ http_version: "1.1"
41
+ - !ruby/struct:VCR::HTTPInteraction
42
+ request: !ruby/struct:VCR::Request
43
+ method: :put
44
+ uri: http://<USER>:<PASS>@<URL>:80/users/1/payments/404.json?payment[amount]=500
45
+ body:
46
+ headers:
47
+ content-type:
48
+ - application/json
49
+ authorization:
50
+ - Basic <REDACTED>
51
+ response: !ruby/struct:VCR::Response
52
+ status: !ruby/struct:VCR::ResponseStatus
53
+ code: 404
54
+ message: Not Found
55
+ headers:
56
+ x-ua-compatible:
57
+ - IE=Edge,chrome=1
58
+ x-powered-by:
59
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.1
60
+ content-type:
61
+ - application/json; charset=utf-8
62
+ x-runtime:
63
+ - "0.024031"
64
+ server:
65
+ - Apache/2.2.3 (CentOS)
66
+ date:
67
+ - Mon, 13 Feb 2012 17:58:23 GMT
68
+ set-cookie:
69
+ - <REDACTED>
70
+ status:
71
+ - "404"
72
+ cache-control:
73
+ - no-cache
74
+ transfer-encoding:
75
+ - chunked
76
+ body: "{\"errors\":[\"Resource not found\"]}"
77
+ http_version: "1.1"
@@ -0,0 +1,41 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :get
5
+ uri: http://<USER>:<PASS>@<URL>:80/users/1/payments.json
6
+ body:
7
+ headers:
8
+ content-type:
9
+ - application/json
10
+ authorization:
11
+ - Basic <REDACTED>
12
+ response: !ruby/struct:VCR::Response
13
+ status: !ruby/struct:VCR::ResponseStatus
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ date:
18
+ - Mon, 13 Feb 2012 17:31:41 GMT
19
+ server:
20
+ - Apache/2.2.3 (CentOS)
21
+ x-powered-by:
22
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.1
23
+ etag:
24
+ - ! '"634902b4eeb4ad7853662e843fc1de6b"'
25
+ x-ua-compatible:
26
+ - IE=Edge,chrome=1
27
+ x-runtime:
28
+ - '0.041789'
29
+ cache-control:
30
+ - max-age=0, private, must-revalidate
31
+ set-cookie:
32
+ - <REDACTED>
33
+ status:
34
+ - '200'
35
+ transfer-encoding:
36
+ - chunked
37
+ content-type:
38
+ - application/json; charset=utf-8
39
+ body: ! '[{"payment":{"created_at":"2010-12-09T13:22:38Z","updated_at":"2010-12-09T13:22:38Z","amount":"1000.0","id":1,"invoice_number":"00001","user_id":1}},{"payment":{"created_at":"2011-08-10T15:42:34Z","updated_at":"2011-08-10T15:42:34Z","amount":"2000.0","id":16,"invoice_number":"002","user_id":1}},{"payment":{"created_at":"2011-12-07T21:25:10Z","updated_at":"2011-12-07T21:25:10Z","amount":"1000000.0","id":32,"invoice_number":"3","user_id":1}}]'
40
+ http_version: '1.1'
41
+ ...
@@ -2,50 +2,13 @@
2
2
  - !ruby/struct:VCR::HTTPInteraction
3
3
  request: !ruby/struct:VCR::Request
4
4
  method: :post
5
- uri: http://user:pass@www.example.com:80/roles.json?role[identifier]=testing&role[label]=Test
5
+ uri: http://<USER>:<PASS>@<URL>:80/roles.json?role[permission_ids]=1&role[label]=Test%20Create
6
6
  body:
7
7
  headers:
8
8
  content-type:
9
9
  - application/json
10
10
  authorization:
11
- - Basic WHAT
12
- response: !ruby/struct:VCR::Response
13
- status: !ruby/struct:VCR::ResponseStatus
14
- code: 422
15
- message: Unprocessable Entity
16
- headers:
17
- x-ua-compatible:
18
- - IE=Edge,chrome=1
19
- x-powered-by:
20
- - Phusion Passenger (mod_rails/mod_rack) 3.0.1
21
- content-type:
22
- - application/json; charset=utf-8
23
- x-runtime:
24
- - "0.008168"
25
- server:
26
- - Apache/2.2.3 (CentOS)
27
- date:
28
- - Mon, 18 Apr 2011 14:51:07 GMT
29
- set-cookie:
30
- - _onapp_session=WHAT; path=/; HttpOnly
31
- status:
32
- - "422"
33
- cache-control:
34
- - no-cache
35
- transfer-encoding:
36
- - chunked
37
- body: "{\"identifier\":[\"has already been taken\"]}"
38
- http_version: "1.1"
39
- - !ruby/struct:VCR::HTTPInteraction
40
- request: !ruby/struct:VCR::Request
41
- method: :post
42
- uri: http://user:pass@www.example.com:80/roles.json?role[identifier]=testing-create&role[label]=Test%20Create
43
- body:
44
- headers:
45
- content-type:
46
- - application/json
47
- authorization:
48
- - Basic WHAT
11
+ - Basic <REDACTED>
49
12
  response: !ruby/struct:VCR::Response
50
13
  status: !ruby/struct:VCR::ResponseStatus
51
14
  code: 201
@@ -54,24 +17,24 @@
54
17
  x-ua-compatible:
55
18
  - IE=Edge,chrome=1
56
19
  location:
57
- - http://www.example.com/roles/7
20
+ - http://<URL>/roles/407
58
21
  x-powered-by:
59
22
  - Phusion Passenger (mod_rails/mod_rack) 3.0.1
60
23
  content-type:
61
24
  - application/json; charset=utf-8
62
25
  x-runtime:
63
- - "0.019195"
26
+ - "0.317188"
64
27
  server:
65
28
  - Apache/2.2.3 (CentOS)
66
29
  date:
67
- - Mon, 18 Apr 2011 14:54:29 GMT
30
+ - Fri, 10 Feb 2012 14:25:06 GMT
68
31
  set-cookie:
69
- - _onapp_session=WHAT; path=/; HttpOnly
32
+ - <REDACTED>
70
33
  status:
71
34
  - "201"
72
35
  cache-control:
73
36
  - no-cache
74
37
  transfer-encoding:
75
38
  - chunked
76
- body: "{\"role\":{\"label\":\"Test Create\",\"created_at\":\"2011-04-18T14:54:29Z\",\"updated_at\":\"2011-04-18T14:54:29Z\",\"id\":7,\"permissions\":[],\"identifier\":\"testing-create\"}}"
39
+ body: "{\"role\":{\"label\":\"Test Create\",\"created_at\":\"2012-02-10T14:25:06Z\",\"updated_at\":\"2012-02-10T14:25:06Z\",\"id\":407,\"permissions\":[{\"permission\":{\"label\":\"Any action on virtual machines\",\"created_at\":\"2010-10-27T10:08:25Z\",\"updated_at\":\"2010-10-27T10:08:25Z\",\"id\":1,\"identifier\":\"virtual_machines\"}}],\"identifier\":\"pz9ypw3ct32mbw\"}}"
77
40
  http_version: "1.1"
@@ -2,13 +2,13 @@
2
2
  - !ruby/struct:VCR::HTTPInteraction
3
3
  request: !ruby/struct:VCR::Request
4
4
  method: :delete
5
- uri: http://user:pass@www.example.com:80/roles/5.json
5
+ uri: http://<USER>:<PASS>@<URL>:80/roles/5.json
6
6
  body:
7
7
  headers:
8
8
  content-type:
9
9
  - application/json
10
10
  authorization:
11
- - Basic WHAT
11
+ - Basic <REDACTED>
12
12
  response: !ruby/struct:VCR::Response
13
13
  status: !ruby/struct:VCR::ResponseStatus
14
14
  code: 404
@@ -27,7 +27,7 @@
27
27
  x-runtime:
28
28
  - "0.065155"
29
29
  set-cookie:
30
- - _onapp_session=WHAT; path=/; HttpOnly
30
+ - <REDACTED>
31
31
  cache-control:
32
32
  - no-cache
33
33
  status:
@@ -39,13 +39,13 @@
39
39
  - !ruby/struct:VCR::HTTPInteraction
40
40
  request: !ruby/struct:VCR::Request
41
41
  method: :delete
42
- uri: http://user:pass@www.example.com:80/roles/3.json
42
+ uri: http://<USER>:<PASS>@<URL>:80/roles/3.json
43
43
  body:
44
44
  headers:
45
45
  content-type:
46
46
  - application/json
47
47
  authorization:
48
- - Basic WHAT
48
+ - Basic <REDACTED>
49
49
  response: !ruby/struct:VCR::Response
50
50
  status: !ruby/struct:VCR::ResponseStatus
51
51
  code: 200
@@ -66,7 +66,7 @@
66
66
  date:
67
67
  - Fri, 15 Apr 2011 16:42:52 GMT
68
68
  set-cookie:
69
- - _onapp_session=WHAT; path=/; HttpOnly
69
+ - <REDACTED>
70
70
  status:
71
71
  - "200"
72
72
  cache-control:
@@ -2,13 +2,13 @@
2
2
  - !ruby/struct:VCR::HTTPInteraction
3
3
  request: !ruby/struct:VCR::Request
4
4
  method: :put
5
- uri: http://user:pass@www.example.com:80/roles/5.json?
5
+ uri: http://<USER>:<PASS>@<URL>:80/roles/404.json?
6
6
  body:
7
7
  headers:
8
8
  content-type:
9
9
  - application/json
10
10
  authorization:
11
- - Basic WHAT
11
+ - Basic <REDACTED>
12
12
  response: !ruby/struct:VCR::Response
13
13
  status: !ruby/struct:VCR::ResponseStatus
14
14
  code: 404
@@ -20,71 +20,32 @@
20
20
  - Phusion Passenger (mod_rails/mod_rack) 3.0.1
21
21
  content-type:
22
22
  - application/json; charset=utf-8
23
- x-runtime:
24
- - "0.021298"
25
- server:
26
- - Apache/2.2.3 (CentOS)
27
23
  date:
28
- - Thu, 14 Apr 2011 18:59:36 GMT
29
- set-cookie:
30
- - _onapp_session=WHAT; path=/; HttpOnly
31
- status:
32
- - "404"
33
- cache-control:
34
- - no-cache
35
- transfer-encoding:
36
- - chunked
37
- body: "{\"error\":\"Resource not found\"}"
38
- http_version: "1.1"
39
- - !ruby/struct:VCR::HTTPInteraction
40
- request: !ruby/struct:VCR::Request
41
- method: :get
42
- uri: http://user:pass@www.example.com:80/roles/3.json
43
- body:
44
- headers:
45
- content-type:
46
- - application/json
47
- authorization:
48
- - Basic WHAT
49
- response: !ruby/struct:VCR::Response
50
- status: !ruby/struct:VCR::ResponseStatus
51
- code: 200
52
- message: OK
53
- headers:
54
- x-ua-compatible:
55
- - IE=Edge,chrome=1
56
- x-powered-by:
57
- - Phusion Passenger (mod_rails/mod_rack) 3.0.1
58
- etag:
59
- - "\"5c677ed1b8019c0e54089a5ec6c1eb0c\""
60
- content-type:
61
- - application/json; charset=utf-8
62
- date:
63
- - Thu, 14 Apr 2011 18:59:36 GMT
24
+ - Thu, 09 Feb 2012 20:23:43 GMT
64
25
  server:
65
26
  - Apache/2.2.3 (CentOS)
66
27
  x-runtime:
67
- - "0.007870"
28
+ - "0.026021"
68
29
  set-cookie:
69
- - _onapp_session=WHAT; path=/; HttpOnly
30
+ - <REDACTED>
70
31
  cache-control:
71
- - max-age=0, private, must-revalidate
32
+ - no-cache
72
33
  status:
73
- - "200"
34
+ - "404"
74
35
  transfer-encoding:
75
36
  - chunked
76
- body: "{\"role\":{\"label\":\"Other\",\"created_at\":\"2011-04-14T18:52:37Z\",\"updated_at\":\"2011-04-14T18:52:37Z\",\"id\":3,\"permissions\":[],\"identifier\":\"5ix73iwvoh7anf\"}}"
37
+ body: "{\"errors\":[\"Resource not found\"]}"
77
38
  http_version: "1.1"
78
39
  - !ruby/struct:VCR::HTTPInteraction
79
40
  request: !ruby/struct:VCR::Request
80
41
  method: :put
81
- uri: http://user:pass@www.example.com:80/roles/3.json?role[label]=New
42
+ uri: http://<USER>:<PASS>@<URL>:80/roles/1.json?role[label]=New
82
43
  body:
83
44
  headers:
84
45
  content-type:
85
46
  - application/json
86
47
  authorization:
87
- - Basic WHAT
48
+ - Basic <REDACTED>
88
49
  response: !ruby/struct:VCR::Response
89
50
  status: !ruby/struct:VCR::ResponseStatus
90
51
  code: 200
@@ -99,13 +60,13 @@
99
60
  content-type:
100
61
  - application/json; charset=utf-8
101
62
  x-runtime:
102
- - "0.020769"
63
+ - "0.941814"
103
64
  server:
104
65
  - Apache/2.2.3 (CentOS)
105
66
  date:
106
- - Thu, 14 Apr 2011 19:06:11 GMT
67
+ - Thu, 09 Feb 2012 20:23:44 GMT
107
68
  set-cookie:
108
- - _onapp_session=WHAT; path=/; HttpOnly
69
+ - <REDACTED>
109
70
  status:
110
71
  - "200"
111
72
  cache-control:
@@ -114,26 +75,3 @@
114
75
  - chunked
115
76
  body: "{}"
116
77
  http_version: "1.1"
117
- - !ruby/struct:VCR::HTTPInteraction
118
- request: !ruby/struct:VCR::Request
119
- method: :get
120
- uri: http://user:pass@www.example.com:80/roles/3.json
121
- body:
122
- headers:
123
- content-type:
124
- - application/json
125
- authorization:
126
- - Basic WHAT
127
- response: !ruby/struct:VCR::Response
128
- status: !ruby/struct:VCR::ResponseStatus
129
- code: 302
130
- message: Found
131
- headers:
132
- location:
133
- - http://www.iana.org/domains/example/
134
- server:
135
- - BigIP
136
- content-length:
137
- - "0"
138
- body:
139
- http_version: "1.0"