icontrol 0.3.5 → 0.3.7

Sign up to get free protection for your applications and to get access to all the features.
data/lib/icontrol/base.rb CHANGED
@@ -49,6 +49,9 @@ module IControl
49
49
  # @private Base
50
50
  class Base # :nodoc:
51
51
 
52
+ def id
53
+ @attributes[:id]
54
+ end
52
55
 
53
56
  include IControl::Base::Attributable
54
57
 
@@ -3,15 +3,15 @@ module IControl
3
3
  class ULong64 < IControl::Base::Struct
4
4
  def to_f
5
5
  retVal = 0.0
6
- if @high >=0
7
- retVal = @high << 32 & 0xffff0000
6
+ if high >=0
7
+ retVal = high << 32 & 0xffff0000
8
8
  else
9
- retVal = ((@high & 0x7fffffff) << 32) + (0x80000000 << 32)
9
+ retVal = ((high & 0x7fffffff) << 32) + (0x80000000 << 32)
10
10
  end
11
- if @low >=0
12
- retVal += @low
11
+ if low >=0
12
+ retVal += low
13
13
  else
14
- retVal += ((@low & 0x7fffffff) + 0x7fffffff)
14
+ retVal += ((low & 0x7fffffff) + 0x7fffffff)
15
15
  end
16
16
  return retVal;
17
17
  end
@@ -5,9 +5,10 @@ class BasicSequence
5
5
  @conversion_method = conversion_method
6
6
  end
7
7
  def from_soap(xml)
8
- object = [*xml[:item]].map { |i| i.send(@conversion_method) }
9
- return nil if object.empty?
10
- return object.length == 1 ? object.first : object
8
+ return_value = [*xml[:item]].map { |i| i.send(@conversion_method) }
9
+ return return_value.first if return_value.length == 1
10
+ return nil if return_value.length == 0
11
+ return return_value
11
12
  end
12
13
  end
13
14
  end
@@ -71,7 +72,7 @@ module IControl
71
72
  else
72
73
  if aux.length == 1
73
74
  # If is just 1 element we return the element
74
- return aux[0]
75
+ return aux.first
75
76
  else
76
77
  #otherwise is empty so we return a nil
77
78
  nil
@@ -82,11 +83,9 @@ module IControl
82
83
 
83
84
  class SequenceSequence
84
85
  def self.from_soap(xml)
85
- return nil unless xml[:item]
86
+ return [] unless xml[:item]
86
87
  xml[:item][:type] = "A:Array"
87
- object = [Mappings.map_object(xml[:item])].flatten
88
- return nil if object.compact.length == 0
89
- return object
88
+ return [*Mappings.map_object(xml[:item])].compact
90
89
  end
91
90
  end
92
91
  end
@@ -0,0 +1,35 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__),"..","..",'/spec_helper'))
2
+
3
+ describe IControl::Base::Sequence do
4
+
5
+
6
+
7
+ describe "#from_soap" do
8
+
9
+ EMPTY_SEQUENCE =<<END
10
+ <E:Envelope
11
+ xmlns:E="http://schemas.xmlsoap.org/soap/envelope/"
12
+ xmlns:A="http://schemas.xmlsoap.org/soap/encoding/"
13
+ xmlns:s="http://www.w3.org/2001/XMLSchema-instance"
14
+ xmlns:y="http://www.w3.org/2001/XMLSchema"
15
+ xmlns:iControl="urn:iControl"
16
+ E:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
17
+ <E:Body>
18
+ <m:get_httpclass_profileResponse
19
+ xmlns:m="urn:iControl:LocalLB/VirtualServer">
20
+ <return
21
+ s:type="A:Array"
22
+ A:arrayType="iControl:LocalLB.VirtualServer.VirtualServerHttpClass[][1]">
23
+ <item
24
+ A:arrayType="iControl:LocalLB.VirtualServer.VirtualServerHttpClass[0]"></item>
25
+ </return>
26
+ </m:get_httpclass_profileResponse>
27
+ </E:Body>
28
+ </E:Envelope>
29
+ END
30
+ it "should allow to be loaded from soap" do
31
+ IControl::Base.map_response(EMPTY_SEQUENCE).should == []
32
+ end
33
+ end
34
+
35
+ end
@@ -34,7 +34,7 @@ describe IControl::LocalLB::VirtualServer do
34
34
  end
