squall 1.3.0 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +1 -1
  3. data/README.md +64 -41
  4. data/Rakefile +3 -9
  5. data/lib/squall/data_store_zone.rb +20 -26
  6. data/lib/squall/disk.rb +174 -0
  7. data/lib/squall/firewall_rule.rb +34 -41
  8. data/lib/squall/hypervisor.rb +40 -38
  9. data/lib/squall/hypervisor_zone.rb +51 -63
  10. data/lib/squall/ip_address.rb +32 -37
  11. data/lib/squall/ip_address_join.rb +13 -22
  12. data/lib/squall/network.rb +36 -33
  13. data/lib/squall/network_zone.rb +27 -29
  14. data/lib/squall/payment.rb +22 -32
  15. data/lib/squall/role.rb +30 -37
  16. data/lib/squall/statistic.rb +3 -1
  17. data/lib/squall/support/base.rb +35 -31
  18. data/lib/squall/support/config.rb +25 -1
  19. data/lib/squall/support/version.rb +1 -1
  20. data/lib/squall/template.rb +7 -5
  21. data/lib/squall/transaction.rb +6 -4
  22. data/lib/squall/user.rb +84 -83
  23. data/lib/squall/user_group.rb +17 -30
  24. data/lib/squall/virtual_machine.rb +154 -178
  25. data/lib/squall/whitelist.rb +29 -40
  26. data/lib/squall.rb +27 -25
  27. data/spec/spec_helper.rb +6 -11
  28. data/spec/squall/data_store_zone_spec.rb +2 -20
  29. data/spec/squall/disk_spec.rb +189 -0
  30. data/spec/squall/firewall_rule_spec.rb +2 -32
  31. data/spec/squall/hypervisor_spec.rb +3 -47
  32. data/spec/squall/hypervisor_zone_spec.rb +3 -28
  33. data/spec/squall/ip_address_join_spec.rb +1 -15
  34. data/spec/squall/ip_address_spec.rb +10 -35
  35. data/spec/squall/network_spec.rb +20 -31
  36. data/spec/squall/network_zone_spec.rb +2 -36
  37. data/spec/squall/payment_spec.rb +2 -21
  38. data/spec/squall/role_spec.rb +4 -16
  39. data/spec/squall/support/base_spec.rb +10 -16
  40. data/spec/squall/template_spec.rb +0 -4
  41. data/spec/squall/transaction_spec.rb +1 -3
  42. data/spec/squall/user_group_spec.rb +1 -17
  43. data/spec/squall/user_spec.rb +4 -92
  44. data/spec/squall/virtual_machine_spec.rb +8 -242
  45. data/spec/squall/whitelist_spec.rb +2 -40
  46. data/spec/squall_spec.rb +2 -2
  47. data/spec/vcr_cassettes/disk/add_schedule.yml +40 -0
  48. data/spec/vcr_cassettes/disk/auto_backup_off.yml +40 -0
  49. data/spec/vcr_cassettes/disk/auto_backup_on.yml +40 -0
  50. data/spec/vcr_cassettes/disk/backups.yml +40 -0
  51. data/spec/vcr_cassettes/disk/build.yml +40 -0
  52. data/spec/vcr_cassettes/disk/create.yml +40 -0
  53. data/spec/vcr_cassettes/disk/delete.yml +38 -0
  54. data/spec/vcr_cassettes/disk/edit.yml +40 -0
  55. data/spec/vcr_cassettes/disk/iops_usage.yml +40 -0
  56. data/spec/vcr_cassettes/disk/list.yml +40 -0
  57. data/spec/vcr_cassettes/disk/migrate.yml +38 -0
  58. data/spec/vcr_cassettes/disk/schedules.yml +40 -0
  59. data/spec/vcr_cassettes/disk/unlock.yml +40 -0
  60. data/spec/vcr_cassettes/disk/vm_disk_list.yml +40 -0
  61. data/spec/vcr_cassettes/network/rebuild.yml +41 -0
  62. metadata +217 -66
  63. data/.gitignore +0 -13
  64. data/.rspec +0 -2
  65. data/.rvmrc +0 -41
  66. data/.travis.yml +0 -17
  67. data/lib/squall/support/params.rb +0 -50
  68. data/lib/squall/support/yaml.rb +0 -5
  69. data/spec/squall/support/params_spec.rb +0 -195
  70. 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