class TestSNSTopicHelper(unittest.TestCase): def setUp(self): self.sns_client = mock.Mock() self.helper = SNSTopicHelper(self.sns_client) def test_sns_topic_by_name(self): name = 'mysnstopic' self.sns_client.create_topic.return_value = {'TopicArn': 'myARN'} sns_arn = self.helper.prepare_topic(name) # Ensure that the topic was create and returned the expected arn self.assertTrue(self.sns_client.create_topic.called) self.assertEqual(sns_arn, 'myARN') def test_sns_topic_by_arn(self): name = 'arn:aws:sns:us-east-1:934212987125:config' sns_arn = self.helper.prepare_topic(name) # Ensure that the topic was not created and returned the expected arn self.assertFalse(self.sns_client.create_topic.called) self.assertEqual(sns_arn, name)
class TestSNSTopicHelper(unittest.TestCase): def setUp(self): self.session = botocore.session.get_session() self.sns_client = mock.Mock( self.session.create_client('sns', 'us-east-1')) self.helper = SNSTopicHelper(self.sns_client) def test_sns_topic_by_name(self): name = 'mysnstopic' self.sns_client.create_topic.return_value = {'TopicArn': 'myARN'} sns_arn = self.helper.prepare_topic(name) # Ensure that the topic was create and returned the expected arn self.assertTrue(self.sns_client.create_topic.called) self.assertEqual(sns_arn, 'myARN') def test_sns_topic_by_arn(self): name = 'arn:aws:sns:us-east-1:934212987125:config' sns_arn = self.helper.prepare_topic(name) # Ensure that the topic was not created and returned the expected arn self.assertFalse(self.sns_client.create_topic.called) self.assertEqual(sns_arn, name) def test_output_existing_topic(self): name = 'mysnstopic' self.sns_client.create_topic.return_value = {'TopicArn': 'myARN'} with mock.patch('sys.stdout', StringIO()) as mock_stdout: self.helper.prepare_topic(name) self.assertIn('Using new SNS topic: myARN', mock_stdout.getvalue()) def test_output_new_topic(self): name = 'arn:aws:sns:us-east-1:934212987125:config' with mock.patch('sys.stdout', StringIO()) as mock_stdout: self.helper.prepare_topic(name) self.assertIn('Using existing SNS topic: %s' % name, mock_stdout.getvalue())
class TestSNSTopicHelper(unittest.TestCase): def setUp(self): self.session = botocore.session.get_session() self.sns_client = mock.Mock(self.session.create_client( 'sns', 'us-east-1')) self.helper = SNSTopicHelper(self.sns_client) def test_sns_topic_by_name(self): name = 'mysnstopic' self.sns_client.create_topic.return_value = {'TopicArn': 'myARN'} sns_arn = self.helper.prepare_topic(name) # Ensure that the topic was create and returned the expected arn self.assertTrue(self.sns_client.create_topic.called) self.assertEqual(sns_arn, 'myARN') def test_sns_topic_by_arn(self): name = 'arn:aws:sns:us-east-1:934212987125:config' sns_arn = self.helper.prepare_topic(name) # Ensure that the topic was not created and returned the expected arn self.assertFalse(self.sns_client.create_topic.called) self.assertEqual(sns_arn, name) def test_output_existing_topic(self): name = 'mysnstopic' self.sns_client.create_topic.return_value = {'TopicArn': 'myARN'} with mock.patch('sys.stdout', StringIO()) as mock_stdout: self.helper.prepare_topic(name) self.assertIn( 'Using new SNS topic: myARN', mock_stdout.getvalue()) def test_output_new_topic(self): name = 'arn:aws:sns:us-east-1:934212987125:config' with mock.patch('sys.stdout', StringIO()) as mock_stdout: self.helper.prepare_topic(name) self.assertIn( 'Using existing SNS topic: %s' % name, mock_stdout.getvalue())