lumberg 1.0.1 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. data/.travis.yml +9 -3
  2. data/LICENSE +1 -1
  3. data/README.md +1 -1
  4. data/Rakefile +3 -1
  5. data/lib/lumberg.rb +32 -7
  6. data/lib/lumberg/config.rb +19 -0
  7. data/lib/lumberg/format_whm.rb +102 -0
  8. data/lib/lumberg/version.rb +1 -1
  9. data/lib/lumberg/whm/server.rb +42 -163
  10. data/lumberg.gemspec +7 -4
  11. data/spec/config_spec.rb +28 -0
  12. data/spec/spec_helper.rb +3 -3
  13. data/spec/vcr_cassettes/whm/account/accountsummary.yml +41 -29
  14. data/spec/vcr_cassettes/whm/account/changepackage.yml +73 -43
  15. data/spec/vcr_cassettes/whm/account/createacct.yml +101 -31
  16. data/spec/vcr_cassettes/whm/account/domainuserdata.yml +43 -29
  17. data/spec/vcr_cassettes/whm/account/editquota.yml +78 -57
  18. data/spec/vcr_cassettes/whm/account/limitbw.yml +79 -57
  19. data/spec/vcr_cassettes/whm/account/listaccts.yml +195 -100
  20. data/spec/vcr_cassettes/whm/account/listsuspended.yml +41 -29
  21. data/spec/vcr_cassettes/whm/account/modifyacct.yml +61 -42
  22. data/spec/vcr_cassettes/whm/account/myprivs.yml +41 -29
  23. data/spec/vcr_cassettes/whm/account/passwd.yml +44 -29
  24. data/spec/vcr_cassettes/whm/account/removeacct.yml +134 -57
  25. data/spec/vcr_cassettes/whm/account/restoreaccount.yml +310 -135
  26. data/spec/vcr_cassettes/whm/account/setsiteip.yml +166 -127
  27. data/spec/vcr_cassettes/whm/account/suspend.yml +75 -43
  28. data/spec/vcr_cassettes/whm/account/unsuspend.yml +46 -29
  29. data/spec/vcr_cassettes/whm/dns/adddns.yml +61 -43
  30. data/spec/vcr_cassettes/whm/dns/addzonerecord.yml +42 -29
  31. data/spec/vcr_cassettes/whm/dns/dumpzone.yml +44 -29
  32. data/spec/vcr_cassettes/whm/dns/editzonerecord.yml +61 -43
  33. data/spec/vcr_cassettes/whm/dns/getzonerecord.yml +60 -43
  34. data/spec/vcr_cassettes/whm/dns/killdns.yml +42 -29
  35. data/spec/vcr_cassettes/whm/dns/listmxs.yml +23 -15
  36. data/spec/vcr_cassettes/whm/dns/listzones.yml +22 -15
  37. data/spec/vcr_cassettes/whm/dns/lookupnsip.yml +40 -29
  38. data/spec/vcr_cassettes/whm/dns/removezonerecord.yml +61 -43
  39. data/spec/vcr_cassettes/whm/dns/resetzone.yml +42 -29
  40. data/spec/vcr_cassettes/whm/dns/resolvedomainname.yml +40 -29
  41. data/spec/vcr_cassettes/whm/dns/savemxs.yml +23 -15
  42. data/spec/vcr_cassettes/whm/reseller/acctcounts.yml +41 -29
  43. data/spec/vcr_cassettes/whm/reseller/listacls.yml +22 -15
  44. data/spec/vcr_cassettes/whm/reseller/listresellers.yml +22 -15
  45. data/spec/vcr_cassettes/whm/reseller/resellerstats.yml +42 -29
  46. data/spec/vcr_cassettes/whm/reseller/saveacllist.yml +76 -57
  47. data/spec/vcr_cassettes/whm/reseller/setacls.yml +40 -29
  48. data/spec/vcr_cassettes/whm/reseller/setresellerips.yml +42 -28
  49. data/spec/vcr_cassettes/whm/reseller/setresellerlimits.yml +41 -29
  50. data/spec/vcr_cassettes/whm/reseller/setresellermainip.yml +59 -43
  51. data/spec/vcr_cassettes/whm/reseller/setresellernameservers.yml +58 -43
  52. data/spec/vcr_cassettes/whm/reseller/setresellerpackagelimit.yml +61 -43
  53. data/spec/vcr_cassettes/whm/reseller/setupreseller.yml +41 -29
  54. data/spec/vcr_cassettes/whm/reseller/suspendreseller.yml +75 -44
  55. data/spec/vcr_cassettes/whm/reseller/terminatereseller.yml +83 -46
  56. data/spec/vcr_cassettes/whm/reseller/unsetupreseller.yml +41 -29
  57. data/spec/vcr_cassettes/whm/reseller/unsuspendreseller.yml +46 -29
  58. data/spec/vcr_cassettes/whm/server/addip.yml +24 -15
  59. data/spec/vcr_cassettes/whm/server/applist.yml +22 -15
  60. data/spec/vcr_cassettes/whm/server/delip.yml +23 -15
  61. data/spec/vcr_cassettes/whm/server/gethostname.yml +22 -15
  62. data/spec/vcr_cassettes/whm/server/getlanglist.yml +22 -15
  63. data/spec/vcr_cassettes/whm/server/listips.yml +22 -15
  64. data/spec/vcr_cassettes/whm/server/loadavg.yml +26 -19
  65. data/spec/vcr_cassettes/whm/server/my_function.yml +59 -43
  66. data/spec/vcr_cassettes/whm/server/nvget.yml +22 -15
  67. data/spec/vcr_cassettes/whm/server/nvset.yml +22 -15
  68. data/spec/vcr_cassettes/whm/server/reboot.yml +22 -15
  69. data/spec/vcr_cassettes/whm/server/sethostname.yml +24 -15
  70. data/spec/vcr_cassettes/whm/server/setresolvers.yml +23 -15
  71. data/spec/vcr_cassettes/whm/server/showbw.yml +22 -15
  72. data/spec/vcr_cassettes/whm/server/systemloadavg.yml +40 -29
  73. data/spec/vcr_cassettes/whm/server/version.yml +22 -15
  74. data/spec/whm/account_spec.rb +0 -1
  75. data/spec/whm/server_spec.rb +2 -106
  76. metadata +98 -26
  77. data/lib/net_http_hacked.rb +0 -42
  78. data/spec/vcr_cassettes/whm/server/response_type.yml +0 -85
