lumberg 1.1.1 → 2.0.0.pre3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (175) hide show
  1. checksums.yaml +7 -0
  2. data/.travis.yml +1 -6
  3. data/README.md +130 -23
  4. data/lib/lumberg.rb +2 -0
  5. data/lib/lumberg/cpanel.rb +29 -0
  6. data/lib/lumberg/cpanel/addon_domain.rb +50 -0
  7. data/lib/lumberg/cpanel/backups.rb +16 -0
  8. data/lib/lumberg/cpanel/base.rb +56 -0
  9. data/lib/lumberg/cpanel/box_trapper.rb +18 -0
  10. data/lib/lumberg/cpanel/branding.rb +89 -0
  11. data/lib/lumberg/cpanel/contact.rb +38 -0
  12. data/lib/lumberg/cpanel/cron.rb +89 -0
  13. data/lib/lumberg/cpanel/dns_lookup.rb +23 -0
  14. data/lib/lumberg/cpanel/domain_keys.rb +37 -0
  15. data/lib/lumberg/cpanel/domain_lookup.rb +71 -0
  16. data/lib/lumberg/cpanel/email.rb +491 -0
  17. data/lib/lumberg/cpanel/file_manager.rb +146 -0
  18. data/lib/lumberg/cpanel/gpg.rb +36 -0
  19. data/lib/lumberg/cpanel/locale.rb +15 -0
  20. data/lib/lumberg/cpanel/mime.rb +34 -0
  21. data/lib/lumberg/cpanel/mysql.rb +66 -0
  22. data/lib/lumberg/cpanel/net.rb +28 -0
  23. data/lib/lumberg/cpanel/park.rb +58 -0
  24. data/lib/lumberg/cpanel/password.rb +52 -0
  25. data/lib/lumberg/cpanel/random_data.rb +25 -0
  26. data/lib/lumberg/cpanel/redirect.rb +44 -0
  27. data/lib/lumberg/cpanel/ssl.rb +198 -0
  28. data/lib/lumberg/cpanel/sub_domain.rb +61 -0
  29. data/lib/lumberg/cpanel/support.rb +29 -0
  30. data/lib/lumberg/cpanel/zone_edit.rb +134 -0
  31. data/lib/lumberg/format_whm.rb +24 -1
  32. data/lib/lumberg/version.rb +1 -1
  33. data/lib/lumberg/whm.rb +2 -1
  34. data/lib/lumberg/whm/account.rb +4 -4
  35. data/lib/lumberg/whm/cert.rb +69 -0
  36. data/lib/lumberg/whm/dns.rb +28 -4
  37. data/lib/lumberg/whm/reseller.rb +4 -4
  38. data/lib/lumberg/whm/server.rb +64 -15
  39. data/lumberg.gemspec +4 -3
  40. data/spec/config_spec.rb +2 -2
  41. data/spec/cpanel/addon_domain_spec.rb +84 -0
  42. data/spec/cpanel/backups_spec.rb +22 -0
  43. data/spec/cpanel/base_spec.rb +128 -0
  44. data/spec/cpanel/box_trapper_spec.rb +22 -0
  45. data/spec/cpanel/branding_spec.rb +46 -0
  46. data/spec/cpanel/contact_spec.rb +50 -0
  47. data/spec/cpanel/cron_spec.rb +161 -0
  48. data/spec/cpanel/dns_lookup_spec.rb +22 -0
  49. data/spec/cpanel/domain_keys_spec.rb +46 -0
  50. data/spec/cpanel/domain_lookup_spec.rb +77 -0
  51. data/spec/cpanel/email_spec.rb +615 -0
  52. data/spec/cpanel/file_manager_spec.rb +73 -0
  53. data/spec/cpanel/gpg_spec.rb +48 -0
  54. data/spec/cpanel/locale_spec.rb +23 -0
  55. data/spec/cpanel/mime_spec.rb +0 -0
  56. data/spec/cpanel/mysql_spec.rb +0 -0
  57. data/spec/cpanel/net_spec.rb +30 -0
  58. data/spec/cpanel/park_spec.rb +94 -0
  59. data/spec/cpanel/password_spec.rb +35 -0
  60. data/spec/cpanel/random_data_spec.rb +24 -0
  61. data/spec/cpanel/redirect_spec.rb +0 -0
  62. data/spec/cpanel/ssl_spec.rb +138 -0
  63. data/spec/cpanel/sub_domain_spec.rb +72 -0
  64. data/spec/cpanel/support_spec.rb +38 -0
  65. data/spec/cpanel/zone_edit_spec.rb +0 -0
  66. data/spec/sample_certs/cpanel.crt +28 -0
  67. data/spec/sample_certs/cpanel.key +28 -0
  68. data/spec/sample_certs/main.crt +27 -0
  69. data/spec/sample_certs/sample.crt +26 -0
  70. data/spec/sample_certs/sample.key +27 -0
  71. data/spec/spec_helper.rb +7 -1
  72. data/spec/support/cpanel_matchers.rb +17 -0
  73. data/spec/vcr_cassettes/cpanel/addon_domain/add.yml +77 -0
  74. data/spec/vcr_cassettes/cpanel/addon_domain/list.yml +77 -0
  75. data/spec/vcr_cassettes/cpanel/addon_domain/remove.yml +77 -0
  76. data/spec/vcr_cassettes/cpanel/backups/list.yml +40 -0
  77. data/spec/vcr_cassettes/cpanel/box_trapper/list.yml +40 -0
  78. data/spec/vcr_cassettes/cpanel/branding/list_icons.yml +40 -0
  79. data/spec/vcr_cassettes/cpanel/branding/list_image_types.yml +40 -0
  80. data/spec/vcr_cassettes/cpanel/branding/list_object_types.yml +40 -0
  81. data/spec/vcr_cassettes/cpanel/branding/list_pkgs.yml +40 -0
  82. data/spec/vcr_cassettes/cpanel/branding/list_sprites.yml +40 -0
  83. data/spec/vcr_cassettes/cpanel/contact/show.yml +40 -0
  84. data/spec/vcr_cassettes/cpanel/contact/update.yml +40 -0
  85. data/spec/vcr_cassettes/cpanel/cron/add.yml +77 -0
  86. data/spec/vcr_cassettes/cpanel/cron/edit.yml +114 -0
  87. data/spec/vcr_cassettes/cpanel/cron/email.yml +77 -0
  88. data/spec/vcr_cassettes/cpanel/cron/list.yml +77 -0
  89. data/spec/vcr_cassettes/cpanel/cron/remove.yml +151 -0
  90. data/spec/vcr_cassettes/cpanel/cron/set_email.yml +77 -0
  91. data/spec/vcr_cassettes/cpanel/dns_lookup/name_to_ip.yml +40 -0
  92. data/spec/vcr_cassettes/cpanel/domain_keys/add.yml +40 -0
  93. data/spec/vcr_cassettes/cpanel/domain_keys/available.yml +40 -0
  94. data/spec/vcr_cassettes/cpanel/domain_keys/installed.yml +40 -0
  95. data/spec/vcr_cassettes/cpanel/domain_keys/remove.yml +40 -0
  96. data/spec/vcr_cassettes/cpanel/domain_lookup/count.yml +40 -0
  97. data/spec/vcr_cassettes/cpanel/domain_lookup/docroot.yml +40 -0
  98. data/spec/vcr_cassettes/cpanel/domain_lookup/docroots.yml +40 -0
  99. data/spec/vcr_cassettes/cpanel/domain_lookup/document_root.yml +40 -0
  100. data/spec/vcr_cassettes/cpanel/domain_lookup/document_roots.yml +40 -0
  101. data/spec/vcr_cassettes/cpanel/domain_lookup/list.yml +40 -0
  102. data/spec/vcr_cassettes/cpanel/email/acceptable_encodings.yml +40 -0
  103. data/spec/vcr_cassettes/cpanel/email/accounts.yml +188 -0
  104. data/spec/vcr_cassettes/cpanel/email/add_account.yml +77 -0
  105. data/spec/vcr_cassettes/cpanel/email/add_filter.yml +77 -0
  106. data/spec/vcr_cassettes/cpanel/email/add_forwarder.yml +77 -0
  107. data/spec/vcr_cassettes/cpanel/email/add_mailing_list.yml +73 -0
  108. data/spec/vcr_cassettes/cpanel/email/add_mx.yml +40 -0
  109. data/spec/vcr_cassettes/cpanel/email/change_mx.yml +40 -0
  110. data/spec/vcr_cassettes/cpanel/email/check_local_delivery_local.yml +77 -0
  111. data/spec/vcr_cassettes/cpanel/email/check_local_delivery_remote.yml +77 -0
  112. data/spec/vcr_cassettes/cpanel/email/default_address.yml +40 -0
  113. data/spec/vcr_cassettes/cpanel/email/delete_mx.yml +40 -0
  114. data/spec/vcr_cassettes/cpanel/email/disk_usage.yml +77 -0
  115. data/spec/vcr_cassettes/cpanel/email/domains.yml +40 -0
  116. data/spec/vcr_cassettes/cpanel/email/domains_with_aliases.yml +77 -0
  117. data/spec/vcr_cassettes/cpanel/email/edit_quota.yml +112 -0
  118. data/spec/vcr_cassettes/cpanel/email/filters.yml +114 -0
  119. data/spec/vcr_cassettes/cpanel/email/forwarders.yml +77 -0
  120. data/spec/vcr_cassettes/cpanel/email/mail_dir.yml +77 -0
  121. data/spec/vcr_cassettes/cpanel/email/mail_dirs.yml +77 -0
  122. data/spec/vcr_cassettes/cpanel/email/mailing_lists.yml +73 -0
  123. data/spec/vcr_cassettes/cpanel/email/main_discard.yml +40 -0
  124. data/spec/vcr_cassettes/cpanel/email/mx.yml +40 -0
  125. data/spec/vcr_cassettes/cpanel/email/remove.yml +77 -0
  126. data/spec/vcr_cassettes/cpanel/email/set_mail_delivery_local.yml +77 -0
  127. data/spec/vcr_cassettes/cpanel/email/set_mail_delivery_remote.yml +77 -0
  128. data/spec/vcr_cassettes/cpanel/email/set_mx_type.yml +40 -0
  129. data/spec/vcr_cassettes/cpanel/file_manager/disk_usage.yml +38 -0
  130. data/spec/vcr_cassettes/cpanel/file_manager/list.yml +38 -0
  131. data/spec/vcr_cassettes/cpanel/file_manager/operate.yml +77 -0
  132. data/spec/vcr_cassettes/cpanel/file_manager/show.yml +40 -0
  133. data/spec/vcr_cassettes/cpanel/file_manager/stat.yml +38 -0
  134. data/spec/vcr_cassettes/cpanel/gpg/count.yml +40 -0
  135. data/spec/vcr_cassettes/cpanel/gpg/count_private.yml +40 -0
  136. data/spec/vcr_cassettes/cpanel/gpg/list.yml +40 -0
  137. data/spec/vcr_cassettes/cpanel/gpg/list_private.yml +40 -0
  138. data/spec/vcr_cassettes/cpanel/locale/show.yml +40 -0
  139. data/spec/vcr_cassettes/cpanel/net/query_hostname.yml +40 -0
  140. data/spec/vcr_cassettes/cpanel/net/traceroute.yml +40 -0
  141. data/spec/vcr_cassettes/cpanel/park/add.yml +77 -0
  142. data/spec/vcr_cassettes/cpanel/park/list.yml +77 -0
  143. data/spec/vcr_cassettes/cpanel/park/list_addon_domains.yml +77 -0
  144. data/spec/vcr_cassettes/cpanel/park/remove.yml +77 -0
  145. data/spec/vcr_cassettes/cpanel/password/digest_authentication.yml +77 -0
  146. data/spec/vcr_cassettes/cpanel/password/modify.yml +77 -0
  147. data/spec/vcr_cassettes/cpanel/random_data/show.yml +40 -0
  148. data/spec/vcr_cassettes/cpanel/ssl/fetchcabundle.yml +40 -0
  149. data/spec/vcr_cassettes/cpanel/ssl/gencrt.yml +40 -0
  150. data/spec/vcr_cassettes/cpanel/ssl/gencsr.yml +40 -0
  151. data/spec/vcr_cassettes/cpanel/ssl/genkey.yml +40 -0
  152. data/spec/vcr_cassettes/cpanel/ssl/installssl.yml +40 -0
  153. data/spec/vcr_cassettes/cpanel/ssl/listcrts.yml +40 -0
  154. data/spec/vcr_cassettes/cpanel/ssl/listcsrs.yml +40 -0
  155. data/spec/vcr_cassettes/cpanel/ssl/listkeys.yml +40 -0
  156. data/spec/vcr_cassettes/cpanel/ssl/listsslitems.yml +40 -0
  157. data/spec/vcr_cassettes/cpanel/ssl/showcrt.yml +38 -0
  158. data/spec/vcr_cassettes/cpanel/ssl/showcsr.yml +38 -0
  159. data/spec/vcr_cassettes/cpanel/ssl/showkey.yml +38 -0
  160. data/spec/vcr_cassettes/cpanel/ssl/uploadcrt.yml +40 -0
  161. data/spec/vcr_cassettes/cpanel/sub_domain/add.yml +77 -0
  162. data/spec/vcr_cassettes/cpanel/sub_domain/list.yml +77 -0
  163. data/spec/vcr_cassettes/cpanel/sub_domain/remove.yml +77 -0
  164. data/spec/vcr_cassettes/cpanel/support/contactable.yml +40 -0
  165. data/spec/vcr_cassettes/whm/cert/fetchsslinfo.yml +38 -0
  166. data/spec/vcr_cassettes/whm/cert/generatessl.yml +38 -0
  167. data/spec/vcr_cassettes/whm/cert/installssl.yml +38 -0
  168. data/spec/vcr_cassettes/whm/cert/listcrts.yml +38 -0
  169. data/spec/vcr_cassettes/whm/server/gettweaksetting.yml +44 -0
  170. data/spec/vcr_cassettes/whm/server/settweaksetting.yml +44 -0
  171. data/spec/vcr_cassettes/whm/server/themes.yml +38 -0
  172. data/spec/whm/cert_spec.rb +62 -0
  173. data/spec/whm/server_spec.rb +79 -3
  174. metadata +376 -34
  175. data/.rvmrc +0 -49
