hetzner-api 1.0.0.alpha.3 → 1.0.0.beta.1
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.
- data/Gemfile.lock +1 -1
 - data/README.rdoc +72 -0
 - data/lib/hetzner/api/version.rb +1 -1
 - data/spec/hetzner_api_spec.rb +42 -42
 - metadata +5 -5
 
    
        data/Gemfile.lock
    CHANGED
    
    
    
        data/README.rdoc
    CHANGED
    
    | 
         @@ -12,6 +12,8 @@ see http://wiki.hetzner.de/index.php?title=Robot_Webservice_en for details. 
     | 
|
| 
       12 
12 
     | 
    
         | 
| 
       13 
13 
     | 
    
         
             
            == Example
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
      
 15 
     | 
    
         
            +
            <b>See spec/hetzner_api_spec.rb[link:spec/hetzner_api_spec.rb] for nice examples!</b>
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
       15 
17 
     | 
    
         
             
            <tt>h = Hetzner::API.new "username", "password"</tt>
         
     | 
| 
       16 
18 
     | 
    
         | 
| 
       17 
19 
     | 
    
         
             
            <tt>h.reset? "111.111.111.111"</tt>
         
     | 
| 
         @@ -24,6 +26,76 @@ see http://wiki.hetzner.de/index.php?title=Robot_Webservice_en for details. 
     | 
|
| 
       24 
26 
     | 
    
         | 
| 
       25 
27 
     | 
    
         
             
            <tt>h.rdns! "111.111.111.222", "web100.falkenstein.de.example.com"</tt>
         
     | 
| 
       26 
28 
     | 
    
         | 
| 
      
 29 
     | 
    
         
            +
            == Coverage
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
              Reset
         
     | 
| 
      
 32 
     | 
    
         
            +
                query
         
     | 
| 
      
 33 
     | 
    
         
            +
                  should list available reset options for all servers
         
     | 
| 
      
 34 
     | 
    
         
            +
                  should list available reset options for a specific IP
         
     | 
| 
      
 35 
     | 
    
         
            +
                  should fail when IP is unknown
         
     | 
| 
      
 36 
     | 
    
         
            +
                  should fail when IP has no reset option
         
     | 
| 
      
 37 
     | 
    
         
            +
                execution
         
     | 
| 
      
 38 
     | 
    
         
            +
                  should reset the specific IP
         
     | 
| 
      
 39 
     | 
    
         
            +
                  should fail for the specific IP if input is invalid
         
     | 
| 
      
 40 
     | 
    
         
            +
                  should fail for the specific IP if a manual reset is active
         
     | 
| 
      
 41 
     | 
    
         
            +
                  should fail for the specific IP if reset is unavailable
         
     | 
| 
      
 42 
     | 
    
         
            +
                  should fail for the specific IP if IP is unknown
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
              Boot
         
     | 
| 
      
 45 
     | 
    
         
            +
                query boot configuration
         
     | 
| 
      
 46 
     | 
    
         
            +
                  should display the boot configuration
         
     | 
| 
      
 47 
     | 
    
         
            +
                the rescue system
         
     | 
| 
      
 48 
     | 
    
         
            +
                  should be able to activate
         
     | 
| 
      
 49 
     | 
    
         
            +
                  should be able to deactivate
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
              Rdns
         
     | 
| 
      
 52 
     | 
    
         
            +
                should query the current rdns status
         
     | 
| 
      
 53 
     | 
    
         
            +
                should be able to set a new ptr
         
     | 
| 
      
 54 
     | 
    
         
            +
                should be able to remove a new ptr
         
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
| 
      
 56 
     | 
    
         
            +
              VNC
         
     | 
| 
      
 57 
     | 
    
         
            +
                should be able to query vnc boot status
         
     | 
| 
      
 58 
     | 
    
         
            +
                should be able to set vnc boot status
         
     | 
| 
      
 59 
     | 
    
         
            +
                should be able to disable vnc boot status
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
      
 61 
     | 
    
         
            +
              WOL
         
     | 
| 
      
 62 
     | 
    
         
            +
                should be able to query WOL status
         
     | 
| 
      
 63 
     | 
    
         
            +
                should be able to send a WOL notification
         
     | 
| 
      
 64 
     | 
    
         
            +
             
     | 
| 
      
 65 
     | 
    
         
            +
              IP
         
     | 
| 
      
 66 
     | 
    
         
            +
                information
         
     | 
| 
      
 67 
     | 
    
         
            +
                  should be able to display all IP addresses of the customer account
         
     | 
| 
      
 68 
     | 
    
         
            +
                  should be able to display a IP address of the customer account
         
     | 
| 
      
 69 
     | 
    
         
            +
                  should be able to display all IP addresses for a given server IP address
         
     | 
| 
      
 70 
     | 
    
         
            +
                manage traffic warnings
         
     | 
