icontrol 0.3.2 → 0.3.3
Sign up to get free protection for your applications and to get access to all the features.
- data/.yardopts +9 -0
- data/README.rdoc +26 -10
- data/lib/icontrol/base.rb +57 -1
- data/lib/icontrol/base/attributable.rb +0 -21
- data/lib/icontrol/base/mappings.rb +1 -0
- data/lib/icontrol/base/sequence.rb +9 -0
- data/lib/icontrol/base/struct.rb +5 -1
- data/lib/icontrol/base/xml.rb +231 -0
- data/spec/icontrol/local_lb/pool_spec.rb +15 -16
- data/spec/icontrol/local_lb/profile_http_class_spec.rb +157 -75
- data/spec/icontrol/local_lb/virtual_server_spec.rb +1268 -0
- metadata +9 -4
@@ -4,10 +4,9 @@ describe IControl::LocalLB::Pool do
|
|
4
4
|
|
5
5
|
use_vcr_cassette "IControl::LocalLB::Pool", :record => :all, :match_requests_on => [:uri, :method, :body] # Change :record => :new_episodes when done
|
6
6
|
|
7
|
-
TEST_POOL_NAME="test_pool"
|
8
|
-
|
9
7
|
before(:each) do
|
10
|
-
|
8
|
+
@test_pool_name="test_pool"
|
9
|
+
IControl::LocalLB::Pool.create(:pool_name => @test_pool_name,
|
11
10
|
:lb_method => IControl::LocalLB::LBMethod::LB_METHOD_ROUND_ROBIN,
|
12
11
|
:members => [{:address => "192.168.50.1",:port => "80"},
|
13
12
|
{:address => "192.168.50.2",:port => "80"},
|
@@ -16,7 +15,7 @@ describe IControl::LocalLB::Pool do
|
|
16
15
|
{:address => "192.168.50.5",:port => "80"},
|
17
16
|
{:address => "192.168.50.6",:port => "80"}
|
18
17
|
])
|
19
|
-
@pool = IControl::LocalLB::Pool.find(
|
18
|
+
@pool = IControl::LocalLB::Pool.find(@test_pool_name)
|
20
19
|
end
|
21
20
|
|
22
21
|
after(:each) do
|
@@ -161,12 +160,12 @@ describe IControl::LocalLB::Pool do
|
|
161
160
|
all_statistics.statistics
|
162
161
|
# => [<IControl::Common::Statistic:0x..... ] An array with every statistic
|
163
162
|
|
164
|
-
all_statistics.time_stamp
|
163
|
+
all_statistics.time_stamp
|
165
164
|
# => #<IControl::Common::TimeStamp:0x9ddcf6c @attributes={:year=>"2011", :month=>"1", :day=>"4", :hour=>"10", :minute=>"59", :second=>"29", :id=>nil}>
|
166
165
|
|
167
166
|
|
168
|
-
test_pool_statistics = all_statistics.statistics.find { |i| i.pool_name ==
|
169
|
-
# => #<IControl::LocalLB::Pool::PoolStatisticEntry:0xa492f8c @attributes={:pool_name
|
167
|
+
test_pool_statistics = all_statistics.statistics.find { |i| i.pool_name == @test_pool_name }
|
168
|
+
# => #<IControl::LocalLB::Pool::PoolStatisticEntry:0xa492f8c @attributes={:pool_name=>@test_pool_name, :statistics=>["<..... The statistics for a given pool
|
170
169
|
test_pool_statistics.statistics
|
171
170
|
# => [#<IControl::Common::Statistic:0xa497d34 @attributes={:type=>:STATISTIC_SERVER_SIDE_BYTES_IN, :value=>#<IControl::Common::ULong64:0xa497d98 @attributes={:high=>"0", :low=>"0", :id=>nil}>, :time_stamp=>"0", :id=>nil}>, #<IControl::Common::Statistic:0xa497780.... The actual values
|
172
171
|
|
@@ -284,7 +283,7 @@ describe IControl::LocalLB::Pool do
|
|
284
283
|
end
|
285
284
|
|
286
285
|
it "works this way" do
|
287
|
-
@pool.lb_method
|
286
|
+
@pool.lb_method
|
288
287
|
# => :LB_METHOD_DYNAMIC_RATIO
|
289
288
|
end
|
290
289
|
|
@@ -334,7 +333,7 @@ describe IControl::LocalLB::Pool do
|
|
334
333
|
end
|
335
334
|
|
336
335
|
it "works this way" do
|
337
|
-
|
336
|
+
@pool.minimum_active_member
|
338
337
|
# => 0
|
339
338
|
end
|
340
339
|
|
@@ -353,7 +352,7 @@ describe IControl::LocalLB::Pool do
|
|
353
352
|
end
|
354
353
|
|
355
354
|
it "works this way" do
|
356
|
-
@pool.minimum_up_member
|
355
|
+
@pool.minimum_up_member
|
357
356
|
# => 0
|
358
357
|
end
|
359
358
|
|
@@ -421,7 +420,7 @@ describe IControl::LocalLB::Pool do
|
|
421
420
|
describe "#monitor_instance" do
|
422
421
|
|
423
422
|
before(:each) do
|
424
|
-
IControl::LocalLB::Pool.set_monitor_association(:monitor_association => {:pool_name =>
|
423
|
+
IControl::LocalLB::Pool.set_monitor_association(:monitor_association => {:pool_name => @test_pool_name,:monitor_rule => {:type => IControl::LocalLB::MonitorRuleType::MONITOR_RULE_TYPE_SINGLE,:monitor_templates => ["tcp"],:quorum => 0} })
|
425
424
|
end
|
426
425
|
|
427
426
|
it "should return without raising any exception" do
|
@@ -567,7 +566,7 @@ describe IControl::LocalLB::Pool do
|
|
567
566
|
|
568
567
|
it "works this way" do
|
569
568
|
statistics = @pool.statistics
|
570
|
-
statistics.time_stamp
|
569
|
+
statistics.time_stamp
|
571
570
|
# => #<IControl::Common::TimeStamp:0x7f4bdea1f5c8 @attributes={:month=>"1", :year=>"2011", :second=>"46", :hour=>"14", :day=>"4", :id=>nil, :minute=>"33"}>
|
572
571
|
statistics.statistics.statistics.first.type
|
573
572
|
# => :STATISTIC_SERVER_SIDE_BYTES_IN
|
@@ -590,7 +589,7 @@ describe IControl::LocalLB::Pool do
|
|
590
589
|
end
|
591
590
|
|
592
591
|
it "works this way" do
|
593
|
-
@pool.version
|
592
|
+
@pool.version
|
594
593
|
# => "BIG-IP_v10.0.1"
|
595
594
|
end
|
596
595
|
|
@@ -619,17 +618,17 @@ describe IControl::LocalLB::Pool do
|
|
619
618
|
|
620
619
|
describe "#set_monitor_association" do
|
621
620
|
it "Sets/creates the monitor associations for the specified pools. This basically creates the monitor associations between a pool and a monitor rule." do
|
622
|
-
lambda { IControl::LocalLB::Pool.set_monitor_association(:monitor_association => {:pool_name =>
|
621
|
+
lambda { IControl::LocalLB::Pool.set_monitor_association(:monitor_association => {:pool_name => @test_pool_name,:monitor_rule => {:type => IControl::LocalLB::MonitorRuleType::MONITOR_RULE_TYPE_SINGLE,:monitor_templates => ["tcp"],:quorum => 0} })}.should_not raise_exception
|
623
622
|
end
|
624
623
|
|
625
624
|
it "works this way" do
|
626
625
|
IControl::LocalLB::Pool.set_monitor_association(:monitor_association =>
|
627
|
-
{:pool_name =>
|
626
|
+
{:pool_name => @test_pool_name,
|
628
627
|
:monitor_rule => {
|
629
628
|
:type => IControl::LocalLB::MonitorRuleType::MONITOR_RULE_TYPE_SINGLE,
|
630
629
|
:monitor_templates => ["http"],
|
631
630
|
:quorum => 0}
|
632
|
-
})
|
631
|
+
})
|
633
632
|
# Note that this does not add a new monitor association but replaces the one currently set
|
634
633
|
end
|
635
634
|
end
|
@@ -15,7 +15,7 @@ describe IControl::LocalLB::ProfileHttpClass do
|
|
15
15
|
|
16
16
|
describe "#add_cookie_match_pattern" do
|
17
17
|
it "Adds to the lists of patterns used to match the cookies." do
|
18
|
-
@profile_http_class.cookie_match_pattern.values.should
|
18
|
+
@profile_http_class.cookie_match_pattern.values.should == nil
|
19
19
|
@profile_http_class.add_cookie_match_pattern(:patterns => [{:pattern => "/test/",:is_glob => false}])
|
20
20
|
@profile_http_class.add_cookie_match_pattern(:patterns => [{:pattern => "/test/2",:is_glob => true }])
|
21
21
|
@profile_http_class.cookie_match_pattern.values.length.should == 2
|
@@ -28,7 +28,7 @@ describe IControl::LocalLB::ProfileHttpClass do
|
|
28
28
|
|
29
29
|
describe "#add_header_match_pattern" do
|
30
30
|
it "Adds to the lists of patterns used to match the headers." do
|
31
|
-
@profile_http_class.header_match_pattern.values.should
|
31
|
+
@profile_http_class.header_match_pattern.values.should == nil
|
32
32
|
@profile_http_class.add_header_match_pattern(:patterns => [{:pattern => "/test/",:is_glob => false}])
|
33
33
|
@profile_http_class.add_header_match_pattern(:patterns => [{:pattern => "/test/2",:is_glob => true }])
|
34
34
|
@profile_http_class.header_match_pattern.values.length.should == 2
|
@@ -41,7 +41,7 @@ describe IControl::LocalLB::ProfileHttpClass do
|
|
41
41
|
|
42
42
|
describe "#add_host_match_pattern" do
|
43
43
|
it "Adds to the lists of patterns used to match the hosts." do
|
44
|
-
@profile_http_class.host_match_pattern.values.should
|
44
|
+
@profile_http_class.host_match_pattern.values.should == nil
|
45
45
|
@profile_http_class.add_host_match_pattern(:patterns => [{:pattern => "/test/",:is_glob => false}])
|
46
46
|
@profile_http_class.add_host_match_pattern(:patterns => [{:pattern => "/test/2",:is_glob => true }])
|
47
47
|
@profile_http_class.host_match_pattern.values.length.should == 2
|
@@ -54,7 +54,7 @@ describe IControl::LocalLB::ProfileHttpClass do
|
|
54
54
|
|
55
55
|
describe "#add_path_match_pattern" do
|
56
56
|
it "Adds to the lists of patterns used to match the URI paths." do
|
57
|
-
@profile_http_class.path_match_pattern.values.should
|
57
|
+
@profile_http_class.path_match_pattern.values.should == nil
|
58
58
|
@profile_http_class.add_path_match_pattern(:patterns => [{:pattern => "/test/",:is_glob => false}])
|
59
59
|
@profile_http_class.add_path_match_pattern(:patterns => [{:pattern => "/test/2",:is_glob => true }])
|
60
60
|
@profile_http_class.path_match_pattern.values.length.should == 2
|
@@ -83,11 +83,11 @@ describe IControl::LocalLB::ProfileHttpClass do
|
|
83
83
|
|
84
84
|
describe "#delete_all_profiles" do
|
85
85
|
it "Deletes all HTTP class profiles." do
|
86
|
-
pending "I not deleting all of the profiles just for the sake of it !"
|
86
|
+
pending "I'm not deleting all of the profiles just for the sake of it !"
|
87
87
|
end
|
88
88
|
|
89
89
|
it "works this way" do
|
90
|
-
pending "I not deleting all of the profiles just for the sake of it !"
|
90
|
+
pending "I'm not deleting all of the profiles just for the sake of it !"
|
91
91
|
end
|
92
92
|
end
|
93
93
|
|
@@ -250,7 +250,7 @@ describe IControl::LocalLB::ProfileHttpClass do
|
|
250
250
|
end
|
251
251
|
|
252
252
|
it "works this way" do
|
253
|
-
@profile_http_class.pool_name
|
253
|
+
@profile_http_class.pool_name
|
254
254
|
end
|
255
255
|
|
256
256
|
it "returns an instance of IControl::LocalLB::ProfileString" do
|
@@ -264,15 +264,16 @@ describe IControl::LocalLB::ProfileHttpClass do
|
|
264
264
|
end
|
265
265
|
|
266
266
|
it "Gets the string (which may include a TCL expression) to indicates where to redirect the original HTTP request once a match occurs. For example, to redirect requests to https://myserver.com to http://myotherserver.com." do
|
267
|
-
|
267
|
+
@profile_http_class.redirect_location.should_not be_nil
|
268
268
|
end
|
269
269
|
|
270
270
|
it "works this way" do
|
271
|
-
|
271
|
+
@profile_http_class.redirect_location
|
272
|
+
# => #<IControl::LocalLB::ProfileString:0xa9b4790 @attributes={:value=>nil, :default_flag=>"true"}>
|
272
273
|
end
|
273
274
|
|
274
275
|
it "returns an instance of ProfileString" do
|
275
|
-
|
276
|
+
@profile_http_class.redirect_location.class == IControl::LocalLB::ProfileString
|
276
277
|
end
|
277
278
|
end
|
278
279
|
|
@@ -282,15 +283,16 @@ describe IControl::LocalLB::ProfileHttpClass do
|
|
282
283
|
end
|
283
284
|
|
284
285
|
it "Gets the strings (which may include a TCL expression) with which to rewrite the URLs." do
|
285
|
-
|
286
|
+
@profile_http_class.rewrite_url.should_not be_nil
|
286
287
|
end
|
287
288
|
|
288
289
|
it "works this way" do
|
289
|
-
|
290
|
+
@profile_http_class.rewrite_url
|
291
|
+
# => #<IControl::LocalLB::ProfileString:0xa9b4790 @attributes={:value=>nil, :default_flag=>"true"}>
|
290
292
|
end
|
291
293
|
|
292
294
|
it "returns an instance of ProfileString" do
|
293
|
-
|
295
|
+
@profile_http_class.rewrite_url.class.should == IControl::LocalLB::ProfileString
|
294
296
|
end
|
295
297
|
end
|
296
298
|
|
@@ -300,15 +302,7 @@ describe IControl::LocalLB::ProfileHttpClass do
|
|
300
302
|
end
|
301
303
|
|
302
304
|
it "Gets the statistics for the specified profiles." do
|
303
|
-
|
304
|
-
end
|
305
|
-
|
306
|
-
it "works this way" do
|
307
|
-
pending
|
308
|
-
end
|
309
|
-
|
310
|
-
it "returns an instance of ProfileHttpClassStatistics" do
|
311
|
-
pending
|
305
|
+
@profile_http_class.statistics.should_not be_nil
|
312
306
|
end
|
313
307
|
end
|
314
308
|
|
@@ -318,15 +312,16 @@ describe IControl::LocalLB::ProfileHttpClass do
|
|
318
312
|
end
|
319
313
|
|
320
314
|
it "Gets the version information for this interface." do
|
321
|
-
|
315
|
+
@profile_http_class.version.should_not be_nil
|
322
316
|
end
|
323
317
|
|
324
318
|
it "works this way" do
|
325
|
-
|
319
|
+
@profile_http_class.version
|
320
|
+
# => "BIGIP..."
|
326
321
|
end
|
327
322
|
|
328
323
|
it "returns an instance of String" do
|
329
|
-
|
324
|
+
@profile_http_class.version.class.should == String
|
330
325
|
end
|
331
326
|
end
|
332
327
|
|
@@ -336,179 +331,266 @@ describe IControl::LocalLB::ProfileHttpClass do
|
|
336
331
|
end
|
337
332
|
|
338
333
|
it "Gets the states that specify whether specified classes are Web Accelerator classes." do
|
339
|
-
|
334
|
+
@profile_http_class.web_accelerator_module_enabled_state.should_not be_nil
|
340
335
|
end
|
341
336
|
|
342
337
|
it "works this way" do
|
343
|
-
|
338
|
+
@profile_http_class.web_accelerator_module_enabled_state
|
339
|
+
# => #<IControl::LocalLB::ProfileEnabledState:0xa10facc @attributes={:value=>:STATE_DISABLED, :default_flag=>"true"}>
|
344
340
|
end
|
345
341
|
|
346
342
|
it "returns an instance of ProfileEnabledState" do
|
347
|
-
|
343
|
+
@profile_http_class.web_accelerator_module_enabled_state.class.should == IControl::LocalLB::ProfileEnabledState
|
348
344
|
end
|
349
345
|
end
|
350
346
|
|
351
347
|
describe "#is_base_profile" do
|
348
|
+
|
352
349
|
it "Determines whether the specified profiles are base/pre-configured profiles, or user-defined profiles." do
|
353
|
-
|
350
|
+
@profile_http_class.is_base_profile.should_not == true
|
351
|
+
IControl::LocalLB::ProfileHttpClass.find("httpclass").is_base_profile.should == true
|
354
352
|
end
|
355
353
|
|
356
354
|
it "works this way" do
|
357
|
-
|
355
|
+
@profile_http_class.is_base_profile
|
356
|
+
# => false
|
357
|
+
IControl::LocalLB::ProfileHttpClass.find("httpclass")
|
358
|
+
# => true
|
358
359
|
end
|
359
360
|
|
360
|
-
it "returns an instance of boolean" do
|
361
|
-
pending
|
362
|
-
end
|
363
361
|
end
|
364
362
|
|
365
363
|
describe "#remove_cookie_match_pattern" do
|
366
364
|
it "Removes from the lists of patterns used to match the cookies." do
|
367
|
-
|
365
|
+
@profile_http_class.cookie_match_pattern.values.should == nil
|
366
|
+
@profile_http_class.add_cookie_match_pattern(:patterns => [{:pattern => "/test/",:is_glob => false}])
|
367
|
+
@profile_http_class.add_cookie_match_pattern(:patterns => [{:pattern => "/test/2",:is_glob => true }])
|
368
|
+
@profile_http_class.cookie_match_pattern.values.length.should == 2
|
369
|
+
@profile_http_class.remove_cookie_match_pattern(:patterns => [{:pattern => "/test/",:is_glob => false}])
|
370
|
+
@profile_http_class.remove_cookie_match_pattern(:patterns => [{:pattern => "/test/2",:is_glob => true }])
|
371
|
+
@profile_http_class.cookie_match_pattern.values.should == nil
|
368
372
|
end
|
369
373
|
|
370
374
|
it "works this way" do
|
371
|
-
|
375
|
+
@profile_http_class.cookie_match_pattern.values
|
376
|
+
# => nil
|
377
|
+
@profile_http_class.add_cookie_match_pattern(:patterns => [{:pattern => "/test/",:is_glob => false}])
|
378
|
+
@profile_http_class.add_cookie_match_pattern(:patterns => [{:pattern => "/test/2",:is_glob => true }])
|
379
|
+
@profile_http_class.cookie_match_pattern.values.length
|
380
|
+
# => 2
|
381
|
+
@profile_http_class.remove_cookie_match_pattern(:patterns => [{:pattern => "/test/",:is_glob => false}])
|
382
|
+
@profile_http_class.remove_cookie_match_pattern(:patterns => [{:pattern => "/test/2",:is_glob => true }])
|
383
|
+
@profile_http_class.cookie_match_pattern.values
|
384
|
+
# => nil
|
372
385
|
end
|
373
386
|
end
|
374
387
|
|
375
388
|
describe "#remove_header_match_pattern" do
|
376
389
|
it "Removes from the lists of patterns used to match the headers." do
|
377
|
-
|
390
|
+
@profile_http_class.header_match_pattern.values.should == nil
|
391
|
+
@profile_http_class.add_header_match_pattern(:patterns => [{:pattern => "/test/",:is_glob => false}])
|
392
|
+
@profile_http_class.add_header_match_pattern(:patterns => [{:pattern => "/test/2",:is_glob => true }])
|
393
|
+
@profile_http_class.header_match_pattern.values.length.should == 2
|
394
|
+
@profile_http_class.remove_header_match_pattern(:patterns => [{:pattern => "/test/",:is_glob => false}])
|
395
|
+
@profile_http_class.remove_header_match_pattern(:patterns => [{:pattern => "/test/2",:is_glob => true }])
|
396
|
+
@profile_http_class.header_match_pattern.values.should == nil
|
378
397
|
end
|
379
398
|
|
380
399
|
it "works this way" do
|
381
|
-
|
400
|
+
@profile_http_class.header_match_pattern.values
|
401
|
+
# => nil
|
402
|
+
@profile_http_class.add_header_match_pattern(:patterns => [{:pattern => "/test/",:is_glob => false}])
|
403
|
+
@profile_http_class.add_header_match_pattern(:patterns => [{:pattern => "/test/2",:is_glob => true }])
|
404
|
+
@profile_http_class.header_match_pattern.values.length
|
405
|
+
# => 2
|
406
|
+
@profile_http_class.remove_header_match_pattern(:patterns => [{:pattern => "/test/",:is_glob => false}])
|
407
|
+
@profile_http_class.remove_header_match_pattern(:patterns => [{:pattern => "/test/2",:is_glob => true }])
|
408
|
+
@profile_http_class.header_match_pattern.values
|
409
|
+
# => nil
|
382
410
|
end
|
383
411
|
end
|
384
412
|
|
385
413
|
describe "#remove_host_match_pattern" do
|
386
414
|
it "Removes from the lists of patterns used to match the hosts." do
|
387
|
-
|
415
|
+
@profile_http_class.host_match_pattern.values.should == nil
|
416
|
+
@profile_http_class.add_host_match_pattern(:patterns => [{:pattern => "/test/",:is_glob => false}])
|
417
|
+
@profile_http_class.add_host_match_pattern(:patterns => [{:pattern => "/test/2",:is_glob => true }])
|
418
|
+
@profile_http_class.host_match_pattern.values.length.should == 2
|
419
|
+
@profile_http_class.remove_host_match_pattern(:patterns => [{:pattern => "/test/",:is_glob => false}])
|
420
|
+
@profile_http_class.remove_host_match_pattern(:patterns => [{:pattern => "/test/2",:is_glob => true }])
|
421
|
+
@profile_http_class.host_match_pattern.values.should == nil
|
388
422
|
end
|
389
423
|
|
390
424
|
it "works this way" do
|
391
|
-
|
425
|
+
@profile_http_class.host_match_pattern.values
|
426
|
+
# => nil
|
427
|
+
@profile_http_class.add_host_match_pattern(:patterns => [{:pattern => "/test/",:is_glob => false}])
|
428
|
+
@profile_http_class.add_host_match_pattern(:patterns => [{:pattern => "/test/2",:is_glob => true }])
|
429
|
+
@profile_http_class.host_match_pattern.values.length
|
430
|
+
# => 2
|
431
|
+
@profile_http_class.remove_host_match_pattern(:patterns => [{:pattern => "/test/",:is_glob => false}])
|
432
|
+
@profile_http_class.remove_host_match_pattern(:patterns => [{:pattern => "/test/2",:is_glob => true }])
|
433
|
+
@profile_http_class.host_match_pattern.values
|
434
|
+
# => nil
|
392
435
|
end
|
393
436
|
end
|
394
437
|
|
395
438
|
describe "#remove_path_match_pattern" do
|
396
439
|
it "Removes from the lists of patterns used to match the URI paths." do
|
397
|
-
|
440
|
+
@profile_http_class.path_match_pattern.values.should == nil
|
441
|
+
@profile_http_class.add_path_match_pattern(:patterns => [{:pattern => "/test/",:is_glob => false}])
|
442
|
+
@profile_http_class.add_path_match_pattern(:patterns => [{:pattern => "/test/2",:is_glob => true }])
|
443
|
+
@profile_http_class.path_match_pattern.values.length.should == 2
|
444
|
+
@profile_http_class.remove_path_match_pattern(:patterns => [{:pattern => "/test/",:is_glob => false}])
|
445
|
+
@profile_http_class.remove_path_match_pattern(:patterns => [{:pattern => "/test/2",:is_glob => true }])
|
446
|
+
@profile_http_class.path_match_pattern.values.should == nil
|
398
447
|
end
|
399
448
|
|
400
449
|
it "works this way" do
|
401
|
-
|
450
|
+
@profile_http_class.path_match_pattern.values
|
451
|
+
# => nil
|
452
|
+
@profile_http_class.add_path_match_pattern(:patterns => [{:pattern => "/test/",:is_glob => false}])
|
453
|
+
@profile_http_class.add_path_match_pattern(:patterns => [{:pattern => "/test/2",:is_glob => true }])
|
454
|
+
@profile_http_class.path_match_pattern.values.length
|
455
|
+
# => 2
|
456
|
+
@profile_http_class.remove_path_match_pattern(:patterns => [{:pattern => "/test/",:is_glob => false}])
|
457
|
+
@profile_http_class.remove_path_match_pattern(:patterns => [{:pattern => "/test/2",:is_glob => true }])
|
458
|
+
@profile_http_class.path_match_pattern.values
|
459
|
+
# => nil
|
402
460
|
end
|
403
461
|
end
|
404
462
|
|
405
463
|
describe "#reset_statistics" do
|
406
464
|
it "Resets the statistics for the specified profiles." do
|
407
|
-
|
465
|
+
lambda { @profile_http_class.reset_statistics }.should_not raise_exception
|
408
466
|
end
|
409
467
|
|
410
468
|
it "works this way" do
|
411
|
-
|
469
|
+
@profile_http_class.reset_statistics
|
470
|
+
# => Statistics reset
|
412
471
|
end
|
413
472
|
end
|
414
473
|
|
415
474
|
describe "#set_application_security_module_enabled_state" do
|
416
475
|
it "Sets the states that specify whether specified classes are Application Security Module classes." do
|
417
|
-
|
476
|
+
value_before = @profile_http_class.application_security_module_enabled_state.value
|
477
|
+
@profile_http_class.set_application_security_module_enabled_state(:state => {:value => IControl::Common::EnabledState::STATE_ENABLED,:default_flag => false})
|
478
|
+
@profile_http_class.application_security_module_enabled_state.value.should_not == value_before
|
418
479
|
end
|
419
480
|
|
420
481
|
it "works this way" do
|
421
|
-
|
482
|
+
@profile_http_class.set_application_security_module_enabled_state(:state => {:value => IControl::Common::EnabledState::STATE_ENABLED,:default_flag => false})
|
422
483
|
end
|
423
484
|
end
|
424
485
|
|
425
486
|
describe "#set_default_cookie_match_pattern" do
|
426
487
|
it "Resets the lists to parent defaults." do
|
427
|
-
|
428
|
-
end
|
429
|
-
|
430
|
-
it "works this way" do
|
431
|
-
pending
|
488
|
+
lambda { @profile_http_class.set_default_cookie_match_pattern }.should_not raise_exception
|
432
489
|
end
|
433
490
|
end
|
434
491
|
|
435
492
|
describe "#set_default_header_match_pattern" do
|
436
493
|
it "Resets the lists to parent defaults." do
|
437
|
-
|
438
|
-
end
|
439
|
-
|
440
|
-
it "works this way" do
|
441
|
-
pending
|
494
|
+
lambda { @profile_http_class.set_default_header_match_pattern }.should_not raise_exception
|
442
495
|
end
|
443
496
|
end
|
444
497
|
|
445
498
|
describe "#set_default_host_match_pattern" do
|
446
499
|
it "Resets the lists to parent defaults." do
|
447
|
-
|
448
|
-
end
|
449
|
-
|
450
|
-
it "works this way" do
|
451
|
-
pending
|
500
|
+
lambda { @profile_http_class.set_default_host_match_pattern }.should_not raise_exception
|
452
501
|
end
|
453
502
|
end
|
454
503
|
|
455
504
|
describe "#set_default_path_match_pattern" do
|
456
505
|
it "Resets the lists to parent defaults." do
|
457
|
-
|
458
|
-
end
|
459
|
-
|
460
|
-
it "works this way" do
|
461
|
-
pending
|
506
|
+
lambda { @profile_http_class.set_default_path_match_pattern }.should_not raise_exception
|
462
507
|
end
|
463
508
|
end
|
464
509
|
|
465
510
|
describe "#set_default_profile" do
|
466
511
|
it "Sets the names of the default profiles from which the specified profiles will derive default values for its attributes." do
|
467
|
-
|
512
|
+
lambda { @profile_http_class.set_default_profile(:default => "httpclass") }.should_not raise_exception
|
468
513
|
end
|
469
514
|
|
470
515
|
it "works this way" do
|
471
|
-
|
516
|
+
@profile_http_class.set_default_profile(:default => "httpclass")
|
472
517
|
end
|
473
518
|
end
|
474
519
|
|
475
520
|
describe "#set_pool_name" do
|
521
|
+
|
522
|
+
before(:each) do
|
523
|
+
@pool_name = "___test_pool____"
|
524
|
+
IControl::LocalLB::Pool.create(:pool_name => @pool_name,
|
525
|
+
:lb_method => IControl::LocalLB::LBMethod::LB_METHOD_ROUND_ROBIN,
|
526
|
+
:members => [{:address => "192.168.50.1",:port => "80"},
|
527
|
+
{:address => "192.168.50.2",:port => "80"},
|
528
|
+
{:address => "192.168.50.3",:port => "80"},
|
529
|
+
{:address => "192.168.50.4",:port => "80"},
|
530
|
+
{:address => "192.168.50.5",:port => "80"},
|
531
|
+
{:address => "192.168.50.6",:port => "80"}
|
532
|
+
])
|
533
|
+
end
|
534
|
+
|
535
|
+
after(:each) do
|
536
|
+
@pool = IControl::LocalLB::Pool.find(@pool_name)
|
537
|
+
@pool.delete_pool
|
538
|
+
end
|
539
|
+
|
476
540
|
it "Sets the pool names to use when the specified classes match." do
|
477
|
-
|
541
|
+
|
542
|
+
@profile_http_class.set_pool_name(:pool_name => {:value => @pool_name,:default_flag => false})
|
543
|
+
@profile_http_class.pool_name.value.should == @pool_name
|
544
|
+
@profile_http_class.set_pool_name(:pool_name => {:value => nil,:default_flag => false})
|
545
|
+
@profile_http_class.pool_name.value.should be_nil
|
546
|
+
|
478
547
|
end
|
479
548
|
|
480
549
|
it "works this way" do
|
481
|
-
|
550
|
+
@profile_http_class.set_pool_name(:pool_name => {:value => @pool_name,:default_flag => false})
|
551
|
+
# This sets the pool
|
552
|
+
@profile_http_class.set_pool_name(:pool_name => {:value => nil,:default_flag => false})
|
553
|
+
# This empty it
|
482
554
|
end
|
483
555
|
end
|
484
556
|
|
485
557
|
describe "#set_redirect_location" do
|
486
558
|
it "Sets the string (which may include a TCL expression) to indicates where to redirect the original HTTP request once a match occurs. For example, to redirect requests to https://myserver.com to http://myotherserver.com." do
|
487
|
-
|
559
|
+
@profile_http_class.redirect_location.value.should == nil
|
560
|
+
@profile_http_class.set_redirect_location(:redirect_location => {:default_flag => false, :value => "http://test.test.com"})
|
561
|
+
@profile_http_class.redirect_location.value.should == "http://test.test.com"
|
488
562
|
end
|
489
563
|
|
490
564
|
it "works this way" do
|
491
|
-
|
565
|
+
@profile_http_class.set_redirect_location(:redirect_location => {:default_flag => false, :value => "http://test.test.com"})
|
492
566
|
end
|
493
567
|
end
|
494
568
|
|
495
569
|
describe "#set_rewrite_url" do
|
496
570
|
it "Sets the strings (which may include a TCL expression) with which to rewrite the URLs." do
|
497
|
-
|
571
|
+
@profile_http_class.rewrite_url.value.should == nil
|
572
|
+
@profile_http_class.set_rewrite_url(:url => {:default_flag => false, :value => "http://test.test.com"})
|
573
|
+
@profile_http_class.rewrite_url.value.should == "http://test.test.com"
|
498
574
|
end
|
499
575
|
|
500
576
|
it "works this way" do
|
501
|
-
|
577
|
+
@profile_http_class.set_rewrite_url(:url => {:default_flag => false, :value => "http://test.test.com"})
|
502
578
|
end
|
503
579
|
end
|
504
580
|
|
505
581
|
describe "#set_web_accelerator_module_enabled_state" do
|
506
582
|
it "Sets the states that specify whether specified classes are Web Accelerator classes." do
|
507
|
-
|
583
|
+
value_before = @profile_http_class.web_accelerator_module_enabled_state.value
|
584
|
+
@profile_http_class.set_web_accelerator_module_enabled_state(:state => {:value => IControl::Common::EnabledState::STATE_ENABLED,
|
585
|
+
:default_flag => false})
|
586
|
+
@profile_http_class.web_accelerator_module_enabled_state.value.should_not == value_before
|
508
587
|
end
|
509
588
|
|
510
589
|
it "works this way" do
|
511
|
-
|
590
|
+
@profile_http_class.set_web_accelerator_module_enabled_state(:state => {
|
591
|
+
:value => IControl::Common::EnabledState::STATE_ENABLED,
|
592
|
+
:default_flag => false}
|
593
|
+
)
|
512
594
|
end
|
513
595
|
end
|
514
596
|
end
|