@@ -1,64 +1,81 @@
1
- ---
2
- - !ruby/struct:VCR::HTTPInteraction
3
- request: !ruby/struct:VCR::Request
4
- method: :get
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
5
  uri: https://myhost.com:2087/json-api/getzonerecord?Line=1&domain=example.com
6
- body:
7
- headers:
8
- authorization:
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Authorization:
9
11
  - WHM root:iscool
10
- response: !ruby/struct:VCR::Response
11
- status: !ruby/struct:VCR::ResponseStatus
12
+ response:
13
+ status:
12
14
  code: 200
13
15
  message: OK
14
- headers:
15
- server:
16
+ headers:
17
+ Server:
16
18
  - cpsrvd/11.28.64
17
- transfer-encoding:
19
+ Transfer-Encoding:
18
20
  - chunked
19
- content-type:
21
+ Content-Type:
20
22
  - text/plain
21
- body: "{\"result\":[{\"status\":1,\"record\":{\"Line\":1,\"raw\":\"; cPanel 11.25.0-STABLE_44718\",\"ttl\":\"86400\",\"type\":\":RAW\",\"name\":\"\"},\"statusmsg\":\"Record obtained.\"}]}"
22
- http_version: "1.1"
23
- - !ruby/struct:VCR::HTTPInteraction
24
- request: !ruby/struct:VCR::Request
25
- method: :get
23
+ body:
24
+ encoding: UTF-8
25
+ string: ! '{"result":[{"status":1,"record":{"Line":1,"raw":"; cPanel 11.25.0-STABLE_44718","ttl":"86400","type":":RAW","name":""},"statusmsg":"Record
26
+ obtained."}]}'
27
+ http_version: '1.1'
28
+ recorded_at: Wed, 07 Mar 2012 21:53:52 GMT
29
+ - request:
30
+ method: get
26
31
  uri: https://myhost.com:2087/json-api/getzonerecord?Line=1&domain=notexists.com