@@ -0,0 +1,40 @@
1
+ ---
2
+ recorded_with: VCR 2.0.1
3
+ http_interactions:
4
+ - request:
5
+ method: get
6
+ uri: https://myhost.com:2087/json-api/cpanel?cpanel_jsonapi_apiversion=2&cpanel_jsonapi_func=isenabled&cpanel_jsonapi_module=Contactus&cpanel_jsonapi_user=lumberg
7
+ body:
8
+ string: ""
9
+ headers:
10
+ Accept:
11
+ - "*/*"
12
+ User-Agent:
13
+ - Faraday v0.8.7
14
+ Authorization:
15
+ - WHM root:iscool
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ X-Keep-Alive-Count:
22
+ - "1"
23
+ Date:
24
+ - Tue, 11 Jun 2013 20:45:09 GMT
25
+ Server:
26
+ - cpsrvd/11.36.0.4
27
+ Keep-Alive:
28
+ - timeout=70, max=200
29
+ Content-Length:
30
+ - "118"
31
+ Content-Type:
32
+ - application/json; charset="utf-8"
33
+ Connection:
34
+ - Keep-Alive
35
+ body:
36
+ string: |
37
+ {"cpanelresult":{"data":[{"enabled":1}],"apiversion":2,"event":{"result":1},"func":"isenabled","module":"Contactus"}}
38
+
39
+ http_version:
40
+ recorded_at: Tue, 11 Jun 2013 20:44:15 GMT
@@ -0,0 +1,38 @@
1
+ ---
2
+ recorded_with: VCR 2.0.1
3
+ http_interactions:
4
+ - request:
5
+ method: get
6
+ uri: https://myhost.com:2087/json-api/fetchsslinfo?crtdata=-----BEGIN%20CERTIFICATE-----%0AMIIEiTCCA3GgAwIBAgIJAIVkX2DN3L2xMA0GCSqGSIb3DQEBBQUAMIGJMQswCQYD%0AVQQGEwJVUzELMAkGA1UECBMCSUwxEDAOBgNVBAcTB0NoaWNhZ28xEDAOBgNVBAoT%0AB0Fub3RoZXIxETAPBgNVBAsTCERpdmlzaW9uMRQwEgYDVQQDEwthbm90aGVyLmNv%0AbTEgMB4GCSqGSIb3DQEJARYRYWRtaW5AYW5vdGhlci5jb20wHhcNMTMwNDI5MTcw%0AMjA5WhcNMTQwNDI5MTcwMjA5WjCBiTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAklM%0AMRAwDgYDVQQHEwdDaGljYWdvMRAwDgYDVQQKEwdBbm90aGVyMREwDwYDVQQLEwhE%0AaXZpc2lvbjEUMBIGA1UEAxMLYW5vdGhlci5jb20xIDAeBgkqhkiG9w0BCQEWEWFk%0AbWluQGFub3RoZXIuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA%0A0S9Q9yVYoV6CFsWam5hgJmv0CZZxFrUY4pzf4YR6kv711jJPyfezg%2BSGJ8gDbmJ6%0AwbRZUSDL7QrU03mEsjiLCgRc5oKI8z5OV5VuLLOHPlljmOoPuRViO%2BlCRK1KfzgQ%0AuXY3XWjNl6hVjvyiyYaPBGLuRXfLbC4IrH9K8TmwoPgLcNAhMB82Mt4/XeZPlWS%2B%0Aaxc5uO60o1lv%2BdsA6ZyDTNRBJX03slh8U4YaDrKCOdxhl8U6r/V71pnSNhvdLbUC%0ANVYbbXYsy%2B5anylOdg6lo1oIBdH9ieBBD0eKOl7yIrum7%2BT1IaxZgO0Tja7hCw4s%0AgCabAEL4nBcziqEHCE560wIDAQABo4HxMIHuMB0GA1UdDgQWBBR7ohIYLTST9tD3%0AxQIQWjtsBGmizTCBvgYDVR0jBIG2MIGzgBR7ohIYLTST9tD3xQIQWjtsBGmizaGB%0Aj6SBjDCBiTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAklMMRAwDgYDVQQHEwdDaGlj%0AYWdvMRAwDgYDVQQKEwdBbm90aGVyMREwDwYDVQQLEwhEaXZpc2lvbjEUMBIGA1UE%0AAxMLYW5vdGhlci5jb20xIDAeBgkqhkiG9w0BCQEWEWFkbWluQGFub3RoZXIuY29t%0AggkAhWRfYM3cvbEwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAzKgV%0AgobibCDrzMyIy6NNho%2BRDyZEPYWJcyGg2WIPHpZRo1JG4k1jefjBInNRrc8ctCCG%0AtmX1qT%2BH8VcgYESby7/paaAy8tFmvuWHHeim3AgHk%2BTCookenVuAQL8tF849ZCI5%0A1iTA4zTW8UDsHZARbw/MF6xOWc5RbrziOdqXybNmLDivL35QSieU8fb8roBQ2Zkr%0AWpJhwiqRQfV0IA/sVhSgQU58oXvd1lKCE84vx8VglLdQix05%2BPuokf6gmUYR9T3O%0AcCNiBK4uJiRTHvgj3tgxF%2Bbg/hwC7qEsykbcMKWgzjOU5XlmqXIeGGL1UAx8ySey%0Atvu0G8%2Bno2EGGvXNHA==%0A-----END%20CERTIFICATE-----%0A&domain=myhost.com
7
+ body:
8
+ string: ""
9
+ headers:
10
+ Authorization:
11
+ - WHM root:iscool
12
+ User-Agent:
13
+ - Faraday v0.8.7
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Transfer-Encoding:
22
+ - chunked
23
+ Content-Type:
24
+ - text/plain
25
+ Date:
26
+ - Mon, 29 Apr 2013 17:24:18 GMT
27
+ Server:
28
+ - cpsrvd/11.32.6.4
29
+ Keep-Alive:
30
+ - timeout=70, max=200
31
+ X-Keep-Alive-Count:
32
+ - "1"
33
+ Connection:
34
+ - Keep-Alive
35
+ body:
36
+ string: "{\"sslinfo\":[{\"user\":\"another\",\"key\":\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEpQIBAAKCAQEA0S9Q9yVYoV6CFsWam5hgJmv0CZZxFrUY4pzf4YR6kv711jJP\\nyfezg+SGJ8gDbmJ6wbRZUSDL7QrU03mEsjiLCgRc5oKI8z5OV5VuLLOHPlljmOoP\\nuRViO+lCRK1KfzgQuXY3XWjNl6hVjvyiyYaPBGLuRXfLbC4IrH9K8TmwoPgLcNAh\\nMB82Mt4/XeZPlWS+axc5uO60o1lv+dsA6ZyDTNRBJX03slh8U4YaDrKCOdxhl8U6\\nr/V71pnSNhvdLbUCNVYbbXYsy+5anylOdg6lo1oIBdH9ieBBD0eKOl7yIrum7+T1\\nIaxZgO0Tja7hCw4sgCabAEL4nBcziqEHCE560wIDAQABAoIBAQC0hm8LOtGoQZVm\\n7ZWl3fRsdBGhDJIAFL2rI9MaHmhh32JtPfIZzIjBtEAKqNQ9OQPTkz7ZgsI6iXRu\\nJJrd62oidO1viQuDUCvv7ees8CoxJpeLacOz6L5kEcO83QhDjjDwvRK+rClxTja4\\nNVKPNG7MTExw6xdE/t1BcIFOeIj0AEw8Jr7ZcaV/APWOhI39mtcq+/WD7gHo+w+z\\nlaNxh1/KRNK22rM6RgYFllNDnbeo5HYlCPH6MpQk9e75GHAoUwC0IJNg9rtARb8v\\noq1PcburESXBgrFcMzN6092y2rydv/Mc8Bf81He1MYKsb17O5+Svn3mlFlhPDtx5\\nt7gBbhtRAoGBAPZV+6nceNCQfeywJx3Ajrk7cjd1j0jXjQ4mJklQPmeej9ILhabm\\n2LjeLmdcQqSazuPF7lcJNQLjabOBUEs3tgjLN1Lko8ESqiS+pgsQ0g81ckNjlxSN\\nqNyixwJFdtpFMKwmjG+8sVLJpZyhD0SNCbuAunHEOCBkF3LDyxE+zpnXAoGBANlk\\nNyKxUMgkbwWdppZVTrmPn+/lVf98VGwd7n7hAbFSnY/dTH9KruY7O2VFGoeVBZV1\\nXJMDo3v8E8tj1wjBZRMS3W85GpHJGqSjlskaRFTnD/ebMbVq0bSMeqBZrcT1gLEh\\nThHzabg7ICPyq6L7VH7w5rzBCPI/ca7LpqJTU19lAoGBAKaIxpS1WnAV3yvuguNY\\nVKThjXv03CNwpgnUvLl/qFDBH5Xu+DI3inigrFpwQxWpGwldvJ3WuaH0QHd8it3v\\nEf+r8wD1VcenaKNiyDpe6sQha9gnMfJROsG+wi/E6m7xq9AWV4cK2A6SCIZ1VC8R\\n8mxywJk9AHzVbgzGVTiZb28NAoGBAM2IbICGeMPhfn4mwXvdB+N1IVfk0lwNJpxZ\\n6EVZYwpN+94q8spex+GxGsTygtSxVmgqX+43QHhWqjhgGsySXIeeDHG94Zr4MhJ7\\nAHL+PKCxHW2S83p8lexH7SBx6VMQci4GORPLuaaPcCHMq+4aBZdHGEBZmaW/yjHj\\nJZbPhUHpAoGAHSZVEoLsRcplh92AhWm/MBbFJevx1ES08mZnU5N5bstiAxzmp8JN\\nfH10XES0tZBFgBBQuuH8tNR1IFBASfxLKqDYb99D4fTf6vLFhe0Y1HzpWd+KOuX+\\n015DgbS40dC2Jauzr/4Xsfbph/w/lD36wAER01CWnrv167RvvtqhHcM=\\n-----END RSA PRIVATE KEY-----\\n\",\"ip\":\"192.1.2.3\",\"status\":1,\"cab\":\"\",\"crt\":\"-----BEGIN CERTIFICATE-----\\nMIIEiTCCA3GgAwIBAgIJAIVkX2DN3L2xMA0GCSqGSIb3DQEBBQUAMIGJMQswCQYD\\nVQQGEwJVUzELMAkGA1UECBMCSUwxEDAOBgNVBAcTB0NoaWNhZ28xEDAOBgNVBAoT\\nB0Fub3RoZXIxETAPBgNVBAsTCERpdmlzaW9uMRQwEgYDVQQDEwthbm90aGVyLmNv\\nbTEgMB4GCSqGSIb3DQEJARYRYWRtaW5AYW5vdGhlci5jb20wHhcNMTMwNDI5MTcw\\nMjA5WhcNMTQwNDI5MTcwMjA5WjCBiTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAklM\\nMRAwDgYDVQQHEwdDaGljYWdvMRAwDgYDVQQKEwdBbm90aGVyMREwDwYDVQQLEwhE\\naXZpc2lvbjEUMBIGA1UEAxMLYW5vdGhlci5jb20xIDAeBgkqhkiG9w0BCQEWEWFk\\nbWluQGFub3RoZXIuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA\\n0S9Q9yVYoV6CFsWam5hgJmv0CZZxFrUY4pzf4YR6kv711jJPyfezg+SGJ8gDbmJ6\\nwbRZUSDL7QrU03mEsjiLCgRc5oKI8z5OV5VuLLOHPlljmOoPuRViO+lCRK1KfzgQ\\nuXY3XWjNl6hVjvyiyYaPBGLuRXfLbC4IrH9K8TmwoPgLcNAhMB82Mt4/XeZPlWS+\\naxc5uO60o1lv+dsA6ZyDTNRBJX03slh8U4YaDrKCOdxhl8U6r/V71pnSNhvdLbUC\\nNVYbbXYsy+5anylOdg6lo1oIBdH9ieBBD0eKOl7yIrum7+T1IaxZgO0Tja7hCw4s\\ngCabAEL4nBcziqEHCE560wIDAQABo4HxMIHuMB0GA1UdDgQWBBR7ohIYLTST9tD3\\nxQIQWjtsBGmizTCBvgYDVR0jBIG2MIGzgBR7ohIYLTST9tD3xQIQWjtsBGmizaGB\\nj6SBjDCBiTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAklMMRAwDgYDVQQHEwdDaGlj\\nYWdvMRAwDgYDVQQKEwdBbm90aGVyMREwDwYDVQQLEwhEaXZpc2lvbjEUMBIGA1UE\\nAxMLYW5vdGhlci5jb20xIDAeBgkqhkiG9w0BCQEWEWFkbWluQGFub3RoZXIuY29t\\nggkAhWRfYM3cvbEwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAzKgV\\ngobibCDrzMyIy6NNho+RDyZEPYWJcyGg2WIPHpZRo1JG4k1jefjBInNRrc8ctCCG\\ntmX1qT+H8VcgYESby7/paaAy8tFmvuWHHeim3AgHk+TCookenVuAQL8tF849ZCI5\\n1iTA4zTW8UDsHZARbw/MF6xOWc5RbrziOdqXybNmLDivL35QSieU8fb8roBQ2Zkr\\nWpJhwiqRQfV0IA/sVhSgQU58oXvd1lKCE84vx8VglLdQix05+Puokf6gmUYR9T3O\\ncCNiBK4uJiRTHvgj3tgxF+bg/hwC7qEsykbcMKWgzjOU5XlmqXIeGGL1UAx8ySey\\ntvu0G8+no2EGGvXNHA==\\n-----END CERTIFICATE-----\\n\",\"domain\":null,\"statusmsg\":\"ok\"}]}"
37
+ http_version:
38
+ recorded_at: Mon, 29 Apr 2013 17:24:17 GMT
@@ -0,0 +1,38 @@
1
+ ---
2
+ recorded_with: VCR 2.0.1
3
+ http_interactions:
4
+ - request:
5
+ method: get
6
+ uri: https://myhost.com:2087/json-api/generatessl?city=houston&co=Company&cod=Dept&country=US&email=test@myhost.com&host=myhost.com&pass=abc123&state=TX&xemail=test@myhost.com
7
+ body:
8
+ string: ""
9
+ headers:
10
+ Authorization:
11
+ - WHM root:iscool
12
+ User-Agent:
13
+ - Faraday v0.8.7
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Transfer-Encoding:
22
+ - chunked
23
+ Content-Type:
24
+ - text/plain
25
+ Date:
26
+ - Mon, 29 Apr 2013 17:24:20 GMT
27
+ Server:
28
+ - cpsrvd/11.32.6.4
29
+ Keep-Alive:
30
+ - timeout=70, max=200
31
+ X-Keep-Alive-Count:
32
+ - "1"
33
+ Connection:
34
+ - Keep-Alive
35
+ body:
36
+ string: "{\"results\":{\"email_status\":1,\"statusmsg\":\"Key, Certificate, and CSR generated OK\",\"cert\":\"-----BEGIN CERTIFICATE-----\\nMIIEdDCCA1ygAwIBAgIJAP2xq0y9lyjuMA0GCSqGSIb3DQEBBQUAMIGCMQswCQYD\\nVQQGEwJVUzELMAkGA1UECBMCVFgxEDAOBgNVBAcTB2hvdXN0b24xEDAOBgNVBAoT\\nB0NvbXBhbnkxDTALBgNVBAsTBERlcHQxEzARBgNVBAMTCm15aG9zdC5jb20xHjAc\\nBgkqhkiG9w0BCQEWD3Rlc3RAbXlob3N0LmNvbTAeFw0xMzA0MjkxNzI0MjBaFw0x\\nNDA0MjkxNzI0MjBaMIGCMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVFgxEDAOBgNV\\nBAcTB2hvdXN0b24xEDAOBgNVBAoTB0NvbXBhbnkxDTALBgNVBAsTBERlcHQxEzAR\\nBgNVBAMTCm15aG9zdC5jb20xHjAcBgkqhkiG9w0BCQEWD3Rlc3RAbXlob3N0LmNv\\nbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANwjY5eUSTqJ/0YeRXPz\\n0KnftKQiEoC6IPLave1B9nodfDjtcUJFG72Ihn2sZo9VyLp1wi+yoN/RfGPAPcgu\\nHW1oVovxlug6/2knxhyUBi5bUopOHuSlidhJwcIkRrOpkCpiP4HBV6LMyAa8RXfm\\n9WDRf1a6He5yFginJhM218dmilXfhfD7PaNW+8ctGT9+a1siJjzQuyJB2GSjkbmb\\nIuQ5RNYOaclU7X8pB71E7OZ4HJmH5iqbv4ZoMllO5TgOAz/9SbMp6u/2fJhqTJNh\\nw0YvzZQdPCTqbrtSHQpAQys3ydqe40APD1KeUvvR1ECFVlpY+OApmN4Cp8MP/oHf\\ngF8CAwEAAaOB6jCB5zAdBgNVHQ4EFgQU7E4PQOkrJoHtE2BH0COQ9xT2gy8wgbcG\\nA1UdIwSBrzCBrIAU7E4PQOkrJoHtE2BH0COQ9xT2gy+hgYikgYUwgYIxCzAJBgNV\\nBAYTAlVTMQswCQYDVQQIEwJUWDEQMA4GA1UEBxMHaG91c3RvbjEQMA4GA1UEChMH\\nQ29tcGFueTENMAsGA1UECxMERGVwdDETMBEGA1UEAxMKbXlob3N0LmNvbTEeMBwG\\nCSqGSIb3DQEJARYPdGVzdEBteWhvc3QuY29tggkA/bGrTL2XKO4wDAYDVR0TBAUw\\nAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAna78CD5bM1ylL2D4EihDa7UQ9PS7JydX\\nrJjKdqWIO9YdLi8HtvfIdZ+QM3FCP0sgZkJn0+9efGJyrUOrUlPPdOrJnjUUGOgN\\nltjehjpdkjaoiKRXs0I/AsZPXR1GqVkY7woVRUFuvIFLb4Ln68Y5cX9CrpG1KQ/R\\nxMJy9MnpglIL49xlUAJ4qBrY+H9WctVoZph8odx+nFpJ9z6AvfPKKI/vUIkYCiWo\\nVLdLJGXYjPxqEcFkxW6OMxT8AuxalHbsiC/xJpieafeWWfoAVAmoPSlMQZ6pwVCV\\n+fqHPiNJdg2QIHcpd4FVFF48KatWNIZk4/KJsqJdC/Kd1g2yV88pcQ==\\n-----END CERTIFICATE-----\\n\",\"status\":1,\"message\":\"Key, Certificate, and CSR generated OK\",\"email_message\":\"CSR email sent to test@myhost.com\",\"sender\":\"admin\",\"csr\":\"-----BEGIN CERTIFICATE REQUEST-----\\nMIIC3zCCAccCAQAwgYIxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJUWDEQMA4GA1UE\\nBxMHaG91c3RvbjEQMA4GA1UEChMHQ29tcGFueTENMAsGA1UECxMERGVwdDETMBEG\\nA1UEAxMKbXlob3N0LmNvbTEeMBwGCSqGSIb3DQEJARYPdGVzdEBteWhvc3QuY29t\\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3CNjl5RJOon/Rh5Fc/PQ\\nqd+0pCISgLog8tq97UH2eh18OO1xQkUbvYiGfaxmj1XIunXCL7Kg39F8Y8A9yC4d\\nbWhWi/GW6Dr/aSfGHJQGLltSik4e5KWJ2EnBwiRGs6mQKmI/gcFXoszIBrxFd+b1\\nYNF/Vrod7nIWCKcmEzbXx2aKVd+F8Ps9o1b7xy0ZP35rWyImPNC7IkHYZKORuZsi\\n5DlE1g5pyVTtfykHvUTs5ngcmYfmKpu/hmgyWU7lOA4DP/1Jsynq7/Z8mGpMk2HD\\nRi/NlB08JOpuu1IdCkBDKzfJ2p7jQA8PUp5S+9HUQIVWWlj44CmY3gKnww/+gd+A\\nXwIDAQABoBcwFQYJKoZIhvcNAQkHMQgTBmFiYzEyMzANBgkqhkiG9w0BAQUFAAOC\\nAQEAEUo7VI2uiGLpQU3h1joFX9hQYANNJ9UBgig6CJuZIx60XW90oVoELUyRjp+f\\nN7mZsCai0YwcrC9nT6EF/pBA4obkNhqR00op/R2QzkO33vUjadW+biJj7PfIAF/d\\neahUBLL0UcsnQJ7jYR7ljBrVAI93ULmALLuOvXjM8GI3iBzqWX+w9ySkY9Axz0Bv\\nYjYC7FcS4vShLSnS5tVFVjUVmmUVpn+wm0UlH92XDHk7eaZS6DKylZ/35e8vAPYD\\nMHBj0Sl8/DpNxS4f5CS99b1KASEpqRRyiJEg5Hv84IQCI732tkdpIYbg1faN0acP\\nnSW3bUZXqxdQgecHse/BrzNx3w==\\n-----END CERTIFICATE REQUEST-----\\n\",\"csrfile\":\"/usr/share/ssl/certs/myhost.com.csr\",\"key\":\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEowIBAAKCAQEA3CNjl5RJOon/Rh5Fc/PQqd+0pCISgLog8tq97UH2eh18OO1x\\nQkUbvYiGfaxmj1XIunXCL7Kg39F8Y8A9yC4dbWhWi/GW6Dr/aSfGHJQGLltSik4e\\n5KWJ2EnBwiRGs6mQKmI/gcFXoszIBrxFd+b1YNF/Vrod7nIWCKcmEzbXx2aKVd+F\\n8Ps9o1b7xy0ZP35rWyImPNC7IkHYZKORuZsi5DlE1g5pyVTtfykHvUTs5ngcmYfm\\nKpu/hmgyWU7lOA4DP/1Jsynq7/Z8mGpMk2HDRi/NlB08JOpuu1IdCkBDKzfJ2p7j\\nQA8PUp5S+9HUQIVWWlj44CmY3gKnww/+gd+AXwIDAQABAoIBAFBw7heZrBikDJAG\\nx8JTOdCZWl0PxksbuKaFoBlunS6KT7ZNrbFVp4letiZ+NQvzgOIB3e+oCnk/B4E7\\n4lef4kj0c4u3wDkkNeirDA2tWYTfAg5f9ZH/m5tZeGAE+YD1WSTjuekkSW3H/t/X\\nNFtYHho+85UxdXaIYdzPl242ACtwc1z5pBY82Ua4oDH2HVApxDv/DtYFlMIqrLEN\\nzJfJdVqIrsCkfTcwhIBsPLN8ZRtDnCF5cMAfiXiJBx2fEWweOjRWLM/znDdXVKCS\\nW3AgDpGGdJ20Cm9rJgHivlNhXmhi+4W3zoCWFqOVR6RTfA67jQrReyfKb4XlILl9\\n6QGJ1EECgYEA8iMIyRBQBTD9Tv35dAdmx0FBB0f9kbyldFX0CQJOt0vdvHp0s03W\\nb7wMD4udzmaqLRhab+Xyfa9hD4ODa68sBWL5h8rsXhSnRc5eGxZYM4FIGuiywfi8\\nNhL9pIs3ChXAiNoh4h3FCw4PzgpI+huiwmWrpg4XWq2qHL6CvzmoMMkCgYEA6L3s\\nk5LLS5CPkDHv9xQvMniDZ62rPM/1mVafe1C9YNHjyvZwpN52oHkA3VgU6zETrrZw\\nW0U2xgIaQNLoF0hR6SPyxQxz+yTnLlLuWOLPVl6HQLbeT4wdkpyw/+Rr72QK5x1F\\nwc2ej2OD7FxxM75wHRoxV9pDmDGUNQA0c8DwI+cCgYAmGHr+X1Gnr3B7KBxCNBPo\\nj4yyn5H2hu6lIgzWCgXmcso9KCsKNtnhFH31SCsY2TA3DhjUeCIxwhEMRs27eID9\\ni/fkdHnBx5AVvIUzz80qtVFp4miVehPqkgxUAg8zx/5VybQBBlwFBD5aVWXr68Ms\\nwKBD7P2hp6cXBKY/fcvHeQKBgGRwIboFrUms1ueJRV9BDKUhMMP7RFx3+ir0INrc\\nmv0/Vqht9WqQvmy+C0t6CXz9rtrEzHP2yI5mteGnopT5lq+f3dJ/b0XARSvOiiE9\\nr/A71u5sfD+j3dc5W4DymEm0yKe4EDR0gaqrbXEA67FCy6sjdIvPG0CAlM7SidAy\\nQO+dAoGBAOGXV+D8rZci4CIbL4pr4qxoKsX/tH7NuyrfsqLGXN/gA2ClVVUCfHVK\\ndzD8OIEL7exJsbC68xQLORzQjxNndbLTpPKmHIzkl1UWUgxPemnZYbA7DQ1jCS75\\nG5KnYI4WDaGCxVeMKqvQnLtqt81315aoqV95V7ZaIkpOr+y83dC8\\n-----END RSA PRIVATE KEY-----\\n\",\"args\":{\"cod\":\"Dept\",\"xemail\":\"test@myhost.com\",\"keysize\":2048,\"country\":\"US\",\"city\":\"houston\",\"state\":\"TX\",\"email\":\"test@myhost.com\",\"host\":\"myhost.com\",\"pass\":\"abc123\",\"co\":\"Company\"},\"certfile\":\"/usr/share/ssl/certs/myhost.com.crt\",\"keyfile\":\"/usr/share/ssl/private/myhost.com.key\",\"sender_host\":\"myhost.com\"}}"
37
+ http_version:
38
+ recorded_at: Mon, 29 Apr 2013 17:24:19 GMT
@@ -0,0 +1,38 @@
1
+ ---
2
+ recorded_with: VCR 2.0.1
3
+ http_interactions:
4
+ - request:
5
+ method: get
6
+ uri: https://myhost.com:2087/json-api/installssl?cert=-----BEGIN%20CERTIFICATE-----%0AMIIEcTCCA1mgAwIBAgIJAN9pFkWkTwcYMA0GCSqGSIb3DQEBBQUAMIGBMQswCQYD%0AVQQGEwJVUzELMAkGA1UECBMCVFgxEDAOBgNVBAcTB0hvdXN0b24xDjAMBgNVBAoT%0ABVNpdGU1MQwwCgYDVQQLEwNFbmcxFDASBgNVBAMTC2Fub3RoZXIuY29tMR8wHQYJ%0AKoZIhvcNAQkBFhBtemFoaXJAZ21haWwuY29tMB4XDTEzMDQyNDE5MzI0OVoXDTE0%0AMDQyNDE5MzI0OVowgYExCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJUWDEQMA4GA1UE%0ABxMHSG91c3RvbjEOMAwGA1UEChMFU2l0ZTUxDDAKBgNVBAsTA0VuZzEUMBIGA1UE%0AAxMLYW5vdGhlci5jb20xHzAdBgkqhkiG9w0BCQEWEG16YWhpckBnbWFpbC5jb20w%0AggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCcKFzkBgo2QIu53MnPCkC9%0ArwAVZ27e2VG1bwCBS2DpyZrBfr/HFmTXNxOUcq%2Bep2IjbuSKHOXynvjC3fpzGqpK%0AWcy2nK1L11D6b1xP0jeAj54plT//2LDov6H4mhvuV4W1S2AFQhLoXJ%2B0ubUANJQd%0A4kXkS2n/0rd44mZwqdjyA45Ih5YXY7QrGIJ78ib06VYMztU/novyGQlw6fZgOkX0%0AiiXVwkF4pmMe5DKta34fHrOc0Mctnaygql5RkkF4ihs/mml1HbX1hfYuINRtzdcE%0AU6boRp46HhmU9J/KcV1SB%2B87ax18lClXpTejyWdxEwfXe/19qMcqWCnu1zAyA0cT%0AAgMBAAGjgekwgeYwHQYDVR0OBBYEFGOEkPHvcdbDuL7/OVm8w2ra61S8MIG2BgNV%0AHSMEga4wgauAFGOEkPHvcdbDuL7/OVm8w2ra61S8oYGHpIGEMIGBMQswCQYDVQQG%0AEwJVUzELMAkGA1UECBMCVFgxEDAOBgNVBAcTB0hvdXN0b24xDjAMBgNVBAoTBVNp%0AdGU1MQwwCgYDVQQLEwNFbmcxFDASBgNVBAMTC2Fub3RoZXIuY29tMR8wHQYJKoZI%0AhvcNAQkBFhBtemFoaXJAZ21haWwuY29tggkA32kWRaRPBxgwDAYDVR0TBAUwAwEB%0A/zANBgkqhkiG9w0BAQUFAAOCAQEALYKpYqGylClXQvvwYuOU%2BWNoaZtISxycZrRV%0AmYZzGNMFKUronKx7zFUqeoi8S/JVNxK5jkZV%2BJRcpmDe3vEY7zaDsIvo3WAqwvih%0AQmRs67NE39y5h81aRk1LxYIW/EJxZZ91zT8tgFNcgQH/4PlDTG19wVlbixDnybTY%0AeZpOZBxQf%2B8igYJ1xmFgnP6clYWNS6S74slE9y0aQuffwcCQ/2Gg26e0ZVcBOf53%0AZighGGsQVczE6oqpIgBej%2BhijiJ0jLFswyV5eLXShwQvl4ru4VB5%2Bs6uHO03Ufdb%0ASbX7n34TazxMdj%2B8Ja0T8vT7dPyRXRqQTV9XKcJKKcWJ/vJW2g==%0A-----END%20CERTIFICATE-----%0A&domain=check.com&ip=192.1.2.3&key=-----BEGIN%20RSA%20PRIVATE%20KEY-----%0AMIIEpAIBAAKCAQEAnChc5AYKNkCLudzJzwpAva8AFWdu3tlRtW8AgUtg6cmawX6/%0AxxZk1zcTlHKvnqdiI27kihzl8p74wt36cxqqSlnMtpytS9dQ%2Bm9cT9I3gI%2BeKZU/%0A/9iw6L%2Bh%2BJob7leFtUtgBUIS6FyftLm1ADSUHeJF5Etp/9K3eOJmcKnY8gOOSIeW%0AF2O0KxiCe/Im9OlWDM7VP56L8hkJcOn2YDpF9Iol1cJBeKZjHuQyrWt%2BHx6znNDH%0ALZ2soKpeUZJBeIobP5ppdR219YX2LiDUbc3XBFOm6EaeOh4ZlPSfynFdUgfvO2sd%0AfJQpV6U3o8lncRMH13v9fajHKlgp7tcwMgNHEwIDAQABAoIBAC4fadhbxFZj2CFM%0Aijrhv1%2BHOdIYm9GshIq/P3nw5q4GwvPV2RUXky9R8DGPcjm9HKp0jYIRqQVxWO5N%0AnDS1MokFXwas3i6haSSfEbft0kDhqoiDscSCnzYPq%2Bp%2BsjNCnJaArdq/uk/xU6aQ%0Al1p5LSpqc9RLRgKunUxSKomqUQ6h8hKwSws3WrztsVJFmIx2lZ4MGjZ2PW26YaHT%0ACwNcOM%2BFrgQL4oGBDXqYL3DkLZxF7QbyODvsvIb9AmF2qm/jRSdq1aXs%2B25n4Wjz%0AOY5IIP2i1/Ncs5PWUwtXEhvSZxhX53G8YRCoh%2BcHB1W55yZYGXgGIcjsaiUrPP/l%0ASJrQ9NECgYEAzcXzdPfbt%2BQmcLBTy6Fpqk5qdbdRe1AV%2BGhdd8onZUtI3TBUIhFr%0A3SU5B/jMpJLxg7TEp2hj3QadtAaZzYoBnRpVNWGp9dABaP7ukXqEKE7wKDtulPWK%0AQ99oWyXMA%2BokzeUFSSaSZ1iSuktp0dZtZbpRXUDUSZKmwoxLzU187VsCgYEAwkYb%0AtFATWmWmFmXxxTgv2xTgFAJWTC%2ByKc0sCDcnSCNvoYXqdWbI5%2Bz6FMAvMjQJaLXX%0AXc7QgYl/Zu5C5hWT6zRjCeCoudiiuHj/as3q6DpewKBgjCMh3Jc4lh/9j/aMH9/P%0AUPF2Chsfrv7to0aSOJ1t/2D/kGrhhzCTcnG1oqkCgYAsES9xJj98ozSEP47Cdh/d%0A5AsyiH6/rMf3ucoChF1pePTywY3S%2Be4inv0WsvaIbBuivAy9WULBq9AMJLm9Zcew%0AsFn9I5w1U0VqCeZna1hwFW%2Bi/g9RgUAKBwcfNfn6AKO/IEPAha0myrYphUr1MDmf%0AZoZUNTUBSJHD6i21mtmdLwKBgQC6dnvkxu6sVt/go5w4BMO57QFdcxjNKwI/qNNY%0AV0d2r7xXNadhY3P1Vrh47jTeZJ%2BbRt0dBoGNsyD69Dh1icRdffyI4H5RUiJsGIZe%0ARqHunweOrt%2B74YSAqwv%2B21mNsb%2BwYColsHvxGzN/zOLdUcDKYh/Pe5QPUuZ/0RnU%0AQFtrcQKBgQCAJ5JGZundof8nWohu1K5Xo8KuttsDdKFrtkGLYh1%2BjE2v2igLLya4%0AN3ltuWdYdCZH2cZ%2B3bbzHSGHlOGZtbhMTBSyVwLiX%2B0R9codN626v82wI8UmQ8Uz%0AC90UlTURf%2BRlV0rMuZtntC%2BWvhdJcbw1xhToUIWxe6DrCqu8NU/wzw==%0A-----END%20RSA%20PRIVATE%20KEY-----%0A&user=nobody
7
+ body:
8
+ string: ""
9
+ headers:
10
+ Authorization:
11
+ - WHM root:iscool
12
+ User-Agent:
13
+ - Faraday v0.8.7
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Transfer-Encoding:
22
+ - chunked
23
+ Content-Type:
24
+ - text/plain
25
+ Date:
26
+ - Mon, 29 Apr 2013 17:25:59 GMT
27
+ Server:
28
+ - cpsrvd/11.32.6.4
29
+ Keep-Alive:
30
+ - timeout=70, max=200
31
+ X-Keep-Alive-Count:
32
+ - "1"
33
+ Connection:
34
+ - Keep-Alive
35
+ body:
36
+ string: "{\"status\":1,\"statusmsg\":\"Certificate successfully installed.\\nFinished SSL Install Process for check.com (www.check.com).\\nApache successfully restarted.\\n\",\"rawout\":\"Certificate verification passed<br />\\n\\n<br />\\nThe Certificate for the domain check.com was installed on the IP 192.1.2.3.\\n<br><b>Finished SSL Install Process for check.com (www.check.com).</b><br>\\n<pre>Apache successfully restarted.\\n</pre>\"}"
37
+ http_version:
38
+ recorded_at: Mon, 29 Apr 2013 17:26:07 GMT
@@ -0,0 +1,38 @@
1
+ ---
2
+ recorded_with: VCR 2.0.1
3
+ http_interactions:
4
+ - request:
5
+ method: get
6
+ uri: https://myhost.com:2087/json-api/listcrts
7
+ body:
8
+ string: ""
9
+ headers:
10
+ Authorization:
11
+ - WHM root:iscool
12
+ User-Agent:
13
+ - Faraday v0.8.7
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Transfer-Encoding:
22
+ - chunked
23
+ Content-Type:
24
+ - text/plain
25
+ Date:
26
+ - Mon, 29 Apr 2013 17:24:15 GMT
27
+ Server:
28
+ - cpsrvd/11.32.6.4
29
+ Keep-Alive:
30
+ - timeout=70, max=200
31
+ X-Keep-Alive-Count:
32
+ - "1"
33
+ Connection:
34
+ - Keep-Alive
35
+ body:
36
+ string: "{\"crt\":[{\"domain\":\"reseller-template.webserversystems.com\"},{\"domain\":\"reseller.templateupdate.com\"},{\"domain\":\"another.com\"},{\"domain\":\"vpsportal.accountservergroup.com\"},{\"domain\":\"cheque.com\"},{\"domain\":\"vps-template-dev.accountservergroup.com\"},{\"domain\":\"myhost.com\"},{\"domain\":\"myhost.com\"}]}"
37
+ http_version:
38
+ recorded_at: Mon, 29 Apr 2013 17:24:15 GMT
@@ -0,0 +1,44 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://myhost.com:2087/json-api/get_tweaksetting?api.version=1&key=skipwebalizer
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Authorization:
11
+ - WHM root:iscool
12
+ User-Agent:
13
+ - Faraday v0.8.8
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ Accept:
17
+ - '*/*'
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Server:
24
+ - cpsrvd/11.36.2.3
25
+ X-Keep-Alive-Count:
26
+ - '1'
27
+ Connection:
28
+ - Keep-Alive
29
+ Keep-Alive:
30
+ - timeout=70, max=200
31
+ Transfer-Encoding:
32
+ - chunked
33
+ Date:
34
+ - Tue, 10 Sep 2013 12:33:30 GMT
35
+ Cache-Control:
36
+ - no-cache
37
+ Content-Type:
38
+ - text/plain
39
+ body:
40
+ encoding: UTF-8
41
+ string: '{"data":{"tweaksetting":{"key":"skipwebalizer","value":"0"}},"metadata":{"result":1,"version":1,"command":"get_tweaksetting","reason":"OK"}}'
42
+ http_version:
43
+ recorded_at: Tue, 10 Sep 2013 12:33:30 GMT
44
+ recorded_with: VCR 2.4.0
@@ -0,0 +1,44 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://myhost.com:2087/json-api/set_tweaksetting?api.version=1&key=skipwebalizer&value=0
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Authorization:
11
+ - WHM root:iscool
12
+ User-Agent:
13
+ - Faraday v0.8.8
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ Accept:
17
+ - '*/*'
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Server:
24
+ - cpsrvd/11.36.2.3
25
+ X-Keep-Alive-Count:
26
+ - '1'
27
+ Connection:
28
+ - Keep-Alive
29
+ Keep-Alive:
30
+ - timeout=70, max=200
31
+ Transfer-Encoding:
32
+ - chunked
33
+ Date:
34
+ - Tue, 10 Sep 2013 12:33:30 GMT
35
+ Cache-Control:
36
+ - no-cache
37
+ Content-Type:
38
+ - text/plain
39
+ body:
40
+ encoding: UTF-8
41
+ string: '{"metadata":{"reason":"OK","version":1,"command":"set_tweaksetting","result":1}}'
42
+ http_version:
43
+ recorded_at: Tue, 10 Sep 2013 12:33:30 GMT
44
+ recorded_with: VCR 2.4.0
@@ -0,0 +1,38 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://myhost.com:2087/json-api/getlanglist
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Authorization:
11
+ - WHM root:iscool
12
+ User-Agent:
13
+ - Faraday v0.8.8
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ Accept:
17
+ - '*/*'
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Server:
24
+ - cpsrvd/11.36.0.4
25
+ Connection:
26
+ - close
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Date:
30
+ - Fri, 30 Aug 2013 19:42:25 GMT
31
+ Content-Type:
32
+ - application/json
33
+ body:
34
+ encoding: UTF-8
35
+ string: '{"themes":{"x3":{"portuguese-utf8":1,"chinese":1,"bengali":1,"arabic":1,"hindi":1,"iberian_spanish":1,"russian":1,"french":1,"german-utf8":1,"french-utf8":1,"german":1,"spanish-utf8":1,"dutch-utf8":1,"portuguese":1,"brazilian-portuguese-utf8":1,"english":1,"spanish":1,"japanese":1,"english-utf8":1},"/":{"bengali":1,"portuguese-utf8":1,"chinese":1,"arabic":1,"hindi":1,"iberian_spanish":1,"russian":1,"french":1,"german-utf8":1,"french-utf8":1,"german":1,"spanish-utf8":1,"dutch-utf8":1,"portuguese":1,"brazilian-portuguese-utf8":1,"english":1,"spanish":1,"japanese":1,"english-utf8":1},"x3mail":{"portuguese-utf8":1,"chinese":1,"bengali":1,"portuguese":1,"arabic":1,"hindi":1,"english":1,"spanish":1,"japanese":1,"russian":1,"english-utf8":1,"french":1,"german-utf8":1,"french-utf8":1,"spanish-utf8":1,"german":1}},"lang":["arabic","bengali","brazilian-portuguese-utf8","chinese","dutch-utf8","english","english-utf8","french","french-utf8","german","german-utf8","hindi","iberian_spanish","japanese","portuguese","portuguese-utf8","russian","spanish","spanish-utf8"]}'
36
+ http_version:
37
+ recorded_at: Fri, 30 Aug 2013 19:40:29 GMT
38
+ recorded_with: VCR 2.4.0
@@ -0,0 +1,62 @@
1
+ require 'spec_helper'
2
+ require 'lumberg/whm'
3
+ CERT = File.read('./spec/sample_certs/main.crt')
4
+ SELF_CERT = File.read('./spec/sample_certs/sample.crt')
5
+ SELF_KEY = File.read('./spec/sample_certs/sample.key')
6
+
7
+ module Lumberg
8
+ describe Whm::Cert do
9
+ before(:each) do
10
+ @login = { :host => @whm_host, :hash => @whm_hash }
11
+ @server = Whm::Server.new(@login.dup)
12
+ @cert = Whm::Cert.new(:server => @server.dup)
13
+ end
14
+
15
+ describe "#listcrts" do
16
+ use_vcr_cassette "whm/cert/listcrts"
17
+
18
+ it "lists installed certificates" do
19
+ result = @cert.listcrts
20
+ result[:success].should be_true
21
+ result[:message].should be_true
22
+ end
23
+ end
24
+
25
+ describe "#fetchsslinfo" do
26
+ use_vcr_cassette "whm/cert/fetchsslinfo"
27
+
28
+ it "displays the SSL certificate, private key, and CA bundle/intermediate certificate associated with a specified domain" do
29
+ result = @cert.fetchsslinfo(:domain => "myhost.com", :crtdata => CERT)
30
+ result[:success].should be_true
31
+ result[:message].should match("ok")
32
+ result[:params][:crt].should match(/.*BEGIN CERTIFICATE.*/)
33
+ result[:params][:key].should match(/.*KEY.*/)
34
+ end
35
+ end
36
+
37
+ describe "#generatessl" do
38
+ use_vcr_cassette "whm/cert/generatessl"
39
+
40
+ it "generates a CSR" do
41
+ result = @cert.generatessl(:city => "houston", :xemail => "test@myhost.com", :host => "myhost.com",
42
+ :country => "US", :state => "TX", :co => "Company", :cod => "Dept",
43
+ :email => "test@myhost.com", :pass => "abc123")
44
+ result[:success].should be_true
45
+ result[:message].should == "Key, Certificate, and CSR generated OK"
46
+ result[:params][:csr].should match(/.*BEGIN CERTIFICATE REQUEST.*/)
47
+ result[:params][:cert].should match(/.*BEGIN CERTIFICATE.*/)
48
+ result[:params][:key].should match(/.*BEGIN RSA PRIVATE KEY.*/)
49
+ end
50
+ end
51
+
52
+ describe "#installssl" do
53
+ use_vcr_cassette "whm/cert/installssl"
54
+
55
+ it "installs a certificate" do
56
+ result = @cert.installssl(:domain => 'check.com', :user => "nobody", :cert => SELF_CERT, :key => SELF_KEY, :ip => '192.1.2.3')
57
+ result[:success].should be_true
58
+ result[:message].should match(/Certificate successfully installed/)
59
+ end
60
+ end
61
+ end
62
+ end
@@ -16,7 +16,7 @@ module Lumberg
16
16
  @whm.host.should == @login[:host]
