icontrol 0.3.5 → 0.3.7

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/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