| 
      
 71 
     | 
    
         
            +
                  should be able to activate and set traffic warning limits on a specific IP address
         
     | 
| 
      
 72 
     | 
    
         
            +
                  should be able to deactivate traffic warnings for a specific IP address
         
     | 
| 
      
 73 
     | 
    
         
            +
             
     | 
| 
      
 74 
     | 
    
         
            +
              Subnet
         
     | 
| 
      
 75 
     | 
    
         
            +
                information
         
     | 
| 
      
 76 
     | 
    
         
            +
                  should be able to display all IP subnets of the customer account
         
     | 
| 
      
 77 
     | 
    
         
            +
                  should be able to display a IP subnet of the customer account
         
     | 
| 
      
 78 
     | 
    
         
            +
                  should be able to display all IP addresses for a given server IP address
         
     | 
| 
      
 79 
     | 
    
         
            +
                manage traffic warnings
         
     | 
| 
      
 80 
     | 
    
         
            +
                  should be able to activate and set traffic warning limits on a specific IP address
         
     | 
| 
      
 81 
     | 
    
         
            +
                  should be able to deactivate traffic warnings for a specific IP address
         
     | 
| 
      
 82 
     | 
    
         
            +
             
     | 
| 
      
 83 
     | 
    
         
            +
              Server
         
     | 
| 
      
 84 
     | 
    
         
            +
                information
         
     | 
| 
      
 85 
     | 
    
         
            +
                  should be able to display all servers of the customer account
         
     | 
| 
      
 86 
     | 
    
         
            +
                  should be able to display a specific server by its IP address
         
     | 
| 
      
 87 
     | 
    
         
            +
             
     | 
| 
      
 88 
     | 
    
         
            +
              Plesk
         
     | 
| 
      
 89 
     | 
    
         
            +
                should be able to query plesk boot option status
         
     | 
| 
      
 90 
     | 
    
         
            +
                should be able to activate plesk boot option
         
     | 
| 
      
 91 
     | 
    
         
            +
                should be able to disable plesk boot option
         
     | 
| 
      
 92 
     | 
    
         
            +
             
     | 
| 
      
 93 
     | 
    
         
            +
              Traffic
         
     | 
| 
      
 94 
     | 
    
         
            +
                should display the traffic for a specific ip address and a subnet
         
     | 
| 
      
 95 
     | 
    
         
            +
                should display the traffic for serveral IP addresse and no subnet
         
     | 
| 
      
 96 
     | 
    
         
            +
                should display the traffic for subnets and no ip address
         
     | 
| 
      
 97 
     | 
    
         
            +
             
     | 
| 
      
 98 
     | 
    
         
            +
             
     | 
| 
       27 
99 
     | 
    
         
             
            == Readme (rdoc)
         
     | 
| 
       28 
100 
     | 
    
         | 
| 
       29 
101 
     | 
    
         
             
            <b>http://rdoc.info/github/rmoriz/hetzner-api</b>
         
     | 
    
        data/lib/hetzner/api/version.rb
    CHANGED
    
    
    
        data/spec/hetzner_api_spec.rb
    CHANGED
    
    | 
         @@ -24,42 +24,42 @@ describe "Reset" do 
     | 
|
| 
       24 
24 
     | 
    
         
             
                  result.response.should be_an_instance_of Net::HTTPNotFound 
         
     | 
| 
       25 
25 
     | 
    
         
             
                  result.parsed_response.should have_JSON_error_code :SERVER_NOT_FOUND
         
     | 
| 
       26 
26 
     | 
    
         
             
                end
         
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
       28 
28 
     | 
    
         
             
                it "should fail when IP has no reset option" do
         
     | 
| 
       29 
29 
     | 
    
         
             
                  result = @h.reset? RESET_IP_NOT_AVAILABLE
         
     | 
| 
       30 
30 
     | 
    
         
             
                  result.response.should be_an_instance_of Net::HTTPNotFound 
         
     | 
| 
       31 
31 
     | 
    
         
             
                  result.parsed_response.should have_JSON_error_code :RESET_NOT_AVAILABLE
         
     | 
| 
       32 
     | 
    
         
            -
                end 
     | 
| 
      
 32 
     | 
    
         
            +
                end
         
     | 
| 
       33 
33 
     | 
    
         
             
              end
         
     | 
| 
       34 
34 
     | 
    
         | 
| 
       35 
35 
     | 
    
         
             
              describe "execution" do
         
     | 
| 
       36 
36 
     | 
    
         
             
                before(:all) do
         
     | 
| 
       37 
37 
     | 
    
         
             
                  @h = Hetzner::API.new API_USERNAME, API_PASSWORD
         
     | 
| 
       38 
38 
     | 
    
         
             
                end
         
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
       40 
40 
     | 
    
         
             
                it "should reset the specific IP" do
         
     | 
| 
       41 