17
17
  end
18
18
 
19
- it "should set the url" do
19
+ it "sets the url" do
20
20
  @whm.base_url.should == "https://#{@login[:host]}:2087/json-api/"
21
21
  end
22
22
 
@@ -37,6 +37,23 @@ module Lumberg
37
37
  @whm = Whm::Server.new(@login.merge(:basic_auth => true))
38
38
  @whm.basic_auth.should be_true
39
39
  end
40
+
41
+ it "raises message for invalid domain" do
42
+ Resolv.stub(:getaddress).and_raise(Resolv::ResolvError)
43
+ expect do
44
+ Whm::Server.new(:host => "nxdomain.tld", :hash => "")
45
+ end.to raise_error(
46
+ Lumberg::WhmArgumentError, "Unable to resolve nxdomain.tld"
47
+ )
48
+ end
49
+ end
50
+
51
+ describe "setting timeout" do
52
+ it "allows setting of timeout" do
53
+ Whm::Server.new(
54
+ @login.merge(:timeout => 1000)
55
+ ).timeout.should == 1000
56
+ end
40
57
  end
41
58
 
42
59
  describe "#format_url" do
@@ -57,8 +74,8 @@ module Lumberg
57
74
 
58
75
  describe "#format_hash" do
59
76
  it "raises an error if hash is not a string" do
