Add test for device metadata file creation and fixes until test passed.

This commit is contained in:
Sebastian Lenzlinger
2024-05-08 02:36:07 +02:00
parent a21312ee61
commit 266a669e5e
3 changed files with 61 additions and 13 deletions

View 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()