File: access_keys_tests.rb

package info (click to toggle)
ruby-fog-aws 3.18.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 8,140 kB
  • sloc: ruby: 73,328; javascript: 14; makefile: 9; sh: 4
file content (53 lines) | stat: -rw-r--r-- 1,361 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
Shindo.tests("Fog::Compute[:iam] | access_keys", ['aws','iam']) do

  iam = Fog::AWS[:iam]

  @username = 'fake_user'
  @user = iam.users.create(:id => @username)


  tests('#all', 'there are no access keys for a new user').succeeds do
    @user.access_keys.empty?
  end


  tests('#create','an access key').succeeds do
    access_key = @user.access_keys.create
    access_key.id =~ /[A-Z0-9]{20}/
    access_key.secret_access_key =~ /[\S]{40}/
    access_key.status == "Active"
    access_key.username == @username
    @access_key_id = access_key.id
  end

  @user.access_keys.create

  tests('#all','there are two access keys').succeeds do
    @user.access_keys.size == 2
  end

  tests('#get') do
    tests('a valid access key id').succeeds do
      access_key = @user.access_keys.get(@access_key_id)
      access_key.id == @access_key_id
      access_key.secret_access_key == nil
      access_key.status == "Active"
      access_key.username == @username
    end

    tests('an invalid access key').succeeds do
      @user.access_keys.get('non-existing') == nil
    end
  end

  tests('#destroy', 'decrease by one the number of access keys').succeeds do
    size = @user.access_keys.size
    @user.access_keys.get(@access_key_id).destroy
    @user.access_keys.size == ( size - 1 )
  end

  # clean up
  @user.access_keys.map(&:destroy)
  @user.destroy

end