1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00

[AWS|ELB] test that describe_load_balancers mocks properly formats policy results

This commit is contained in:
Michael Hale 2013-08-05 16:46:27 -04:00
parent bb54c5087c
commit d15ba8e804
2 changed files with 24 additions and 3 deletions

View file

@ -109,10 +109,12 @@ module Fog
case policy['PolicyTypeName']
when 'AppCookieStickinessPolicyType'
cookie_name = policy['PolicyAttributeDescriptions'].detect{|h| h['AttributeName'] == 'CookieName'}['AttributeValue']
m['AppCookieStickinessPolicies'] << { 'CookieName' => cookie_name, 'PolicyName' => policy['PolicyName'] }
m['AppCookieStickinessPolicies'] << { 'PolicyName' => policy['PolicyName'], 'CookieName' => cookie_name }
when 'LBCookieStickinessPolicyType'
cookie_expiration_period = policy['PolicyAttributeDescriptions'].detect{|h| h['AttributeName'] == 'CookieExpirationPeriod'}['AttributeValue']
m['LBCookieStickinessPolicies'] << { 'CookieExpirationPeriod' => cookie_expiration_period, 'PolicyName' => policy['PolicyName'] }
cookie_expiration_period = policy['PolicyAttributeDescriptions'].detect{|h| h['AttributeName'] == 'CookieExpirationPeriod'}['AttributeValue'].to_i
lb_policy = { 'PolicyName' => policy['PolicyName'] }
lb_policy['CookieExpirationPeriod'] = cookie_expiration_period if cookie_expiration_period > 0
m['LBCookieStickinessPolicies'] << lb_policy
else
m['OtherPolicies'] << policy['PolicyName']
end

View file

@ -80,6 +80,25 @@ Shindo.tests('AWS::ELB | policy_tests', ['aws', 'elb']) do
end
end
tests("#describe_load_balancer includes all policies") do
lb = Fog::AWS[:elb].describe_load_balancers("LoadBalancerNames" => [@load_balancer_id]).body["DescribeLoadBalancersResult"]["LoadBalancerDescriptions"].first
returns([
{"PolicyName"=>"fog-app-policy", "CookieName"=>"fog-app-cookie"}
]) { lb["Policies"]["AppCookieStickinessPolicies"] }
returns([
{"PolicyName"=>"fog-lb-expiry", "CookieExpirationPeriod"=> 300}
]) { lb["Policies"]["LBCookieStickinessPolicies"].select{|e| e["PolicyName"] == "fog-lb-expiry"} }
returns([
{"PolicyName" => "fog-lb-no-expiry"}
]) { lb["Policies"]["LBCookieStickinessPolicies"].select{|e| e["PolicyName"] == "fog-lb-no-expiry"} }
returns([
"fog-policy"
]) { lb["Policies"]["OtherPolicies"] }
end
tests("#delete_load_balancer_policy").formats(AWS::ELB::Formats::BASIC) do
policy = 'fog-lb-no-expiry'
Fog::AWS[:elb].delete_load_balancer_policy(@load_balancer_id, policy).body