def __exit__(self, *args): """ Exit from context with cleaning fs temp directory, temporary container and image :param args: list of arguements :return: None """ print('Removing temporary directory') remove_directory(self._temp_directory) if self.container: try: print('Finding container') container = self._docker_client.containers.get( self.container.id) print('Stopping container') container.stop() print('Removing container') container.remove() except Exception as removing_exception: print('Cannot remove container: {}'.format(removing_exception)) if self.image: try: print('Removing image') self._docker_client.images.remove(self.image.id) except Exception as removing_exception: print('Cannot remove image: {}'.format(removing_exception)) if args[0]: raise args[0]
def test_directory_remove(self): temp_directory_path = os.path.join(self._work_directory, 'temp_dir') self.assertFalse(os.path.exists(temp_directory_path)) os.makedirs(temp_directory_path) self.assertTrue(os.path.exists(temp_directory_path)) utils.remove_directory(temp_directory_path) self.assertFalse(os.path.exists(temp_directory_path))
def __exit__(self, *args, exception=None): """ Exit from context with cleaning fs temp directory, temporary container and image :param args: list of arguements :return: None """ print('Removing temporary directory') remove_directory(self._temp_directory) if exception: raise exception
def tearDown(self): utils.remove_directory(self._work_directory)