27
- body:
28
- headers:
29
- authorization:
32
+ body:
33
+ encoding: US-ASCII
34
+ string: ''
35
+ headers:
36
+ Authorization:
30
37
  - WHM root:iscool
31
- response: !ruby/struct:VCR::Response
32
- status: !ruby/struct:VCR::ResponseStatus
38
+ response:
39
+ status:
33
40
  code: 200
34
41
  message: OK
35
- headers:
36
- server:
42
+ headers:
43
+ Server:
37
44
  - cpsrvd/11.28.64
38
- transfer-encoding:
45
+ Transfer-Encoding:
39
46
  - chunked
40
- content-type:
47
+ Content-Type:
41
48
  - text/plain
42
- body: "{\"result\":[{\"status\":0,\"statusmsg\":\"Zone does not exist.\"}]}"
43
- http_version: "1.1"
44
- - !ruby/struct:VCR::HTTPInteraction
45
- request: !ruby/struct:VCR::Request
46
- method: :get
49
+ body:
50
+ encoding: UTF-8
51
+ string: ! '{"result":[{"status":0,"statusmsg":"Zone does not exist."}]}'
52
+ http_version: '1.1'
53
+ recorded_at: Wed, 07 Mar 2012 21:53:52 GMT
54
+ - request:
55
+ method: get
47
56
  uri: https://myhost.com:2087/json-api/getzonerecord?Line=20&domain=example.com
48
- body:
49
- headers:
50
- authorization:
57
+ body:
58
+ encoding: US-ASCII
59
+ string: ''
60
+ headers:
61
+ Authorization:
51
62
  - WHM root:iscool
52
- response: !ruby/struct:VCR::Response
53
- status: !ruby/struct:VCR::ResponseStatus
63
+ response:
64
+ status:
54
65
  code: 200
55
66
  message: OK
56
- headers:
57
- server:
67
+ headers:
68
+ Server:
58
69
  - cpsrvd/11.28.64
59
- transfer-encoding:
70
+ Transfer-Encoding:
60
71
  - chunked
61
- content-type:
72
+ Content-Type:
62
73
  - text/plain
63
- body: "{\"result\":[{\"status\":0,\"statusmsg\":\"No record available on selected line.\"}]}"
64
- http_version: "1.1"
74
+ body:
75
+ encoding: UTF-8
76
+ string: ! '{"result":[{"status":0,"statusmsg":"No record available on selected
77
+ line."}]}'
78
+ http_version: '1.1'
79
+ recorded_at: Wed, 07 Mar 2012 21:53:52 GMT
80
+ recorded_with: VCR 2.0.0
81
+ ...
@@ -1,43 +1,56 @@
1
- ---
2
- - !ruby/struct:VCR::HTTPInteraction
3
- request: !ruby/struct:VCR::Request
4
- method: :get
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
5
  uri: https://myhost.com:2087/json-api/killdns?domain=example.com
6
- body:
7
- headers:
8
- authorization:
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Authorization:
9
11
  - WHM root:iscool
10
- response: !ruby/struct:VCR::Response
11
- status: !ruby/struct:VCR::ResponseStatus
12
+ response:
13
+ status:
12
14
  code: 200
13
15
  message: OK
14
- headers:
15
- server:
16
+ headers:
17
+ Server:
16
18
  - cpsrvd/11.28.64
17
- transfer-encoding:
19
+ Transfer-Encoding:
18
20
  - chunked
19
- content-type:
21
+ Content-Type:
20
22
  - text/plain