41 
     | 
    
         
             
                  result = @h.reset! WORKING_IP, :sw
         
     | 
| 
       42 
42 
     | 
    
         
             
                  result.response.should be_an_instance_of Net::HTTPOK
         
     | 
| 
       43 
43 
     | 
    
         
             
                end
         
     | 
| 
       44 
     | 
    
         
            -
             
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
       45 
45 
     | 
    
         
             
                it "should fail for the specific IP if input is invalid" do
         
     | 
| 
       46 
46 
     | 
    
         
             
                  result = @h.reset! WORKING_IP, :foo
         
     | 
| 
       47 
47 
     | 
    
         
             
                  result.response.should be_an_instance_of Net::HTTPBadRequest
         
     | 
| 
       48 
48 
     | 
    
         
             
                  result.parsed_response.should have_JSON_error_code :INVALID_INPUT 
         
     | 
| 
       49 
49 
     | 
    
         
             
                end
         
     | 
| 
       50 
     | 
    
         
            -
             
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
       51 
51 
     | 
    
         
             
                it "should fail for the specific IP if a manual reset is active" do
         
     | 
| 
       52 
52 
     | 
    
         
             
                  result = @h.reset! RESET_IP_MANUAL_ACTIVE, :sw
         
     | 
| 
       53 
53 
     | 
    
         
             
                  result.response.should be_an_instance_of Net::HTTPConflict
         
     | 
| 
       54 
54 
     | 
    
         
             
                  result.parsed_response.should have_JSON_error_code :RESET_MANUAL_ACTIVE
         
     | 
| 
       55 
55 
     | 
    
         
             
                end
         
     | 
| 
       56 
     | 
    
         
            -
             
     | 
| 
      
 56 
     | 
    
         
            +
             
     | 
| 
       57 
57 
     | 
    
         
             
                it "should fail for the specific IP if reset is unavailable" do
         
     | 
| 
       58 
58 
     | 
    
         
             
                  result = @h.reset! RESET_IP_NOT_AVAILABLE, :sw
         
     | 
| 
       59 
59 
     | 
    
         
             
                  result.response.should be_an_instance_of Net::HTTPNotFound
         
     | 
| 
       60 
60 
     | 
    
         
             
                  result.parsed_response.should have_JSON_error_code :RESET_NOT_AVAILABLE
         
     | 
| 
       61 
61 
     | 
    
         
             
                end
         
     | 
| 
       62 
     | 
    
         
            -
             
     | 
| 
      
 62 
     | 
    
         
            +
             
     | 
| 
       63 
63 
     | 
    
         
             
                it "should fail for the specific IP if IP is unknown" do
         
     | 
| 
       64 
64 
     | 
    
         
             
                  result = @h.reset! UNKOWN_IP, :sw
         
     | 
| 
       65 
65 
     | 
    
         
             
                  result.response.should be_an_instance_of Net::HTTPNotFound
         
     | 
| 
         @@ -73,19 +73,18 @@ describe "Boot" do 
     | 
|
| 
       73 
73 
     | 
    
         
             
                before(:all) do
         
     | 
| 
       74 
74 
     | 
    
         
             
                  @h = Hetzner::API.new API_USERNAME, API_PASSWORD
         
     | 
| 
       75 
75 
     | 
    
         
             
                end
         
     | 
| 
       76 
     | 
    
         
            -
             
     | 
| 
      
 76 
     | 
    
         
            +
             
     | 
| 
       77 
77 
     | 
    
         
             
                it "should display the boot configuration" do
         
     | 
| 
       78 
     | 
    
         
            -
                  result = @h.boot? WORKING_IP 
     | 
| 
      
 78 
     | 
    
         
            +
                  result = @h.boot? WORKING_IP
         
     | 
| 
       79 
79 
     | 
    
         
             
                  result.response.should be_an_instance_of Net::HTTPOK
         
     | 
| 
       80 
80 
     | 
    
         
             
                end
         
     | 
| 
       81 
81 
     | 
    
         
             
              end
         
     | 
| 
       82 
82 
     | 
    
         | 
| 
       83 
     | 
    
         
            -
              
         
     | 
| 
       84 
83 
     | 
    
         
             
              describe "the rescue system" do
         
     | 
| 
       85 
84 
     | 
    
         
             
                before(:all) do
         
     | 
| 
       86 
85 
     | 
    
         
             
                  @h = Hetzner::API.new API_USERNAME, API_PASSWORD
         
     | 
| 
       87 
86 
     | 
    
         
             
                end
         
     | 
| 
       88 
     | 
    
         
            -
             
     | 
| 
      
 87 
     | 
    
         
            +
             
     | 
| 
       89 
88 
     | 
    
         
             
                it "should be able to activate" do
         
     | 
| 
       90 
89 
     | 
    
         
             
                  result = @h.enable_rescue! WORKING_IP
         
     | 