60
- expect{ Whm::Server.new(:host => @whm_host, :hash => nil) }.to
61
- raise_error(Lumberg::WhmArgumentError, "Missing WHM hash")
77
+ expect{ Whm::Server.new(:host => @whm_host, :hash => nil) }.
78
+ to raise_error(Lumberg::WhmArgumentError, "Missing WHM hash")
62
79
  end
63
80
 
64
81
  it "removes \\n's from the hash" do
@@ -121,6 +138,38 @@ module Lumberg
121
138
  end
122
139
  end
123
140
 
141
+ describe "@timeout" do
142
+ it "is nil by default" do
143
+ @whm.timeout.should be_nil
144
+ end
145
+
146
+ describe "setting HTTP timeout" do
147
+ let(:net_http) { double(Net::HTTP).as_null_object }
148
+
149
+ use_vcr_cassette "whm/server/applist"
150
+
151
+ before(:each) do
152
+ Net::HTTP.stub(:new) { net_http }
153
+ end
154
+
155
+ it "sets HTTP timeout when assigned" do
156
+ @whm.timeout = 1000
157
+
158
+ net_http.should_receive(:read_timeout=).with(1000)
159
+ net_http.should_receive(:open_timeout=).with(1000)
160
+
161
+ @whm.perform_request("applist")
162
+ end
163
+
164
+ it "uses default HTTP timeout when not assigned" do
165
+ net_http.should_not_receive(:read_timeout=)
166
+ net_http.should_not_receive(:open_timeout=)
167
+
168
+ @whm.perform_request("applist")
169
+ end
170
+ end
171
+ end
172
+
124
173
  context "calling applist" do
