Add test for device metadata file creation and fixes until test passed.
This commit is contained in:
37
code/tests/subcommands/test_add_device.py
Normal file
37
code/tests/subcommands/test_add_device.py
Normal file
@@ -0,0 +1,37 @@
|
||||
import sys
|
||||
import unittest
|
||||
from io import StringIO
|
||||
from unittest.mock import patch, MagicMock
|
||||
from pathlib import Path
|
||||
from iottb.definitions import DEVICE_METADATA_FILE
|
||||
import shutil
|
||||
from iottb.__main__ import main
|
||||
|
||||
|
||||
class TestDeviceSetup(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.test_dir = Path("/tmp/iottbtest/test_add_device")
|
||||
self.test_dir.mkdir(parents=True, exist_ok=True)
|
||||
# self.captured_output = StringIO()
|
||||
# sys.stdout = self.captured_output
|
||||
|
||||
def tearDown(self):
|
||||
# shutil.rmtree(str(self.test_dir))
|
||||
for item in self.test_dir.iterdir():
|
||||
if item.is_dir():
|
||||
item.rmdir()
|
||||
else:
|
||||
item.unlink()
|
||||
self.test_dir.rmdir()
|
||||
# sys.stdout = sys.__stdout__
|
||||
|
||||
@patch("builtins.input", side_effect=["iPhone 14", "y", "y"])
|
||||
def test_guided_device_setup(self, mock_input):
|
||||
sys.argv = ['__main__.py', 'add', '--root_dir', str(self.test_dir), '--guided']
|
||||
main()
|
||||
expected_file = self.test_dir / DEVICE_METADATA_FILE
|
||||
self.assertTrue(expected_file.exists()), f"Expected file not created: {expected_file}"
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user