21
- body: "{\"result\":[{\"status\":1,\"statusmsg\":\"Zones Removed\",\"rawout\":\"example2.com => deleted from myhost. \"}]}"
22
- http_version: "1.1"
23
- - !ruby/struct:VCR::HTTPInteraction
24
- request: !ruby/struct:VCR::Request
25
- method: :get
23
+ body:
24
+ encoding: UTF-8
25
+ string: ! '{"result":[{"status":1,"statusmsg":"Zones Removed","rawout":"example2.com
26
+ => deleted from myhost. "}]}'
27
+ http_version: '1.1'
28
+ recorded_at: Wed, 07 Mar 2012 21:53:52 GMT
29
+ - request:
30
+ method: get
26
31
  uri: https://myhost.com:2087/json-api/killdns?domain=notexists.com
27
- body:
28
- headers:
29
- authorization:
32
+ body:
33
+ encoding: US-ASCII
34
+ string: ''
35
+ headers:
36
+ Authorization:
30
37
  - WHM root:iscool
31
- response: !ruby/struct:VCR::Response
32
- status: !ruby/struct:VCR::ResponseStatus
38
+ response:
39
+ status:
33
40
  code: 200
34
41
  message: OK
35
- headers:
36
- server:
42
+ headers:
43
+ Server:
37
44
  - cpsrvd/11.28.64
38
- transfer-encoding:
45
+ Transfer-Encoding:
39
46
  - chunked
40
- content-type:
47
+ Content-Type:
41
48
  - text/plain
42
- body: "{\"result\":[{\"status\":0,\"statusmsg\":\"Unable to remove zone that does not exist.\"}]}"
43
- http_version: "1.1"
49
+ body:
50
+ encoding: UTF-8
51
+ string: ! '{"result":[{"status":0,"statusmsg":"Unable to remove zone that does
52
+ not exist."}]}'
53
+ http_version: '1.1'
54
+ recorded_at: Wed, 07 Mar 2012 21:53:52 GMT
55
+ recorded_with: VCR 2.0.0
56
+ ...
@@ -1,22 +1,30 @@
1
- ---
2
- - !ruby/struct:VCR::HTTPInteraction
3
- request: !ruby/struct:VCR::Request
4
- method: :get
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
5
  uri: https://myhost.com:2087/json-api/listmxs?api.version=1&domain=example.com
6
- body:
7
- headers:
8
- authorization:
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Authorization:
9
11
  - WHM root:iscool
10
- response: !ruby/struct:VCR::Response
11
- status: !ruby/struct:VCR::ResponseStatus
12
+ response:
13
+ status:
12
14
  code: 200
13
15
  message: OK
14
- headers:
15
- server:
16
+ headers:
17
+ Server:
16
18
  - cpsrvd/11.28.64
17
- transfer-encoding:
19
+ Transfer-Encoding:
18
20
  - chunked
19
- content-type:
21
+ Content-Type:
20
22
  - text/plain
21
- body: "{\"data\":{\"record\":[{\"Line\":\"20\",\"ttl\":\"14400\",\"class\":\"IN\",\"exchange\":\"example.com\",\"preference\":\"0\",\"type\":\"MX\",\"name\":\"example.com.\"}]},\"metadata\":{\"result\":1,\"reason\":\"Records obtained.\",\"version\":1,\"command\":\"listmxs\"}}"
22
- http_version: "1.1"
23
+ body:
24
+ encoding: UTF-8
25
+ string: ! '{"data":{"record":[{"Line":"20","ttl":"14400","class":"IN","exchange":"example.com","preference":"0","type":"MX","name":"example.com."}]},"metadata":{"result":1,"reason":"Records
26
+ obtained.","version":1,"command":"listmxs"}}'
27
+ http_version: '1.1'
28
+ recorded_at: Wed, 07 Mar 2012 21:53:52 GMT
29
+ recorded_with: VCR 2.0.0
30
+ ...
@@ -1,22 +1,29 @@
1
- ---
2
- - !ruby/struct:VCR::HTTPInteraction
3
- request: !ruby/struct:VCR::Request
4
- method: :get
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
5
  uri: https://myhost.com:2087/json-api/listzones
6
- body:
7
- headers:
8
- authorization:
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Authorization:
9
11
  - WHM root:iscool
10
- response: !ruby/struct:VCR::Response
11
- status: !ruby/struct:VCR::ResponseStatus
12
+ response:
13
+ status:
12
14
  code: 200