125
174
  use_vcr_cassette "whm/server/applist"
126
175
 
@@ -183,6 +232,15 @@ module Lumberg
183
232
  end
184
233
  end
185
234
 
235
+ describe "#themes" do
236
+ use_vcr_cassette "whm/server/themes"
237
+
238
+ it "returns list of themes" do
239
+ result = @whm.themes
240
+ result[:params].should include :x3
241
+ end
242
+ end
243
+
186
244
  describe "#account" do
187
245
  it "has an account accessor" do
188
246
  @whm.account.should be_an(Whm::Account)
@@ -251,6 +309,24 @@ module Lumberg
251
309
  end
252
310
  end
253
311
 
312
+ describe "#get_tweaksetting" do
313
+ use_vcr_cassette "whm/server/gettweaksetting"
314
+
315
+ it "gets a tweak setting" do
316
+ result = @whm.get_tweaksetting(:key => 'skipwebalizer')
317
+ result[:success].should be_true
318
+ end
319
+ end
320
+
321
+ describe "#set_tweaksetting" do
322
+ use_vcr_cassette "whm/server/settweaksetting"
323
+
324
+ it "sets a tweak setting" do
325
+ result = @whm.set_tweaksetting(:key => 'skipwebalizer', :value => 0)
326
+ result[:success].should be_true
327
+ end
328
+ end
329
+
254
330
  describe "#set_resolvers" do
255
331
  use_vcr_cassette "whm/server/setresolvers"
256
332