blob: 3c94e633b545c82155d02b1577e407d7abbfe754 [file]
# Copyright 2023 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
from __future__ import annotations
import os
import shutil
import tempfile
import unittest
from fuchsia_controller_py import IsolateDir
class IsolateDirectory(unittest.TestCase):
def test_isolate_dir_creation_empty(self) -> None:
isolate_dir: IsolateDir | None = IsolateDir()
assert isolate_dir is not None
temp_dir = isolate_dir.directory()
self.assertTrue(os.path.exists(temp_dir))
isolate_dir = None
self.assertFalse(os.path.exists(temp_dir))
def test_isolate_dir_creation_new_dir(self) -> None:
temp_dir = tempfile.mkdtemp() # Get a random directory path
shutil.rmtree(temp_dir) # Guarantee directory doesn't exist yet
self.assertFalse(os.path.exists(temp_dir))
isolate_dir: IsolateDir | None = IsolateDir(dir=temp_dir)
assert isolate_dir is not None
self.assertEqual(isolate_dir.directory(), temp_dir)
self.assertTrue(os.path.exists(temp_dir))
isolate_dir = None
self.assertFalse(os.path.exists(temp_dir))
def test_isolate_dir_creation_existing_dir(self) -> None:
temp_dir = tempfile.mkdtemp()
self.assertTrue(os.path.exists(temp_dir))
isolate_dir: IsolateDir | None = IsolateDir(dir=temp_dir)
assert isolate_dir is not None
self.assertEqual(isolate_dir.directory(), temp_dir)
self.assertTrue(os.path.exists(temp_dir))
isolate_dir = None
self.assertFalse(os.path.exists(temp_dir))