Sha256: 3601d2007d429b0f7cbd0e7c7a983a756c44f5b7d4c22222b170ae9012027ce3

Contents?: true

Size: 1.47 KB

Versions: 14

Compression:

Stored size: 1.47 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

14 entries across 14 versions & 4 rubygems

Version Path
vagrant-cloudstack-1.1.0 vendor/bundle/gems/fog-1.22.1/tests/aws/models/iam/policies_tests.rb
nsidc-fog-1.24.1 tests/aws/models/iam/policies_tests.rb
fog-1.24.0 tests/aws/models/iam/policies_tests.rb
ns-fog-1.22.11 tests/aws/models/iam/policies_tests.rb
ns-fog-1.22.10 tests/aws/models/iam/policies_tests.rb
ns-fog-1.22.9 tests/aws/models/iam/policies_tests.rb
ns-fog-1.22.8 tests/aws/models/iam/policies_tests.rb
ns-fog-1.22.7 tests/aws/models/iam/policies_tests.rb
ns-fog-1.22.6 tests/aws/models/iam/policies_tests.rb
fog-1.23.0 tests/aws/models/iam/policies_tests.rb
ns-fog-1.22.4 tests/aws/models/iam/policies_tests.rb
ns-fog-1.22.3 tests/aws/models/iam/policies_tests.rb
ns-fog-1.22.2 tests/aws/models/iam/policies_tests.rb
fog-1.22.1 tests/aws/models/iam/policies_tests.rb