35
35
 
36
36
  it "Adds/associates authentication profiles to the specified virtual servers." do
37
- @virtual_server.authentication_profile.should be_nil
37
+ @virtual_server.authentication_profile.should == []
38
38
  @virtual_server.add_authentication_profile(:profiles => [{:profile_name => "ldap",:priority => 1}] )
39
39
  @virtual_server.authentication_profile.first.profile_name.should == "ldap"
40
40
  end
@@ -62,7 +62,7 @@ describe IControl::LocalLB::VirtualServer do
62
62
  end
63
63
 
64
64
  it "Adds/associates clone pools to the specified virtual servers." do
65
- @virtual_server.clone_pool.should be_nil
65
+ @virtual_server.clone_pool.should == []
66
66
  @virtual_server.add_clone_pool(:clone_pools => [{:pool_name => @test_pool_name,:type => IControl::LocalLB::ClonePoolType::CLONE_POOL_TYPE_CLIENTSIDE}] )
67
67
  @virtual_server.clone_pool.first.pool_name.should == @test_pool_name
68
68
  end
@@ -87,7 +87,7 @@ describe IControl::LocalLB::VirtualServer do
87
87
 
88
88
  it "Adds/associates HTTP class profiles to the specified virtual servers." do
89
89
  @virtual_server.add_profile(:profiles => [{:profile_name => "http",:profile_context => IControl::LocalLB::ProfileContextType::PROFILE_CONTEXT_TYPE_ALL}])
90
- @virtual_server.httpclass_profile.should be_nil
90
+ @virtual_server.httpclass_profile.should == []
91
91
  @virtual_server.add_httpclass_profile(:profiles => [{:profile_name => @profile_http_class_name,:priority => 1}])
92
92
  @virtual_server.httpclass_profile.first.profile_name.should == @profile_http_class_name
93
93
  end
@@ -102,7 +102,7 @@ describe IControl::LocalLB::VirtualServer do
102
102
 
103
103
  describe "#add_persistence_profile" do
104
104
  it "Adds/associates persistence profiles to the specified virtual servers." do
105
- @virtual_server.persistence_profile.should be_nil
105
+ @virtual_server.persistence_profile.should == []
106
106
  @virtual_server.add_persistence_profile(:profiles => [{:profile_name => "dest_addr",:default_profile => false}] )
107
107
  @virtual_server.persistence_profile.should_not be_nil
108
108
  @virtual_server.persistence_profile.first.profile_name.should == "dest_addr"
@@ -140,7 +140,7 @@ describe IControl::LocalLB::VirtualServer do
140
140
  end
141
141
 
142
142
  it "Adds/associates rules to the specified virtual servers." do
143
- @virtual_server.rule.should be_nil
143
+ @virtual_server.rule.should == []
144
144
  @virtual_server.add_rule(:rules => [{:rule_name => @rule_name ,:priority => 1}])
145
145
  @virtual_server.rule.should_not be_nil
146
146
  end
@@ -248,7 +248,7 @@ describe IControl::LocalLB::VirtualServer do
248
248
  end
249
249
 
250
250
  it "Gets the lists of authentication profiles the specified virtual servers are associated with." do
251
- @virtual_server.authentication_profile.should be_nil # It's tested in the the setter method
251
+ @virtual_server.authentication_profile.should == [] # It's tested in the the setter method
252
252
  end
253
253
  end
254
254
 
@@ -258,7 +258,7 @@ describe IControl::LocalLB::VirtualServer do
258
258
  end
259
259
 
260
260
  it "Gets the lists of clone pools the specified virtual servers are associated with." do
261
- @virtual_server.clone_pool.should be_nil # It's tested in the the setter method
261
+ @virtual_server.clone_pool.should == [] # It's tested in the the setter method
262
262
  end
263
263
  end
264
264
 
@@ -433,7 +433,7 @@ describe IControl::LocalLB::VirtualServer do
433
433
  end
434
434
 
