예제 #1
0
class TestRole(unitTest.TestCase):

    def setUp(self):
        self.iam_client = Mock()
        policy = type('Policy', (object,), {
            'arn': None
        })
        self.context = type('Context', (object,), {
            'name': randomword(10),
            'environment': randomword(10),
            'policy': policy
        })
        self.role_record = {
            'RoleName': '%s_%s' % (self.context.name,
                                   self.context.environment),
            'Arn': randomword(10)
        }
        self.role = Role(self.context, None, iam_client=self.iam_client)

    def _expect_get_role(self):
        get_role_resp = {'Role': self.role_record}
        self.iam_client.configure_mock(**{
            'call.return_value': get_role_resp
        })
        return get_role_resp

    def test_delete_no_ops_if_role_not_found(self):
        self.iam_client.configure_mock(**{
            'call.return_value': None
        })
        self.assertEquals(None, self.role.delete())
        self.assertEquals(1, self.iam_client.call.call_count)

    def test_delete_when_role_exists(self):
        get_role_resp = self._expect_get_role()
        self.assertEquals(get_role_resp, self.role.delete())
        self.iam_client.call.assert_has_calls([call('get_role',
                                                    RoleName=self.role.name),
                                               call('delete_role',
                                                    RoleName=self.role.name)])

    def test_delete_policy_when_context_arn_exists(self):
        self.context.policy.arn = randomword(10)
        get_role_resp = self._expect_get_role()
        self.assertEquals(get_role_resp, self.role.delete())
        calls = [call('get_role',
                      RoleName=self.role.name),
                 call('detach_role_policy',
                      RoleName=self.role.name,
                      PolicyArn=self.context.policy.arn),
                 call('delete_role',
                      RoleName=self.role.name)]
        self.iam_client.call.assert_has_calls(calls)
예제 #2
0
파일: test_role.py 프로젝트: garnaat/kappa
class TestRole(unittest.TestCase):

    def setUp(self):
        self.iam_client = Mock()
        policy = type('Policy', (object,), {
            'arn': None
        })
        self.context = type('Context', (object,), {
            'name': randomword(10),
            'environment': randomword(10),
            'policy': policy
        })
        self.role_record = {
            'RoleName': '%s_%s' % (self.context.name,
                                   self.context.environment),
            'Arn': randomword(10)
        }
        self.role = Role(self.context, {'environments': {'dev': {}}}, iam_client=self.iam_client)

    def _expect_get_role(self):
        get_role_resp = {'Role': self.role_record}
        self.iam_client.configure_mock(**{
            'call.return_value': get_role_resp
        })
        return get_role_resp

    def test_delete_no_ops_if_role_not_found(self):
        self.iam_client.configure_mock(**{
            'call.return_value': None
        })
        self.assertEquals(None, self.role.delete())
        self.assertEquals(1, self.iam_client.call.call_count)

    def test_delete_when_role_exists(self):
        get_role_resp = self._expect_get_role()
        self.assertEquals(get_role_resp, self.role.delete())
        self.iam_client.call.assert_has_calls([call('get_role',
                                                    RoleName=self.role.name),
                                               call('delete_role',
                                                    RoleName=self.role.name)])

    def test_delete_policy_when_context_arn_exists(self):
        self.context.policy.arn = randomword(10)
        get_role_resp = self._expect_get_role()
        self.assertEquals(get_role_resp, self.role.delete())
        calls = [call('get_role',
                      RoleName=self.role.name),
                 call('detach_role_policy',
                      RoleName=self.role.name,
                      PolicyArn=self.context.policy.arn),
                 call('delete_role',
                      RoleName=self.role.name)]
        self.iam_client.call.assert_has_calls(calls)
예제 #3
0
 def setUp(self):
     self.iam_client = Mock()
     policy = type('Policy', (object, ), {'arn': None})
     self.context = type(
         'Context', (object, ), {
             'name': randomword(10),
             'environment': randomword(10),
             'policy': policy
         })
     self.role_record = {
         'RoleName':
         '%s_%s' % (self.context.name, self.context.environment),
         'Arn': randomword(10)
     }
     self.role = Role(self.context, None, iam_client=self.iam_client)
예제 #4
0
파일: test_role.py 프로젝트: garnaat/kappa
 def setUp(self):
     self.iam_client = Mock()
     policy = type('Policy', (object,), {
         'arn': None
     })
     self.context = type('Context', (object,), {
         'name': randomword(10),
         'environment': randomword(10),
         'policy': policy
     })
     self.role_record = {
         'RoleName': '%s_%s' % (self.context.name,
                                self.context.environment),
         'Arn': randomword(10)
     }
     self.role = Role(self.context, {'environments': {'dev': {}}}, iam_client=self.iam_client)
예제 #5
0
 def test_delete(self):
     mock_context = mock.Mock()
     role = Role(mock_context, Config1)
     role.delete()
예제 #6
0
 def test_create(self):
     mock_context = mock.Mock()
     role = Role(mock_context, Config2)
     role.create()
예제 #7
0
 def test_not_exists(self):
     mock_context = mock.Mock()
     role = Role(mock_context, Config2)
     self.assertFalse(role.exists())
예제 #8
0
 def test_exists(self):
     mock_context = mock.Mock()
     role = Role(mock_context, Config1)
     self.assertTrue(role.exists())
예제 #9
0
파일: test_role.py 프로젝트: vtzika/kappa
 def test_delete(self):
     mock_context = mock.Mock()
     role = Role(mock_context, Config1)
     role.delete()
예제 #10
0
파일: test_role.py 프로젝트: vtzika/kappa
 def test_create(self):
     mock_context = mock.Mock()
     role = Role(mock_context, Config2)
     role.create()
예제 #11
0
파일: test_role.py 프로젝트: vtzika/kappa
 def test_not_exists(self):
     mock_context = mock.Mock()
     role = Role(mock_context, Config2)
     self.assertFalse(role.exists())
예제 #12
0
파일: test_role.py 프로젝트: vtzika/kappa
 def test_exists(self):
     mock_context = mock.Mock()
     role = Role(mock_context, Config1)
     self.assertTrue(role.exists())
예제 #13
0
파일: test_role.py 프로젝트: vtzika/kappa
 def test_properties(self):
     mock_context = mock.Mock()
     role = Role(mock_context, Config1)
     self.assertEqual(role.name, Config1['name'])