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)
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)
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 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 test_delete(self): mock_context = mock.Mock() role = Role(mock_context, Config1) role.delete()
def test_create(self): mock_context = mock.Mock() role = Role(mock_context, Config2) role.create()
def test_not_exists(self): mock_context = mock.Mock() role = Role(mock_context, Config2) self.assertFalse(role.exists())
def test_exists(self): mock_context = mock.Mock() role = Role(mock_context, Config1) self.assertTrue(role.exists())
def test_properties(self): mock_context = mock.Mock() role = Role(mock_context, Config1) self.assertEqual(role.name, Config1['name'])