| 
       91 
90 
     | 
    
         
             
                  result.response.should be_an_instance_of Net::HTTPOK
         
     | 
| 
         @@ -95,7 +94,7 @@ describe "Boot" do 
     | 
|
| 
       95 
94 
     | 
    
         
             
                  #result['rescue']['os'].should == 'linux'
         
     | 
| 
       96 
95 
     | 
    
         
             
                  #result['rescue']['active'].should be_true
         
     | 
| 
       97 
96 
     | 
    
         
             
                end
         
     | 
| 
       98 
     | 
    
         
            -
             
     | 
| 
      
 97 
     | 
    
         
            +
             
     | 
| 
       99 
98 
     | 
    
         
             
                it "should be able to deactivate" do
         
     | 
| 
       100 
99 
     | 
    
         
             
                  result = @h.disable_rescue! WORKING_IP
         
     | 
| 
       101 
100 
     | 
    
         
             
                  result.response.should be_an_instance_of Net::HTTPOK
         
     | 
| 
         @@ -107,17 +106,17 @@ describe "Rdns" do 
     | 
|
| 
       107 
106 
     | 
    
         
             
              before(:all) do
         
     | 
| 
       108 
107 
     | 
    
         
             
                @h = Hetzner::API.new API_USERNAME, API_PASSWORD
         
     | 
| 
       109 
108 
     | 
    
         
             
              end
         
     | 
| 
       110 
     | 
    
         
            -
             
     | 
| 
      
 109 
     | 
    
         
            +
             
     | 
| 
       111 
110 
     | 
    
         
             
              it "should query the current rdns status" do
         
     | 
| 
       112 
111 
     | 
    
         
             
                result = @h.rdns? WORKING_IP
         
     | 
| 
       113 
112 
     | 
    
         
             
                result.response.should be_an_instance_of Net::HTTPOK
         
     | 
| 
       114 
     | 
    
         
            -
                result['rdns']['ip'].should 
     | 
| 
      
 113 
     | 
    
         
            +
                result['rdns']['ip'].should  == WORKING_IP
         
     | 
| 
       115 
114 
     | 
    
         
             
                result['rdns']['ptr'].should == TEST_PTR
         
     | 
| 
       116 
115 
     | 
    
         
             
              end
         
     | 
| 
       117 
     | 
    
         
            -
             
     | 
| 
      
 116 
     | 
    
         
            +
             
     | 
| 
       118 
117 
     | 
    
         
             
              it "should be able to set a new ptr" do
         
     | 
| 
       119 
118 
     | 
    
         
             
                result = @h.rdns! WORKING_IP, TEST_PTR
         
     | 
| 
       120 
     | 
    
         
            -
                result.response.should be_an_instance_of Net::HTTPOK 
     | 
| 
      
 119 
     | 
    
         
            +
                result.response.should be_an_instance_of Net::HTTPOK
         
     | 
| 
       121 
120 
     | 
    
         
             
                result['rdns']['ip'].should  == WORKING_IP
         
     | 
| 
       122 
121 
     | 
    
         
             
                result['rdns']['ptr'].should == TEST_PTR
         
     | 
| 
       123 
122 
     | 
    
         
             
              end
         
     | 
| 
         @@ -132,7 +131,7 @@ describe "VNC" do 
     | 
|
| 
       132 
131 
     | 
    
         
             
              before(:all) do
         
     | 
| 
       133 
132 
     | 
    
         
             
                @h = Hetzner::API.new API_USERNAME, API_PASSWORD
         
     | 
| 
       134 
133 
     | 
    
         
             
              end
         
     | 
| 
       135 
     | 
    
         
            -
             
     | 
| 
      
 134 
     | 
    
         
            +
             
     | 
| 
       136 
135 
     | 
    
         
             
              it "should be able to query vnc boot status" do
         
     | 
| 
       137 
136 
     | 
    
         
             
                result = @h.boot_vnc? WORKING_IP
         
     | 
| 
       138 
137 
     | 
    
         
             
                result.response.should be_an_instance_of Net::HTTPOK
         
     | 
| 
         @@ -140,7 +139,7 @@ describe "VNC" do 
     | 
|
| 
       140 
139 
     | 
    
         
             
                result['vnc']['active'].should be_false
         
     | 
| 
       141 
140 
     | 
    
         
             
                result['vnc']['password'].should be_nil
         
     | 
| 
       142 
141 
     | 
    
         
             
              end
         
     | 
| 
       143 
     | 
    
         
            -
             
     | 
| 
      
 142 
     | 
    
         
            +
             
     | 
| 
       144 
143 
     | 
    
         
             
              it "should be able to set vnc boot status" do
         
     | 
| 
       145 
144 
     | 
    
         
             
                result = @h.boot_vnc! WORKING_IP, 'Fedora-13', '32', 'en_US'
         
     | 
