tests/aws/models/elb/model_tests.rb in fog-maestrodev-1.8.0.20130114204828 vs tests/aws/models/elb/model_tests.rb in fog-maestrodev-1.14.0.20130806165225

- old
+ new

@@ -81,11 +81,11 @@ elb2.destroy end # Need to sleep here for IAM changes to propgate tests('with ListenerDescriptions') do - @certificate = Fog::AWS[:iam].upload_server_certificate(AWS::IAM::SERVER_CERT_PUBLIC_KEY, AWS::IAM::SERVER_CERT_PRIVATE_KEY, @key_name).body['Certificate'] + @certificate = Fog::AWS[:iam].upload_server_certificate(AWS::IAM::SERVER_CERT, AWS::IAM::SERVER_CERT_PRIVATE_KEY, @key_name).body['Certificate'] sleep(10) unless Fog.mocking? listeners = [{ 'Listener' => { 'LoadBalancerPort' => 2030, 'InstancePort' => 2030, 'Protocol' => 'HTTP' }, @@ -248,10 +248,11 @@ end tests('create app policy') do elb.policies.create(:id => app_policy_id, :cookie => 'my-app-cookie', :cookie_stickiness => :app) returns(app_policy_id) { elb.policies.first.id } + returns("my-app-cookie") { elb.policies.get(app_policy_id).cookie } end tests('get policy') do returns(app_policy_id) { elb.policies.get(app_policy_id).id } end @@ -268,18 +269,44 @@ end tests('setting a listener policy') do elb.set_listener_policy(80, lb_policy_id) returns([lb_policy_id]) { elb.listeners.get(80).policy_names } + returns(600) { elb.policies.get(lb_policy_id).expiration } end tests('unsetting a listener policy') do elb.unset_listener_policy(80) returns([]) { elb.listeners.get(80).policy_names } end + public_key_policy_id = 'fog-public-key-policy' + tests('create public key policy') do + elb.policies.create(:id => public_key_policy_id, :type_name => 'PublicKeyPolicyType', :policy_attributes => {'PublicKey' => AWS::IAM::SERVER_CERT_PUBLIC_KEY}) + policy = elb.policies.get(public_key_policy_id) + + returns(public_key_policy_id) { policy.id } + returns("PublicKeyPolicyType") { policy.type_name } + returns(AWS::IAM::SERVER_CERT_PUBLIC_KEY) { policy.policy_attributes["PublicKey"] } + end + tests('a malformed policy') do raises(ArgumentError) { elb.policies.create(:id => 'foo', :cookie_stickiness => 'invalid stickiness') } + end + end + + tests('backend server descriptions') do + tests('default') do + returns(0) { elb.backend_server_descriptions.size } + end + + tests('with a backend policy') do + policy = "EnableProxyProtocol" + port = 80 + elb.policies.create(:id => policy, :type_name => 'ProxyProtocolPolicyType', :policy_attributes => { "ProxyProtocol" => true }) + Fog::AWS[:elb].set_load_balancer_policies_for_backend_server(elb.id, port, [policy]).body + elb.reload + returns([policy]) { elb.backend_server_descriptions.get(port).policy_names } end end tests('setting a new ssl certificate id') do elb.listeners.create(:instance_port => 443, :lb_port => 443, :protocol => 'HTTPS', :instance_protocol => 'HTTPS', :ssl_id => @certificate['Arn'])