Sha256: 9d583a8c64c632094331b9deee021bab5c133179a756c69754caaf5962f90eff

Contents?: true

Size: 1.5 KB

Versions: 75

Compression:

Stored size: 1.5 KB

Contents

Shindo.tests("Fog::Compute[:iam] | policies", ['aws','iam']) do

  Fog.mock!
  iam = Fog::AWS[:iam]
  
  @username = 'fake_user'
  @user = iam.users.create(:id => @username)
  @policy_document = {"Statement"=>[{"Action"=>["sqs:*"], "Effect"=>"Allow", "Resource"=>"*"}]}
  @policy_name = 'fake-sqs-policy'
  
  tests('#all', 'there is no policies').succeeds do
    @user.policies.empty?
  end
  
  tests('#create') do 
    tests('a valid policy').succeeds do
      policy = @user.policies.create(:id => @policy_name, :document => @policy_document)
      policy.id == @policy_name
      policy.username == @username
      policy.document == @policy_document
    end
    
    # The mocking doesn't validate the document policy
    #tests('an invalid valid policy').succeeds do
    #  raises(Fog::AWS::IAM::Error) { @user.policies.create(id: 'non-valid-document', document: 'invalid json blob') }
    #end
  end
  
  @user.policies.create(:id => 'another-policy', :document => {})
  
  tests('#all','there are two policies').succeeds do
    @user.policies.size == 2
  end
  
  tests('#get') do
    tests('a valid policy').succeeds do
      policy = @user.policies.get(@policy_name)
      policy.id == @polic_name
      policy.username == @username
      policy.document == @policy_document   
    end
    
    tests('an invalid policy').succeeds do
      @user.policies.get('non-existing') == nil
    end
  end
  
  tests('#destroy').succeeds do
    @user.policies.get(@policy_name).destroy
  end
  
  # clean up
  @user.destroy

  
end

Version data entries

75 entries across 75 versions & 10 rubygems

Version Path
fog-1.22.0 tests/aws/models/iam/policies_tests.rb
fog-1.21.0 tests/aws/models/iam/policies_tests.rb
fog-maestrodev-1.20.0.20140305101839 tests/aws/models/iam/policies_tests.rb
fog-maestrodev-1.20.0.20140305101305 tests/aws/models/iam/policies_tests.rb
fog-maestrodev-1.19.0.20140212012611 tests/aws/models/iam/policies_tests.rb
fog-1.20.0 tests/aws/models/iam/policies_tests.rb
fog-maestrodev-1.19.0.20140110004459 tests/aws/models/iam/policies_tests.rb
fog-maestrodev-1.19.0.20140110003812 tests/aws/models/iam/policies_tests.rb
fog-maestrodev-1.19.0.20140109202555 tests/aws/models/iam/policies_tests.rb
fog-maestrodev-1.19.0.20140107192102 tests/aws/models/iam/policies_tests.rb
fog-maestrodev-1.19.0.20140107142106 tests/aws/models/iam/policies_tests.rb
fog-maestrodev-1.19.0.20131219203941 tests/aws/models/iam/policies_tests.rb
fog-maestrodev-1.18.0.20131219193542 tests/aws/models/iam/policies_tests.rb
fog-1.19.0 tests/aws/models/iam/policies_tests.rb
fog-maestrodev-1.18.0.20131219033443 tests/aws/models/iam/policies_tests.rb
fog-maestrodev-1.18.0.20131219032002 tests/aws/models/iam/policies_tests.rb
fog-maestrodev-1.18.0.20131219030716 tests/aws/models/iam/policies_tests.rb
fog-maestrodev-1.18.0.20131219022322 tests/aws/models/iam/policies_tests.rb
fog-maestrodev-1.18.0.20131218202447 tests/aws/models/iam/policies_tests.rb
fog-maestrodev-1.18.0.20131209091424 tests/aws/models/iam/policies_tests.rb