| 
       146 
145 
     | 
    
         
             
                result.response.should be_an_instance_of Net::HTTPOK
         
     | 
| 
         @@ -148,7 +147,7 @@ describe "VNC" do 
     | 
|
| 
       148 
147 
     | 
    
         
             
                result['vnc']['active'].should be_true
         
     | 
| 
       149 
148 
     | 
    
         
             
                result['vnc']['password'].should_not be_nil
         
     | 
| 
       150 
149 
     | 
    
         
             
              end
         
     | 
| 
       151 
     | 
    
         
            -
             
     | 
| 
      
 150 
     | 
    
         
            +
             
     | 
| 
       152 
151 
     | 
    
         
             
              it "should be able to disable vnc boot status" do
         
     | 
| 
       153 
152 
     | 
    
         
             
                result = @h.disable_boot_vnc! WORKING_IP
         
     | 
| 
       154 
153 
     | 
    
         
             
                result.response.should be_an_instance_of Net::HTTPOK
         
     | 
| 
         @@ -162,13 +161,13 @@ describe "WOL" do 
     | 
|
| 
       162 
161 
     | 
    
         
             
              before(:all) do
         
     | 
| 
       163 
162 
     | 
    
         
             
                @h = Hetzner::API.new API_USERNAME, API_PASSWORD
         
     | 
| 
       164 
163 
     | 
    
         
             
              end
         
     | 
| 
       165 
     | 
    
         
            -
             
     | 
| 
      
 164 
     | 
    
         
            +
             
     | 
| 
       166 
165 
     | 
    
         
             
              it "should be able to query WOL status" do
         
     | 
| 
       167 
166 
     | 
    
         
             
                result = @h.wol? WORKING_IP
         
     | 
| 
       168 
167 
     | 
    
         
             
                result.response.should be_an_instance_of Net::HTTPOK
         
     | 
| 
       169 
168 
     | 
    
         
             
                result['wol']['server_ip'].should == WORKING_IP
         
     | 
| 
       170 
169 
     | 
    
         
             
              end
         
     | 
| 
       171 
     | 
    
         
            -
             
     | 
| 
      
 170 
     | 
    
         
            +
             
     | 
| 
       172 
171 
     | 
    
         
             
              it "should be able to send a WOL notification" do
         
     | 
| 
       173 
172 
     | 
    
         
             
                result = @h.wol! WORKING_IP
         
     | 
| 
       174 
173 
     | 
    
         
             
                result.response.should be_an_instance_of Net::HTTPOK
         
     | 
| 
         @@ -181,12 +180,13 @@ describe 'IP' do 
     | 
|
| 
       181 
180 
     | 
    
         
             
                before(:all) do
         
     | 
| 
       182 
181 
     | 
    
         
             
                  @h = Hetzner::API.new API_USERNAME, API_PASSWORD
         
     | 
| 
       183 
182 
     | 
    
         
             
                end
         
     | 
| 
      
 183 
     | 
    
         
            +
                
         
     | 
| 
       184 
184 
     | 
    
         
             
                it "should be able to display all IP addresses of the customer account" do
         
     | 
| 
       185 
185 
     | 
    
         
             
                  result = @h.ips?
         
     | 
| 
       186 
186 
     | 
    
         
             
                  result.response.should be_an_instance_of Net::HTTPOK
         
     | 
| 
       187 
187 
     | 
    
         
             
                  result.parsed_response.should have_at_least(2).entries
         
     | 
| 
       188 
     | 
    
         
            -
                end 
     | 
| 
       189 
     | 
    
         
            -
             
     | 
| 
      
 188 
     | 
    
         
            +
                end
         
     | 
| 
      
 189 
     | 
    
         
            +
             
     | 
| 
       190 
190 
     | 
    
         
             
                it "should be able to display a IP address of the customer account" do
         
     | 
| 
       191 
191 
     | 
    
         
             
                  result = @h.ip? WORKING_IP
         
     | 
| 
       192 
192 
     | 
    
         
             
                  result.response.should be_an_instance_of Net::HTTPOK
         
     | 
| 
         @@ -199,7 +199,7 @@ describe 'IP' do 
     | 
|
| 
       199 
199 
     | 
    
         
             
                  result.parsed_response.should have(2).entry
         
     | 
| 
       200 
200 
     | 
    
         
             
                end
         
     | 
| 
       201 
201 
     | 
    
         
             
              end
         
     | 
| 
       202 
     | 
    
         
            -
             
     | 
| 
      
 202 
     | 
    
         
            +
             
     | 
| 
       203 
203 
     | 
    
         
             
              describe "manage traffic warnings" do
         
     | 
| 
       204 
204 
     | 
    
         
             
                before(:all) do
         
     | 
| 
       205 
205 
     | 
    
         
             
                  @h = Hetzner::API.new API_USERNAME, API_PASSWORD
         
     | 
