def test_feeding_sends_an_sqs_message(self, now): now.return_value = datetime.strptime('2016-01-01', '%Y-%m-%d') queue = MagicMock() key = Key() key.bucket = Bucket() key.bucket.name = 'ct-elife-production-final' key.name = 'elife-12345-vor-r1.zip' key.etag = '...' key.size = 2 * 1024 * 1024 econ_article_feeder.initiate_econ_feed(queue, key, 'MyArticleWorkflow') self.assertEqual(len(queue.method_calls), 1) (_, args, _) = queue.method_calls[0] message_body = args[0].get_body() self.assertEqual( json.loads(message_body), { 'workflow_name': 'MyArticleWorkflow', 'workflow_data': { 'event_time': '2016-01-01T00:00:00Z', 'event_name': 'ObjectCreated:Put', 'file_name': 'elife-12345-vor-r1.zip', 'file_etag': '...', 'bucket_name': 'ct-elife-production-final', 'file_size': 2 * 1024 * 1024, }, } )