def test_read_record_with_no_key(self): """ Read a existing record that does not exist with ara_read """ task = MagicMock(Task) task. async = MagicMock() task.args = { 'key': 'key', } action = ara_read.ActionModule(task, self.connection, self.play_context, loader=None, templar=None, shared_loader_obj=None) data = action.run() r_playbook = m.Playbook.query.first() self.assertIsNotNone(r_playbook) # There is no exception raised in the action module, we instead # properly return a failure status to Ansible. # If there is a failure, no data will be returned so we can catch this. with self.assertRaises(Exception): m.Data.query.filter_by(playbook_id=r_playbook.id, key='key').one() self.assertEqual(data['failed'], True) self.assertEqual(data['playbook_id'], None) self.assertEqual(data['key'], None) self.assertEqual(data['value'], None)
def test_read_record(self): """ Read an existing record with ara_read """ task = MagicMock(Task) task. async = MagicMock() task.args = { 'key': 'test-key', } action = ara_read.ActionModule(task, self.connection, self.play_context, loader=None, templar=None, shared_loader_obj=None) data = action.run() r_playbook = m.Playbook.query.first() self.assertIsNotNone(r_playbook) r_data = m.Data.query.filter_by(playbook_id=r_playbook.id, key='test-key').one() self.assertIsNotNone(r_data) self.assertEqual(r_data.playbook_id, r_playbook.id) self.assertEqual(r_data.key, 'test-key') self.assertEqual(r_data.value, 'test-value') self.assertEqual(r_data.type, 'text') self.assertEqual(data['playbook_id'], r_data.playbook_id) self.assertEqual(data['key'], r_data.key) self.assertEqual(data['value'], r_data.value) self.assertEqual(data['type'], r_data.type)