| 
         @@ -224,36 +224,37 @@ describe 'Subnet' do 
     | 
|
| 
       224 
224 
     | 
    
         
             
                before(:all) do
         
     | 
| 
       225 
225 
     | 
    
         
             
                  @h = Hetzner::API.new API_USERNAME, API_PASSWORD
         
     | 
| 
       226 
226 
     | 
    
         
             
                end
         
     | 
| 
      
 227 
     | 
    
         
            +
                
         
     | 
| 
       227 
228 
     | 
    
         
             
                it "should be able to display all IP subnets of the customer account" do
         
     | 
| 
       228 
229 
     | 
    
         
             
                  result = @h.subnets?
         
     | 
| 
       229 
230 
     | 
    
         
             
                  result.response.should be_an_instance_of Net::HTTPOK
         
     | 
| 
       230 
231 
     | 
    
         
             
                  result.parsed_response.should have_at_least(2).entries
         
     | 
| 
       231 
     | 
    
         
            -
                end 
     | 
| 
       232 
     | 
    
         
            -
             
     | 
| 
      
 232 
     | 
    
         
            +
                end
         
     | 
| 
      
 233 
     | 
    
         
            +
             
     | 
| 
       233 
234 
     | 
    
         
             
                it "should be able to display a IP subnet of the customer account" do
         
     | 
| 
       234 
235 
     | 
    
         
             
                  result = @h.subnet? WORKING_SUBNET_IP
         
     | 
| 
       235 
236 
     | 
    
         
             
                  result.response.should be_an_instance_of Net::HTTPOK
         
     | 
| 
       236 
237 
     | 
    
         
             
                  result.parsed_response.should have(1).entry
         
     | 
| 
       237 
238 
     | 
    
         
             
                end
         
     | 
| 
       238 
     | 
    
         
            -
             
     | 
| 
      
 239 
     | 
    
         
            +
             
     | 
| 
       239 
240 
     | 
    
         
             
                it "should be able to display all IP addresses for a given server IP address" do
         
     | 
| 
       240 
241 
     | 
    
         
             
                  result = @h.subnets_for_server? WORKING_IP
         
     | 
| 
       241 
242 
     | 
    
         
             
                  result.response.should be_an_instance_of Net::HTTPOK
         
     | 
| 
       242 
243 
     | 
    
         
             
                  result.parsed_response.should have(1).entry
         
     | 
| 
       243 
244 
     | 
    
         
             
                end
         
     | 
| 
       244 
245 
     | 
    
         
             
              end
         
     | 
| 
       245 
     | 
    
         
            -
             
     | 
| 
      
 246 
     | 
    
         
            +
             
     | 
| 
       246 
247 
     | 
    
         
             
              describe "manage traffic warnings" do
         
     | 
| 
       247 
248 
     | 
    
         
             
                before(:all) do
         
     | 
| 
       248 
249 
     | 
    
         
             
                  @h = Hetzner::API.new API_USERNAME, API_PASSWORD
         
     | 
| 
       249 
250 
     | 
    
         
             
                end
         
     | 
| 
       250 
     | 
    
         
            -
             
     | 
| 
      
 251 
     | 
    
         
            +
             
     | 
| 
       251 
252 
     | 
    
         
             
                it "should be able to activate and set traffic warning limits on a specific IP address" do
         
     | 
| 
       252 
253 
     | 
    
         
             
                  result = @h.ip! WORKING_IP, :traffic_warnings => 'true', :traffic_monthly => TRAFFIC_LIMIT_IN_GIGABYTE
         
     | 
| 
       253 
254 
     | 
    
         
             
                  result.response.should be_an_instance_of Net::HTTPOK
         
     | 
| 
       254 
255 
     | 
    
         
             
                  result.parsed_response.should have(1).entry
         
     | 
| 
       255 
256 
     | 
    
         
             
                end
         
     | 
| 
       256 
     | 
    
         
            -
             
     | 
| 
      
 257 
     | 
    
         
            +
             
     | 
| 
       257 
258 
     | 
    
         
             
                it "should be able to deactivate traffic warnings for a specific IP address" do
         
     | 
| 
       258 
259 
     | 
    
         
             
                  result = @h.ip! WORKING_IP, :traffic_warnings => 'false'
         
     | 
| 
       259 
260 
     | 
    
         
             
                  result.response.should be_an_instance_of Net::HTTPOK
         
     | 
| 
         @@ -262,24 +263,23 @@ describe 'Subnet' do 
     | 
|
| 
       262 
263 
     | 
    
         
             
              end
         
     | 
| 
       263 
264 
     | 
    
         
             
            end
         
     | 
| 
       264 
265 
     | 
    
         | 
| 
       265 
     | 
    
         
            -
             
     | 
| 
       266 
266 
     | 
    
         
             
            describe "Server" do
         
     | 