435
435
  it "Gets the lists of HTTP class profiles the specified virtual servers are associated with. If a specified virtual server is not associated with any HTTP class profile, then the list of HTTP class profiles for that virtual server will be empty." do
436
- @virtual_server.httpclass_profile.should be_nil
436
+ @virtual_server.httpclass_profile.should == []
437
437
  end
438
438
 
439
439
  it "works this way" do
@@ -467,7 +467,7 @@ describe IControl::LocalLB::VirtualServer do
467
467
  end
468
468
 
469
469
  it "Returns the module scores for the specified virtual servers." do
470
- @virtual_server.module_score.should be_nil
470
+ @virtual_server.module_score.should == []
471
471
  end
472
472
 
473
473
  it "works this way" do
@@ -505,7 +505,7 @@ describe IControl::LocalLB::VirtualServer do
505
505
  end
506
506
 
507
507
  it "Gets the lists of persistence profiles the specified virtual servers are associated with." do
508
- @virtual_server.persistence_profile.should be_nil
508
+ @virtual_server.persistence_profile.should == []
509
509
  end
510
510
 
511
511
  it "works this way" do
@@ -521,7 +521,7 @@ describe IControl::LocalLB::VirtualServer do
521
521
  end
522
522
 
523
523
  it "Gets the persistence records based on the specified persistent modes for the specified virtual servers." do
524
- @virtual_server.persistence_record(:persistence_mode => IControl::LocalLB::PersistenceMode::PERSISTENCE_MODE_NONE).should be_nil
524
+ @virtual_server.persistence_record(:persistence_mode => IControl::LocalLB::PersistenceMode::PERSISTENCE_MODE_NONE).should == []
525
525
  end
526
526
 
527
527
  it "works this way" do
@@ -586,7 +586,7 @@ describe IControl::LocalLB::VirtualServer do
586
586
  end
587
587
 
588
588
  it "Gets the lists of rules the specified virtual servers are associated with. If a specified virtual server is not associated with any rule, then the list of rules for that virtual server will be empty." do
589
- @virtual_server.rule.should be_nil
589
+ @virtual_server.rule.should == []
590
590
  end
591
591
  end
592
592
 
@@ -1132,11 +1132,11 @@ describe IControl::LocalLB::VirtualServer do
1132
1132
  end
1133
1133
 
1134
1134
  it "Removes authentication profiles to the specified virtual servers." do
1135
- @virtual_server.authentication_profile.should be_nil
1135
+ @virtual_server.authentication_profile.should == []
1136
1136
  @virtual_server.add_authentication_profile(:profiles => [{:profile_name => "ldap",:priority => 1}] )
1137
1137
  @virtual_server.authentication_profile.first.profile_name.should == "ldap"
1138
1138
  @virtual_server.remove_authentication_profile(:profiles => [{:profile_name => "ldap",:priority => 1}] )
1139
- @virtual_server.authentication_profile.should be_nil
1139
+ @virtual_server.authentication_profile.should == []
1140
1140
  end
1141
1141
 
1142
1142
  it "works this way" do
@@ -1163,12 +1163,12 @@ describe IControl::LocalLB::VirtualServer do
1163
1163
  end
1164
1164
 
1165
1165
  it " Removes clone pools to the specified virtual servers." do
1166
- @virtual_server.clone_pool.should be_nil
1166
+ @virtual_server.clone_pool.should == []
1167
1167
  @virtual_server.add_clone_pool(:clone_pools => [{:pool_name => @test_pool_name,:type => IControl::LocalLB::ClonePoolType::CLONE_POOL_TYPE_CLIENTSIDE}])
1168
1168
  @virtual_server.clone_pool.first.pool_name.should == @test_pool_name
1169
1169
  @virtual_server.remove_clone_pool(:clone_pools => [{:pool_name => @test_pool_name,
1170
1170
  :type => IControl::LocalLB::ClonePoolType::CLONE_POOL_TYPE_CLIENTSIDE}])
1171
- @virtual_server.clone_pool.should be_nil
1171
+ @virtual_server.clone_pool.should == []
1172
1172
  end
1173
1173
 
1174
1174
  it "works this way" do
@@ -1193,11 +1193,11 @@ describe IControl::LocalLB::VirtualServer do
1193
1193
 