13
15
  message: OK
14
- headers:
15
- server:
16
+ headers:
17
+ Server:
16
18
  - cpsrvd/11.28.64
17
- transfer-encoding:
19
+ Transfer-Encoding:
18
20
  - chunked
19
- content-type:
21
+ Content-Type:
20
22
  - text/plain
21
- body: "{\"zone\":[{\"zonefile\":\"thisisathrowawayagain22.com.db\",\"domain\":\"thisisathrowawayagain22.com\"},{\"zonefile\":\"thisisathrowawayagain23.com.db\",\"domain\":\"thisisathrowawayagain23.com\"}]}"
22
- http_version: "1.1"
23
+ body:
24
+ encoding: UTF-8
25
+ string: ! '{"zone":[{"zonefile":"thisisathrowawayagain22.com.db","domain":"thisisathrowawayagain22.com"},{"zonefile":"thisisathrowawayagain23.com.db","domain":"thisisathrowawayagain23.com"}]}'
26
+ http_version: '1.1'
27
+ recorded_at: Wed, 07 Mar 2012 21:53:52 GMT
28
+ recorded_with: VCR 2.0.0
29
+ ...
@@ -1,43 +1,54 @@
1
- ---
2
- - !ruby/struct:VCR::HTTPInteraction
3
- request: !ruby/struct:VCR::Request
4
- method: :get
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
5
  uri: https://myhost.com:2087/json-api/lookupnsip?nameserver=example.com
6
- body:
7
- headers:
8
- authorization:
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Authorization:
9
11
  - WHM root:iscool
10
- response: !ruby/struct:VCR::Response
11
- status: !ruby/struct:VCR::ResponseStatus
12
+ response:
13
+ status:
12
14
  code: 200
13
15
  message: OK
14
- headers:
15
- server:
16
+ headers:
17
+ Server:
16
18
  - cpsrvd/11.28.64
17
- transfer-encoding:
19
+ Transfer-Encoding:
18
20
  - chunked
19
- content-type:
21
+ Content-Type:
20
22
  - text/plain
21
- body: "{\"ip\":\"192.1.2.3\"}"
22
- http_version: "1.1"
23
- - !ruby/struct:VCR::HTTPInteraction
24
- request: !ruby/struct:VCR::Request
25
- method: :get
23
+ body:
24
+ encoding: UTF-8
25
+ string: ! '{"ip":"192.1.2.3"}'
26
+ http_version: '1.1'
27
+ recorded_at: Wed, 07 Mar 2012 21:53:52 GMT
28
+ - request:
29
+ method: get
26
30
  uri: https://myhost.com:2087/json-api/lookupnsip?nameserver=notexists.com
27
- body:
28
- headers:
29
- authorization:
31
+ body:
32
+ encoding: US-ASCII
33
+ string: ''
34
+ headers:
35
+ Authorization:
30
36
  - WHM root:iscool
31
- response: !ruby/struct:VCR::Response
32
- status: !ruby/struct:VCR::ResponseStatus
37
+ response:
38
+ status:
33
39
  code: 200
34
40
  message: OK
35
- headers:
36
- server:
41
+ headers:
42
+ Server:
37
43
  - cpsrvd/11.28.64
38
- transfer-encoding:
44
+ Transfer-Encoding:
39
45
  - chunked
40
- content-type:
46
+ Content-Type:
41
47
  - text/plain
42
- body: "{\"ip\":null}"
43
- http_version: "1.1"
48
+ body:
49
+ encoding: UTF-8
50
+ string: ! '{"ip":null}'
51
+ http_version: '1.1'
52
+ recorded_at: Wed, 07 Mar 2012 21:53:52 GMT
53
+ recorded_with: VCR 2.0.0
54
+ ...
@@ -1,64 +1,82 @@
1
- ---
2
- - !ruby/struct:VCR::HTTPInteraction
3
- request: !ruby/struct:VCR::Request
4
- method: :get
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
5
  uri: https://myhost.com:2087/json-api/removezonerecord?Line=1&zone=example.com
