Add functionality for iam get-user with current user. Closes #480.

This commit is contained in:
Steve Pulec 2017-03-19 11:09:30 -04:00
parent a0a205328d
commit 2d05f8a79a
2 changed files with 15 additions and 2 deletions

View File

@ -1,7 +1,7 @@
from __future__ import unicode_literals from __future__ import unicode_literals
from moto.core.responses import BaseResponse from moto.core.responses import BaseResponse
from .models import iam_backend from .models import iam_backend, User
class IamResponse(BaseResponse): class IamResponse(BaseResponse):
@ -234,7 +234,12 @@ class IamResponse(BaseResponse):
def get_user(self): def get_user(self):
user_name = self._get_param('UserName') user_name = self._get_param('UserName')
user = iam_backend.get_user(user_name) if user_name:
user = iam_backend.get_user(user_name)
else:
user = User(name='default_user')
# If no user is specific, IAM returns the current user
template = self.response_template(USER_TEMPLATE) template = self.response_template(USER_TEMPLATE)
return template.render(action='Get', user=user) return template.render(action='Get', user=user)

View File

@ -213,6 +213,14 @@ def test_get_user():
conn.get_user('my-user') conn.get_user('my-user')
@mock_iam_deprecated()
def test_get_current_user():
"""If no user is specific, IAM returns the current user"""
conn = boto.connect_iam()
user = conn.get_user()['get_user_response']['get_user_result']['user']
user['user_name'].should.equal('default_user')
@mock_iam() @mock_iam()
def test_list_users(): def test_list_users():
path_prefix = '/' path_prefix = '/'