| 
       267 
267 
     | 
    
         
             
              describe "information" do
         
     | 
| 
       268 
268 
     | 
    
         
             
                before(:all) do
         
     | 
| 
       269 
269 
     | 
    
         
             
                  @h = Hetzner::API.new API_USERNAME, API_PASSWORD
         
     | 
| 
       270 
270 
     | 
    
         
             
                end
         
     | 
| 
       271 
     | 
    
         
            -
             
     | 
| 
      
 271 
     | 
    
         
            +
             
     | 
| 
       272 
272 
     | 
    
         
             
                it "should be able to display all servers of the customer account" do
         
     | 
| 
       273 
273 
     | 
    
         
             
                  result = @h.servers?
         
     | 
| 
       274 
274 
     | 
    
         
             
                  result.response.should be_an_instance_of Net::HTTPOK
         
     | 
| 
       275 
275 
     | 
    
         
             
                  result.parsed_response.should have_at_least(2).entries
         
     | 
| 
       276 
276 
     | 
    
         
             
                end
         
     | 
| 
       277 
     | 
    
         
            -
             
     | 
| 
      
 277 
     | 
    
         
            +
             
     | 
| 
       278 
278 
     | 
    
         
             
                it "should be able to display a specific server by its IP address" do
         
     | 
| 
       279 
279 
     | 
    
         
             
                  result = @h.server? WORKING_IP
         
     | 
| 
       280 
280 
     | 
    
         
             
                  result.response.should be_an_instance_of Net::HTTPOK
         
     | 
| 
       281 
281 
     | 
    
         
             
                  result.parsed_response.should have_at_least(1).entry
         
     | 
| 
       282 
     | 
    
         
            -
                end 
     | 
| 
      
 282 
     | 
    
         
            +
                end
         
     | 
| 
       283 
283 
     | 
    
         
             
              end
         
     | 
| 
       284 
284 
     | 
    
         
             
            end
         
     | 
| 
       285 
285 
     | 
    
         | 
| 
         @@ -287,7 +287,7 @@ describe "Plesk" do 
     | 
|
| 
       287 
287 
     | 
    
         
             
              before(:all) do
         
     | 
| 
       288 
288 
     | 
    
         
             
                @h = Hetzner::API.new API_USERNAME, API_PASSWORD
         
     | 
| 
       289 
289 
     | 
    
         
             
              end
         
     | 
| 
       290 
     | 
    
         
            -
             
     | 
| 
      
 290 
     | 
    
         
            +
             
     | 
| 
       291 
291 
     | 
    
         
             
              it "should be able to query plesk boot option status" do
         
     | 
| 
       292 
292 
     | 
    
         
             
                result = @h.boot_plesk? WORKING_IP
         
     | 
| 
       293 
293 
     | 
    
         
             
                result.response.should be_an_instance_of Net::HTTPOK
         
     | 
| 
         @@ -295,7 +295,7 @@ describe "Plesk" do 
     | 
|
| 
       295 
295 
     | 
    
         
             
                result['plesk']['active'].should be_false
         
     | 
| 
       296 
296 
     | 
    
         
             
                result['plesk']['password'].should be_nil
         
     | 
| 
       297 
297 
     | 
    
         
             
              end
         
     | 
| 
       298 
     | 
    
         
            -
             
     | 
| 
      
 298 
     | 
    
         
            +
             
     | 
| 
       299 
299 
     | 
    
         
             
              it "should be able to activate plesk boot option" do
         
     | 
| 
       300 
300 
     | 
    
         
             
                result = @h.boot_plesk! WORKING_IP, 'Fedora-13', '32', 'en_US', 'dr-gerner-aus-gzsz.confixx.de'
         
     | 
| 
       301 
301 
     | 
    
         
             
                result.response.should be_an_instance_of Net::HTTPOK
         
     | 
| 
         @@ -303,7 +303,7 @@ describe "Plesk" do 
     | 
|
| 
       303 
303 
     | 
    
         
             
                result['plesk']['active'].should be_true
         
     | 
| 
       304 
304 
     | 
    
         
             
                result['plesk']['password'].should_not be_nil
         
     | 
| 
       305 
305 
     | 
    
         
             
              end
         
     | 
| 
       306 
     | 
    
         
            -
             
     | 
| 
      
 306 
     | 
    
         
            +
             
     | 
| 
       307 
307 
     | 
    
         
             
              it "should be able to disable plesk boot option" do
         
     | 
| 
       308 
308 
     | 
    
         
             
                result = @h.disable_boot_plesk! WORKING_IP
         
     | 
| 
       309 
309 
     | 
    
         
             
                result.response.should be_an_instance_of Net::HTTPOK
         
     | 
| 
         @@ -317,7 +317,7 @@ describe "Traffic" do 
     | 
|
| 
       317 
317 
     | 
    
         
             
               before(:all) do
         
     | 