6
- body:
7
- headers:
8
- authorization:
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Authorization:
9
11
  - WHM root:iscool
10
- response: !ruby/struct:VCR::Response
11
- status: !ruby/struct:VCR::ResponseStatus
12
+ response:
13
+ status:
12
14
  code: 200
13
15
  message: OK
14
- headers:
15
- server:
16
+ headers:
17
+ Server:
16
18
  - cpsrvd/11.28.64
17
- transfer-encoding:
19
+ Transfer-Encoding:
18
20
  - chunked
19
- content-type:
21
+ Content-Type:
20
22
  - text/plain
21
- body: "{\"result\":[{\"status\":1,\"statusmsg\":\"Bind reloading on myhost using rndc zone: [example.com]\"}]}"
22
- http_version: "1.1"
23
- - !ruby/struct:VCR::HTTPInteraction
24
- request: !ruby/struct:VCR::Request
25
- method: :get
23
+ body:
24
+ encoding: UTF-8
25
+ string: ! '{"result":[{"status":1,"statusmsg":"Bind reloading on myhost using
26
+ rndc zone: [example.com]"}]}'
27
+ http_version: '1.1'
28
+ recorded_at: Wed, 07 Mar 2012 21:53:52 GMT
29
+ - request:
30
+ method: get
26
31
  uri: https://myhost.com:2087/json-api/removezonerecord?Line=200&zone=example.com
27
- body:
28
- headers:
29
- authorization:
32
+ body:
33
+ encoding: US-ASCII
34
+ string: ''
35
+ headers:
36
+ Authorization:
30
37
  - WHM root:iscool
31
- response: !ruby/struct:VCR::Response
32
- status: !ruby/struct:VCR::ResponseStatus
38
+ response:
39
+ status:
33
40
  code: 200
34
41
  message: OK
35
- headers:
36
- server:
42
+ headers:
43
+ Server:
37
44
  - cpsrvd/11.28.64
38
- transfer-encoding:
45
+ Transfer-Encoding:
39
46
  - chunked
40
- content-type:
47
+ Content-Type:
41
48
  - text/plain
42
- body: "{\"result\":[{\"status\":0,\"statusmsg\":\"Unable to find a record on specified line: 200\"}]}"
43
- http_version: "1.1"
44
- - !ruby/struct:VCR::HTTPInteraction
45
- request: !ruby/struct:VCR::Request
46
- method: :get
49
+ body:
50
+ encoding: UTF-8
51
+ string: ! '{"result":[{"status":0,"statusmsg":"Unable to find a record on specified
52
+ line: 200"}]}'
53
+ http_version: '1.1'
54
+ recorded_at: Wed, 07 Mar 2012 21:53:52 GMT
55
+ - request:
56
+ method: get
47
57
  uri: https://myhost.com:2087/json-api/removezonerecord?Line=1&zone=notexists.com
48
- body:
49
- headers:
50
- authorization:
58
+ body:
59
+ encoding: US-ASCII
60
+ string: ''
61
+ headers:
62
+ Authorization:
51
63
  - WHM root:iscool
52
- response: !ruby/struct:VCR::Response
53
- status: !ruby/struct:VCR::ResponseStatus
64
+ response:
65
+ status:
54
66
  code: 200
55
67
  message: OK
56
- headers:
57
- server:
68
+ headers:
69
+ Server:
58
70
  - cpsrvd/11.28.64
59
- transfer-encoding:
71
+ Transfer-Encoding:
60
72
  - chunked
61
- content-type:
73
+ Content-Type:
62
74
  - text/plain
63
- body: "{\"result\":[{\"status\":0,\"statusmsg\":\"Unable to find a record on specified line: 1\"}]}"
64
- http_version: "1.1"
75
+ body:
76
+ encoding: UTF-8
77
+ string: ! '{"result":[{"status":0,"statusmsg":"Unable to find a record on specified
78
+ line: 1"}]}'
79
+ http_version: '1.1'
80
+ recorded_at: Wed, 07 Mar 2012 21:53:52 GMT
81
+ recorded_with: VCR 2.0.0
82
+ ...