1194
1194
  it "Removes HTTP class profiles to the specified virtual servers." do
1195
1195
  @virtual_server.add_profile(:profiles => [{:profile_name => "http",:profile_context => IControl::LocalLB::ProfileContextType::PROFILE_CONTEXT_TYPE_ALL}])
1196
- @virtual_server.httpclass_profile.should be_nil
1196
+ @virtual_server.httpclass_profile.should == []
1197
1197
  @virtual_server.add_httpclass_profile(:profiles => [{:profile_name => @profile_http_class_name,:priority => 1}])
1198
1198
  @virtual_server.httpclass_profile.first.profile_name.should == @profile_http_class_name
1199
1199
  @virtual_server.remove_httpclass_profile(:profiles => [{:profile_name => @profile_http_class_name,:priority => 1}])
1200
- @virtual_server.httpclass_profile.should be_nil
1200
+ @virtual_server.httpclass_profile.should == []
1201
1201
  end
1202
1202
 
1203
1203
  it "works this way" do
@@ -1209,12 +1209,12 @@ describe IControl::LocalLB::VirtualServer do
1209
1209
 
1210
1210
  describe "#remove_persistence_profile" do
1211
1211
  it "Removes persistence profiles to the specified virtual servers." do
1212
- @virtual_server.persistence_profile.should be_nil
1212
+ @virtual_server.persistence_profile.should == []
1213
1213
  @virtual_server.add_persistence_profile(:profiles => [{:profile_name => "dest_addr",:default_profile => false}] )
1214
1214
  @virtual_server.persistence_profile.should_not be_nil
1215
1215
  @virtual_server.persistence_profile.first.profile_name.should == "dest_addr"
1216
1216
  @virtual_server.remove_persistence_profile(:profiles => [{:profile_name => "dest_addr",:default_profile => false}] )
1217
- @virtual_server.persistence_profile.should be_nil
1217
+ @virtual_server.persistence_profile.should == []
1218
1218
  end
1219
1219
 
1220
1220
  it "works this way" do
@@ -1251,11 +1251,11 @@ describe IControl::LocalLB::VirtualServer do
1251
1251
  end
1252
1252
 
1253
1253
  it "Removes/associates rules to the specified virtual servers." do
1254
- @virtual_server.rule.should be_nil
1254
+ @virtual_server.rule.should == []
1255
1255
  @virtual_server.add_rule(:rules => [{:rule_name => @rule_name ,:priority => 1}])
1256
1256
  @virtual_server.rule.should_not be_nil
1257
1257
  @virtual_server.remove_rule(:rules => [{:rule_name => @rule_name ,:priority => 1}])
1258
- @virtual_server.rule.should be_nil
1258
+ @virtual_server.rule.should == []
1259
1259
  end
1260
1260
 
1261
1261
  it "works this way" do
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 3
8
- - 5
9
- version: 0.3.5
8
+ - 7
9
+ version: 0.3.7
10
10
  platform: ruby
11
11
  authors:
12
12
  - Jose Fernandez (magec)
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2011-01-17 00:00:00 +01:00
17
+ date: 2011-02-15 00:00:00 +01:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -360,6 +360,7 @@ files:
360
360
  - .yardopts
361
361
  - LICENSE
362
362
  - README.rdoc
363
+ - spec/icontrol/base/sequence_spec.rb
363
364
  - spec/icontrol/base/struct_spec.rb
364
365
  - spec/icontrol/common_spec.rb
365
366
  - spec/icontrol/local_lb/pool_member_spec.rb
@@ -381,7 +382,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
381
382
  requirements:
382
383
  - - ">="
383
384
  - !ruby/object:Gem::Version
384
- hash: -545576529
385
+ hash: -374151087
385
386
  segments:
386
387
  - 0
387
388
  version: "0"
@@ -401,6 +402,7 @@ signing_key:
401
402
  specification_version: 3
402
403
  summary: A ruby client to the BigIP F5
403
404
  test_files:
405
+ - spec/icontrol/base/sequence_spec.rb
404
406
  - spec/icontrol/base/struct_spec.rb
405
407
  - spec/icontrol/common_spec.rb
406
408
  - spec/icontrol/local_lb/pool_member_spec.rb