squall 1.3.0 → 1.3.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.
- checksums.yaml +7 -0
- data/LICENSE +1 -1
- data/README.md +64 -41
- data/Rakefile +3 -9
- data/lib/squall/data_store_zone.rb +20 -26
- data/lib/squall/disk.rb +174 -0
- data/lib/squall/firewall_rule.rb +34 -41
- data/lib/squall/hypervisor.rb +40 -38
- data/lib/squall/hypervisor_zone.rb +51 -63
- data/lib/squall/ip_address.rb +32 -37
- data/lib/squall/ip_address_join.rb +13 -22
- data/lib/squall/network.rb +36 -33
- data/lib/squall/network_zone.rb +27 -29
- data/lib/squall/payment.rb +22 -32
- data/lib/squall/role.rb +30 -37
- data/lib/squall/statistic.rb +3 -1
- data/lib/squall/support/base.rb +35 -31
- data/lib/squall/support/config.rb +25 -1
- data/lib/squall/support/version.rb +1 -1
- data/lib/squall/template.rb +7 -5
- data/lib/squall/transaction.rb +6 -4
- data/lib/squall/user.rb +84 -83
- data/lib/squall/user_group.rb +17 -30
- data/lib/squall/virtual_machine.rb +154 -178
- data/lib/squall/whitelist.rb +29 -40
- data/lib/squall.rb +27 -25
- data/spec/spec_helper.rb +6 -11
- data/spec/squall/data_store_zone_spec.rb +2 -20
- data/spec/squall/disk_spec.rb +189 -0
- data/spec/squall/firewall_rule_spec.rb +2 -32
- data/spec/squall/hypervisor_spec.rb +3 -47
- data/spec/squall/hypervisor_zone_spec.rb +3 -28
- data/spec/squall/ip_address_join_spec.rb +1 -15
- data/spec/squall/ip_address_spec.rb +10 -35
- data/spec/squall/network_spec.rb +20 -31
- data/spec/squall/network_zone_spec.rb +2 -36
- data/spec/squall/payment_spec.rb +2 -21
- data/spec/squall/role_spec.rb +4 -16
- data/spec/squall/support/base_spec.rb +10 -16
- data/spec/squall/template_spec.rb +0 -4
- data/spec/squall/transaction_spec.rb +1 -3
- data/spec/squall/user_group_spec.rb +1 -17
- data/spec/squall/user_spec.rb +4 -92
- data/spec/squall/virtual_machine_spec.rb +8 -242
- data/spec/squall/whitelist_spec.rb +2 -40
- data/spec/squall_spec.rb +2 -2
- data/spec/vcr_cassettes/disk/add_schedule.yml +40 -0
- data/spec/vcr_cassettes/disk/auto_backup_off.yml +40 -0
- data/spec/vcr_cassettes/disk/auto_backup_on.yml +40 -0
- data/spec/vcr_cassettes/disk/backups.yml +40 -0
- data/spec/vcr_cassettes/disk/build.yml +40 -0
- data/spec/vcr_cassettes/disk/create.yml +40 -0
- data/spec/vcr_cassettes/disk/delete.yml +38 -0
- data/spec/vcr_cassettes/disk/edit.yml +40 -0
- data/spec/vcr_cassettes/disk/iops_usage.yml +40 -0
- data/spec/vcr_cassettes/disk/list.yml +40 -0
- data/spec/vcr_cassettes/disk/migrate.yml +38 -0
- data/spec/vcr_cassettes/disk/schedules.yml +40 -0
- data/spec/vcr_cassettes/disk/unlock.yml +40 -0
- data/spec/vcr_cassettes/disk/vm_disk_list.yml +40 -0
- data/spec/vcr_cassettes/network/rebuild.yml +41 -0
- metadata +217 -66
- data/.gitignore +0 -13
- data/.rspec +0 -2
- data/.rvmrc +0 -41
- data/.travis.yml +0 -17
- data/lib/squall/support/params.rb +0 -50
- data/lib/squall/support/yaml.rb +0 -5
- data/spec/squall/support/params_spec.rb +0 -195
- data/squall.gemspec +0 -32
@@ -1,195 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Squall::Params do
|
4
|
-
before(:each) do
|
5
|
-
@params = Squall::Params.new
|
6
|
-
end
|
7
|
-
|
8
|
-
describe "#new" do
|
9
|
-
it "sets @valid to {}" do
|
10
|
-
@params.valid.should be_empty
|
11
|
-
end
|
12
|
-
|
13
|
-
it "sets @optional to {}" do
|
14
|
-
@params.optional.should be_empty
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
describe "#required" do
|
19
|
-
it "stores keys in @valid with an Array" do
|
20
|
-
params = [:one, :two]
|
21
|
-
@params.required params
|
22
|
-
@params.valid.size.should == 2
|
23
|
-
@params.valid.should include(:one, :two)
|
24
|
-
end
|
25
|
-
|
26
|
-
it "stores uniq keys only" do
|
27
|
-
@params.required :one, :one
|
28
|
-
@params.valid.size.should == 1
|
29
|
-
@params.valid.should include(:one)
|
30
|
-
end
|
31
|
-
|
32
|
-
it "adds @valid to @optional" do
|
33
|
-
params = [:one, :two]
|
34
|
-
@params.required params
|
35
|
-
@params.valid.size.should == 2
|
36
|
-
@params.optional.size.should == 2
|
37
|
-
|
38
|
-
@params.valid.should include(:one, :two)
|
39
|
-
@params.optional.should include(:one, :two)
|
40
|
-
end
|
41
|
-
|
42
|
-
it "returns self" do
|
43
|
-
@params.required([:one, :two]).should be_a(Squall::Params)
|
44
|
-
end
|
45
|
-
|
46
|
-
it "resets @valid" do
|
47
|
-
params = [:one, :two]
|
48
|
-
@params.required params
|
49
|
-
@params.valid.size.should == 2
|
50
|
-
@params.valid.should include(:one, :two)
|
51
|
-
|
52
|
-
params = [:three, :four]
|
53
|
-
@params.required params
|
54
|
-
@params.valid.size.should == 2
|
55
|
-
@params.valid.should include(:three, :four)
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
|
-
describe "#accepts" do
|
60
|
-
it "stores keys in @optional with an Array" do
|
61
|
-
params = [:one, :two]
|
62
|
-
@params.accepts params
|
63
|
-
@params.optional.size.should == 2
|
64
|
-
@params.optional.should include(:one, :two)
|
65
|
-
end
|
66
|
-
|
67
|
-
it "stores uniq keys only" do
|
68
|
-
@params.accepts :one, :one
|
69
|
-
@params.optional.size.should == 1
|
70
|
-
@params.optional.should include(:one)
|
71
|
-
end
|
72
|
-
|
73
|
-
it "doesn't reset @valid" do
|
74
|
-
@params.required(:two)
|
75
|
-
@params.accepts(:one)
|
76
|
-
|
77
|
-
@params.optional.uniq.size.should be(2)
|
78
|
-
@params.optional.uniq.should include(:one, :two)
|
79
|
-
end
|
80
|
-
|
81
|
-
|
82
|
-
it "returns self" do
|
83
|
-
@params.accepts([:one, :two]).should be_a(Squall::Params)
|
84
|
-
end
|
85
|
-
|
86
|
-
it "resets @optional" do
|
87
|
-
params = [:one, :two]
|
88
|
-
@params.accepts params
|
89
|
-
@params.optional.size.should == 2
|
90
|
-
@params.optional.should include(:one, :two)
|
91
|
-
|
92
|
-
params = [:three, :four]
|
93
|
-
@params.accepts params
|
94
|
-
@params.optional.size.should == 4
|
95
|
-
@params.optional.should include(:three, :four)
|
96
|
-
end
|
97
|
-
end
|
98
|
-
|
99
|
-
describe "#validate_required!" do
|
100
|
-
describe "Array param input" do
|
101
|
-
it "raises an error with missing options" do
|
102
|
-
params = [:one, :two]
|
103
|
-
@params.required params
|
104
|
-
expect { @params.validate_required!(:three) }.to raise_error(ArgumentError)
|
105
|
-
end
|
106
|
-
|
107
|
-
it "does not raise an error with valid" do
|
108
|
-
params = [:one, :two]
|
109
|
-
@params.required params
|
110
|
-
@params.validate_required!(:one, :two)
|
111
|
-
end
|
112
|
-
|
113
|
-
it "does not raise an error when empty" do
|
114
|
-
@params.required []
|
115
|
-
@params.validate_required! :whatever
|
116
|
-
end
|
117
|
-
end
|
118
|
-
|
119
|
-
describe "Hash param input" do
|
120
|
-
it "raises an error with missing options" do
|
121
|
-
params = [:one, :two]
|
122
|
-
@params.required params
|
123
|
-
expect { @params.validate_required!({:three => 'three'}) }.to raise_error(ArgumentError)
|
124
|
-
end
|
125
|
-
|
126
|
-
it "does not raise an error with valid" do
|
127
|
-
params = [:one, :two]
|
128
|
-
@params.required params
|
129
|
-
@params.validate_required!(:one => 1, :two => 2)
|
130
|
-
end
|
131
|
-
end
|
132
|
-
|
133
|
-
describe "String param input" do
|
134
|
-
it "raises an error with missing options" do
|
135
|
-
params = [:one, :two]
|
136
|
-
@params.required params
|
137
|
-
expect { @params.validate_required!({'three' => 'three'}) }.to raise_error(ArgumentError)
|
138
|
-
end
|
139
|
-
|
140
|
-
it "does not raise an error with valid" do
|
141
|
-
params = [:one, :two]
|
142
|
-
@params.required params
|
143
|
-
@params.validate_required!('one' => 1, 'two' => 2)
|
144
|
-
end
|
145
|
-
end
|
146
|
-
|
147
|
-
describe "Chained execution" do
|
148
|
-
it "raises an error with missing options" do
|
149
|
-
params = [:one, :two]
|
150
|
-
expect { @params.required(params).validate_required!({'three' => 'three'}) }.to raise_error(ArgumentError)
|
151
|
-
end
|
152
|
-
|
153
|
-
it "does not raise an error with valid" do
|
154
|
-
params = [:one, :two]
|
155
|
-
@params.required(params).validate_required!('one' => 1, 'two' => 2)
|
156
|
-
end
|
157
|
-
end
|
158
|
-
end
|
159
|
-
|
160
|
-
describe "#validate_optionals!" do
|
161
|
-
it "raises an error with unknown params" do
|
162
|
-
@params.accepts :one, :two
|
163
|
-
expect { @params.validate_optionals!({:three => 3}) }.to raise_error(ArgumentError)
|
164
|
-
end
|
165
|
-
|
166
|
-
it "allows a known param" do
|
167
|
-
@params.accepts :one
|
168
|
-
@params.validate_optionals!({:one => 1}).should be_true
|
169
|
-
end
|
170
|
-
|
171
|
-
it "allows multiple known param" do
|
172
|
-
@params.accepts :one, :two
|
173
|
-
@params.validate_optionals!({:one => 1, :two => 2}).should be_true
|
174
|
-
end
|
175
|
-
|
176
|
-
it "allows 2 of 3 known param" do
|
177
|
-
@params.accepts :one, :two, :three
|
178
|
-
@params.validate_optionals!({:one => 1, :two => 2}).should be_true
|
179
|
-
end
|
180
|
-
end
|
181
|
-
|
182
|
-
describe "#validate!" do
|
183
|
-
it "calls #validate_required!" do
|
184
|
-
@params.valid = [:one, :two]
|
185
|
-
@params.should_receive(:validate_required!).with(:one, :two)
|
186
|
-
@params.validate!(:one, :two)
|
187
|
-
end
|
188
|
-
|
189
|
-
it "calls #validate_optionals!" do
|
190
|
-
@params.optional = [:one, :two]
|
191
|
-
@params.should_receive(:validate_optionals!).with(:one, :two)
|
192
|
-
@params.validate!(:one, :two)
|
193
|
-
end
|
194
|
-
end
|
195
|
-
end
|
data/squall.gemspec
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
$:.push File.expand_path("../lib", __FILE__)
|
3
|
-
require "squall/support/version"
|
4
|
-
|
5
|
-
Gem::Specification.new do |s|
|
6
|
-
s.name = "squall"
|
7
|
-
s.version = Squall::VERSION
|
8
|
-
s.platform = Gem::Platform::RUBY
|
9
|
-
s.authors = ["Justin Mazzi"]
|
10
|
-
s.email = ["jmazzi@site5.com"]
|
11
|
-
s.homepage = ""
|
12
|
-
s.summary = %q{A Ruby library for working with the OnApp REST API}
|
13
|
-
s.description = %q{A Ruby library for working with the OnApp REST API}
|
14
|
-
|
15
|
-
s.rubyforge_project = "squall"
|
16
|
-
|
17
|
-
s.add_runtime_dependency 'faraday', '~> 0.8.1'
|
18
|
-
s.add_runtime_dependency 'faraday_middleware', '~> 0.8.7'
|
19
|
-
s.add_runtime_dependency 'json', '~> 1.7.3'
|
20
|
-
s.add_runtime_dependency('jruby-openssl', '~> 0.7.3') if RUBY_PLATFORM == 'java'
|
21
|
-
|
22
|
-
s.add_development_dependency 'rspec', '~> 2.10.0'
|
23
|
-
s.add_development_dependency 'fakeweb', '~> 1.3'
|
24
|
-
s.add_development_dependency 'vcr', '~> 1.8'
|
25
|
-
s.add_development_dependency 'awesome_print', '~> 1.0.2'
|
26
|
-
s.add_development_dependency 'rake', '~> 0.9.2.2'
|
27
|
-
|
28
|
-
s.files = `git ls-files`.split("\n")
|
29
|
-
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
30
|
-
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
31
|
-
s.require_paths = ["lib"]
|
32
|
-
end
|