| 
       318 
318 
     | 
    
         
             
                @h = Hetzner::API.new API_USERNAME, API_PASSWORD
         
     | 
| 
       319 
319 
     | 
    
         
             
              end
         
     | 
| 
       320 
     | 
    
         
            -
             
     | 
| 
      
 320 
     | 
    
         
            +
             
     | 
| 
       321 
321 
     | 
    
         
             
              it "should display the traffic for a specific ip address and a subnet" do
         
     | 
| 
       322 
322 
     | 
    
         
             
                options = {
         
     | 
| 
       323 
323 
     | 
    
         
             
                  :ips     => [WORKING_IP],
         
     | 
| 
         @@ -331,7 +331,7 @@ describe "Traffic" do 
     | 
|
| 
       331 
331 
     | 
    
         | 
| 
       332 
332 
     | 
    
         
             
                result.response.should be_an_instance_of Net::HTTPOK
         
     | 
| 
       333 
333 
     | 
    
         
             
              end
         
     | 
| 
       334 
     | 
    
         
            -
             
     | 
| 
      
 334 
     | 
    
         
            +
             
     | 
| 
       335 
335 
     | 
    
         
             
              it "should display the traffic for serveral IP addresse and no subnet" do
         
     | 
| 
       336 
336 
     | 
    
         
             
                options = {
         
     | 
| 
       337 
337 
     | 
    
         
             
                  :ips     => [WORKING_IP, WORKING_IP_2],
         
     | 
| 
         @@ -344,8 +344,8 @@ describe "Traffic" do 
     | 
|
| 
       344 
344 
     | 
    
         
             
                result = @h.traffic? options
         
     | 
| 
       345 
345 
     | 
    
         | 
| 
       346 
346 
     | 
    
         
             
                result.response.should be_an_instance_of Net::HTTPOK
         
     | 
| 
       347 
     | 
    
         
            -
              end 
     | 
| 
       348 
     | 
    
         
            -
             
     | 
| 
      
 347 
     | 
    
         
            +
              end
         
     | 
| 
      
 348 
     | 
    
         
            +
             
     | 
| 
       349 
349 
     | 
    
         
             
              it "should display the traffic for subnets and no ip address" do
         
     | 
| 
       350 
350 
     | 
    
         
             
                options = {
         
     | 
| 
       351 
351 
     | 
    
         
             
                  :ips     => [],
         
     | 
| 
         @@ -358,5 +358,5 @@ describe "Traffic" do 
     | 
|
| 
       358 
358 
     | 
    
         
             
                result = @h.traffic? options
         
     | 
| 
       359 
359 
     | 
    
         | 
| 
       360 
360 
     | 
    
         
             
                result.response.should be_an_instance_of Net::HTTPOK
         
     | 
| 
       361 
     | 
    
         
            -
              end 
     | 
| 
      
 361 
     | 
    
         
            +
              end
         
     | 
| 
       362 
362 
     | 
    
         
             
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,15 +1,15 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification 
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: hetzner-api
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version 
         
     | 
| 
       4 
     | 
    
         
            -
              hash:  
     | 
| 
      
 4 
     | 
    
         
            +
              hash: 62196353
         
     | 
| 
       5 
5 
     | 
    
         
             
              prerelease: true
         
     | 
| 
       6 
6 
     | 
    
         
             
              segments: 
         
     | 
| 
       7 
7 
     | 
    
         
             
              - 1
         
     | 
| 
       8 
8 
     | 
    
         
             
              - 0
         
     | 
| 
       9 
9 
     | 
    
         
             
              - 0
         
     | 
| 
       10 
     | 
    
         
            -
              -  
     | 
| 
       11 
     | 
    
         
            -
              -  
     | 
| 
       12 
     | 
    
         
            -
              version: 1.0.0. 
     | 
| 
      
 10 
     | 
    
         
            +
              - beta
         
     | 
| 
      
 11 
     | 
    
         
            +
              - 1
         
     | 
| 
      
 12 
     | 
    
         
            +
              version: 1.0.0.beta.1
         
     | 
| 
       13 
13 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       14 
14 
     | 
    
         
             
            authors: 
         
     | 
| 
       15 
15 
     | 
    
         
             
            - Roland Moriz
         
     | 
| 
         @@ -17,7 +17,7 @@ autorequire: 
     | 
|
| 
       17 
17 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       18 
18 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       19 
19 
     | 
    
         | 
| 
       20 
     | 
    
         
            -
            date: 2010-10- 
     | 
| 
      
 20 
     | 
    
         
            +
            date: 2010-10-11 00:00:00 +02:00
         
     | 
| 
       21 
21 
     | 
    
         
             
            default_executable: 
         
     | 
| 
       22 
22 
     | 
    
         
             
            dependencies: 
         
     | 
| 
       23 
23 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     |