Fix places where quote replacement lead to issues.
This commit is contained in:
parent
e569eb3e5b
commit
2e95bd2fd2
@ -2,7 +2,7 @@ import json
|
|||||||
import uuid
|
import uuid
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Optional, Any, OrderedDict
|
from typing import Optional
|
||||||
|
|
||||||
from iottb.definitions import ReturnCodes, CAPTURE_METADATA_FILE
|
from iottb.definitions import ReturnCodes, CAPTURE_METADATA_FILE
|
||||||
from iottb.models.device_metadata_model import DeviceMetadata
|
from iottb.models.device_metadata_model import DeviceMetadata
|
||||||
@ -36,7 +36,7 @@ class CaptureMetadata:
|
|||||||
app_version: Optional[str] = None
|
app_version: Optional[str] = None
|
||||||
firmware_version: Optional[str] = None
|
firmware_version: Optional[str] = None
|
||||||
|
|
||||||
def __init__(self, device_metadata: DeviceMetadata, capture_dir: Path, /, **data: Any):
|
def __init__(self, device_metadata: DeviceMetadata, capture_dir: Path):
|
||||||
logger.info(f'Creating CaptureMetadata model from DeviceMetadata: {device_metadata}')
|
logger.info(f'Creating CaptureMetadata model from DeviceMetadata: {device_metadata}')
|
||||||
self.device_metadata = device_metadata
|
self.device_metadata = device_metadata
|
||||||
|
|
||||||
|
|||||||
@ -56,14 +56,14 @@ def handle_metadata():
|
|||||||
if response.lower() == 'y':
|
if response.lower() == 'y':
|
||||||
start_guided_device_root_dir_setup()
|
start_guided_device_root_dir_setup()
|
||||||
else:
|
else:
|
||||||
print(''iottb init-device-root --help' for more information.')
|
print('\'iottb init-device-root --help\' for more information.')
|
||||||
exit(ReturnCodes.ABORTED)
|
exit(ReturnCodes.ABORTED)
|
||||||
# device_id = handle_capture_metadata()
|
# device_id = handle_capture_metadata()
|
||||||
return ReturnCodes.SUCCESS
|
return ReturnCodes.SUCCESS
|
||||||
|
|
||||||
|
|
||||||
def get_device_metadata_from_file(device_metadata_filename: Path) -> str:
|
def get_device_metadata_from_file(device_metadata_filename: Path) -> str:
|
||||||
assert device_metadata_filename.is_file(), f'Device metadata file '{device_metadata_filename} does not exist'
|
assert device_metadata_filename.is_file(), f'Device metadata file f"{device_metadata_filename}" does not exist'
|
||||||
device_metadata = DeviceMetadata.load_from_json(device_metadata_filename)
|
device_metadata = DeviceMetadata.load_from_json(device_metadata_filename)
|
||||||
return device_metadata
|
return device_metadata
|
||||||
|
|
||||||
@ -82,7 +82,7 @@ def run_tcpdump(cmd):
|
|||||||
|
|
||||||
def handle_capture(args):
|
def handle_capture(args):
|
||||||
assert args.device_root is not None, f'Device root directory is required'
|
assert args.device_root is not None, f'Device root directory is required'
|
||||||
assert dir_contains_device_metadata(args.device_root), f'Device metadata file '{args.device_root}' does not exist'
|
assert dir_contains_device_metadata(args.device_root), f'Device metadata file \'{args.device_root}\' does not exist'
|
||||||
# get device metadata
|
# get device metadata
|
||||||
if args.safe and not dir_contains_device_metadata(args.device_root):
|
if args.safe and not dir_contains_device_metadata(args.device_root):
|
||||||
print(f'Supplied folder contains no device metadata. '
|
print(f'Supplied folder contains no device metadata. '
|
||||||
|
|||||||
@ -5,18 +5,18 @@ from typing import Optional
|
|||||||
|
|
||||||
|
|
||||||
def check_installed() -> bool:
|
def check_installed() -> bool:
|
||||||
'''Check if tcpdump is installed and available on the system path.'''
|
"""Check if tcpdump is installed and available on the system path."""
|
||||||
return shutil.which('tcpdump') is not None
|
return shutil.which('tcpdump') is not None
|
||||||
|
|
||||||
|
|
||||||
def ensure_installed():
|
def ensure_installed():
|
||||||
'''Ensure that tcpdump is installed, raise an error if not.'''
|
"""Ensure that tcpdump is installed, raise an error if not."""
|
||||||
if not check_installed():
|
if not check_installed():
|
||||||
raise RuntimeError('tcpdump is not installed. Please install it to continue.')
|
raise RuntimeError('tcpdump is not installed. Please install it to continue.')
|
||||||
|
|
||||||
|
|
||||||
def list_interfaces() -> str:
|
def list_interfaces() -> str:
|
||||||
'''List available network interfaces using tcpdump.'''
|
"""List available network interfaces using tcpdump."""
|
||||||
ensure_installed()
|
ensure_installed()
|
||||||
try:
|
try:
|
||||||
result = subprocess.run(['tcpdump', '--list-interfaces'], capture_output=True, text=True, check=True)
|
result = subprocess.run(['tcpdump', '--list-interfaces'], capture_output=True, text=True, check=True)
|
||||||
|
|||||||
@ -32,6 +32,12 @@ class TestDeviceSetup(unittest.TestCase):
|
|||||||
expected_file = self.test_dir / DEVICE_METADATA_FILE
|
expected_file = self.test_dir / DEVICE_METADATA_FILE
|
||||||
self.assertTrue(expected_file.exists()), f'Expected file not created: {expected_file}'
|
self.assertTrue(expected_file.exists()), f'Expected file not created: {expected_file}'
|
||||||
|
|
||||||
|
def test_device_setup(self):
|
||||||
|
sys.argv = ['__main__.py', 'add', '--root_dir', str(self.test_dir), '--name', 'iPhone 14']
|
||||||
|
main()
|
||||||
|
expected_file = self.test_dir / DEVICE_METADATA_FILE
|
||||||
|
self.assertTrue(expected_file.exists()), f'Expected file not created: {expected_file}'
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user