From 3fd80b12abe10763714b2b2e6f248d487c53796e Mon Sep 17 00:00:00 2001 From: Aidan Timson Date: Sun, 7 Apr 2024 12:49:57 +0100 Subject: [PATCH] Use snapshots for tests (#37) * Add syrupy * Use snapshots for modules * Fix * Change the rest * Remove unused imports * Remove unused imports --- requirements_test.txt | 1 + tests/__snapshots__/test_action.ambr | 4 + tests/__snapshots__/test_const.ambr | 26 ++ tests/__snapshots__/test_keyboard_key.ambr | 4 + tests/__snapshots__/test_keyboard_text.ambr | 4 + tests/__snapshots__/test_media_control.ambr | 4 + .../__snapshots__/test_media_directories.ambr | 6 + tests/__snapshots__/test_media_files.ambr | 27 ++ tests/__snapshots__/test_media_get_file.ambr | 4 + tests/__snapshots__/test_media_get_files.ambr | 4 + tests/__snapshots__/test_media_play.ambr | 4 + tests/__snapshots__/test_notification.ambr | 29 ++ tests/__snapshots__/test_open_path.ambr | 4 + tests/__snapshots__/test_open_url.ambr | 4 + tests/__snapshots__/test_request.ambr | 4 + tests/__snapshots__/test_response.ambr | 4 + tests/__snapshots__/test_settings.ambr | 4 + tests/__snapshots__/test_update.ambr | 4 + tests/modules/__snapshots__/test_battery.ambr | 4 + tests/modules/__snapshots__/test_cpu.ambr | 99 ++++++ tests/modules/__snapshots__/test_disks.ambr | 99 ++++++ .../modules/__snapshots__/test_displays.ambr | 6 + tests/modules/__snapshots__/test_gpus.ambr | 6 + tests/modules/__snapshots__/test_media.ambr | 4 + tests/modules/__snapshots__/test_memory.ambr | 32 ++ .../modules/__snapshots__/test_networks.ambr | 56 ++++ .../modules/__snapshots__/test_processes.ambr | 6 + tests/modules/__snapshots__/test_sensors.ambr | 101 ++++++ tests/modules/__snapshots__/test_system.ambr | 4 + tests/modules/test_battery.py | 8 +- tests/modules/test_cpu.py | 97 ++---- tests/modules/test_disks.py | 96 ++---- tests/modules/test_displays.py | 16 +- tests/modules/test_gpus.py | 17 +- tests/modules/test_init.py | 22 +- tests/modules/test_media.py | 27 +- tests/modules/test_memory.py | 58 +--- tests/modules/test_networks.py | 91 +----- tests/modules/test_processes.py | 14 +- tests/modules/test_sensors.py | 305 +----------------- tests/modules/test_system.py | 32 +- tests/test_action.py | 8 +- tests/test_const.py | 8 +- tests/test_keyboard_key.py | 6 +- tests/test_keyboard_text.py | 6 +- tests/test_media_control.py | 7 +- tests/test_media_directories.py | 7 +- tests/test_media_files.py | 44 +-- tests/test_media_get_file.py | 7 +- tests/test_media_get_files.py | 7 +- tests/test_media_play.py | 12 +- tests/test_notification.py | 46 +-- tests/test_open_path.py | 6 +- tests/test_open_url.py | 6 +- tests/test_request.py | 9 +- tests/test_response.py | 11 +- tests/test_settings.py | 27 +- tests/test_update.py | 7 +- 58 files changed, 775 insertions(+), 790 deletions(-) create mode 100644 tests/__snapshots__/test_action.ambr create mode 100644 tests/__snapshots__/test_const.ambr create mode 100644 tests/__snapshots__/test_keyboard_key.ambr create mode 100644 tests/__snapshots__/test_keyboard_text.ambr create mode 100644 tests/__snapshots__/test_media_control.ambr create mode 100644 tests/__snapshots__/test_media_directories.ambr create mode 100644 tests/__snapshots__/test_media_files.ambr create mode 100644 tests/__snapshots__/test_media_get_file.ambr create mode 100644 tests/__snapshots__/test_media_get_files.ambr create mode 100644 tests/__snapshots__/test_media_play.ambr create mode 100644 tests/__snapshots__/test_notification.ambr create mode 100644 tests/__snapshots__/test_open_path.ambr create mode 100644 tests/__snapshots__/test_open_url.ambr create mode 100644 tests/__snapshots__/test_request.ambr create mode 100644 tests/__snapshots__/test_response.ambr create mode 100644 tests/__snapshots__/test_settings.ambr create mode 100644 tests/__snapshots__/test_update.ambr create mode 100644 tests/modules/__snapshots__/test_battery.ambr create mode 100644 tests/modules/__snapshots__/test_cpu.ambr create mode 100644 tests/modules/__snapshots__/test_disks.ambr create mode 100644 tests/modules/__snapshots__/test_displays.ambr create mode 100644 tests/modules/__snapshots__/test_gpus.ambr create mode 100644 tests/modules/__snapshots__/test_media.ambr create mode 100644 tests/modules/__snapshots__/test_memory.ambr create mode 100644 tests/modules/__snapshots__/test_networks.ambr create mode 100644 tests/modules/__snapshots__/test_processes.ambr create mode 100644 tests/modules/__snapshots__/test_sensors.ambr create mode 100644 tests/modules/__snapshots__/test_system.ambr diff --git a/requirements_test.txt b/requirements_test.txt index 7f306d5..67e1369 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -4,3 +4,4 @@ pytest-cov==5.0.0 pytest-sugar==1.0.0 pytest-timeout==2.3.1 pytest==8.1.1 +syrupy==4.6.1 diff --git a/tests/__snapshots__/test_action.ambr b/tests/__snapshots__/test_action.ambr new file mode 100644 index 0000000..58236c7 --- /dev/null +++ b/tests/__snapshots__/test_action.ambr @@ -0,0 +1,4 @@ +# serializer version: 1 +# name: test_action + Action(command='command', data={'key': 'value'}, label='label') +# --- diff --git a/tests/__snapshots__/test_const.ambr b/tests/__snapshots__/test_const.ambr new file mode 100644 index 0000000..2d131dd --- /dev/null +++ b/tests/__snapshots__/test_const.ambr @@ -0,0 +1,26 @@ +# serializer version: 1 +# name: test_model_map + dict({ + : , + : , + : , + : , + : , + : , + : , + : , + : , + : , + : , + : , + : , + : , + : , + : , + : , + : , + : , + : , + : , + }) +# --- diff --git a/tests/__snapshots__/test_keyboard_key.ambr b/tests/__snapshots__/test_keyboard_key.ambr new file mode 100644 index 0000000..633b01a --- /dev/null +++ b/tests/__snapshots__/test_keyboard_key.ambr @@ -0,0 +1,4 @@ +# serializer version: 1 +# name: test_keyboard_key + KeyboardKey(key='A') +# --- diff --git a/tests/__snapshots__/test_keyboard_text.ambr b/tests/__snapshots__/test_keyboard_text.ambr new file mode 100644 index 0000000..393286e --- /dev/null +++ b/tests/__snapshots__/test_keyboard_text.ambr @@ -0,0 +1,4 @@ +# serializer version: 1 +# name: test_keyboard_text + KeyboardText(text='Test') +# --- diff --git a/tests/__snapshots__/test_media_control.ambr b/tests/__snapshots__/test_media_control.ambr new file mode 100644 index 0000000..fa98267 --- /dev/null +++ b/tests/__snapshots__/test_media_control.ambr @@ -0,0 +1,4 @@ +# serializer version: 1 +# name: test_media_control + MediaControl(action='PLAY', value=True) +# --- diff --git a/tests/__snapshots__/test_media_directories.ambr b/tests/__snapshots__/test_media_directories.ambr new file mode 100644 index 0000000..a81b174 --- /dev/null +++ b/tests/__snapshots__/test_media_directories.ambr @@ -0,0 +1,6 @@ +# serializer version: 1 +# name: test_media_directories + list([ + MediaDirectory(key='music', path='path/to/file'), + ]) +# --- diff --git a/tests/__snapshots__/test_media_files.ambr b/tests/__snapshots__/test_media_files.ambr new file mode 100644 index 0000000..4e44948 --- /dev/null +++ b/tests/__snapshots__/test_media_files.ambr @@ -0,0 +1,27 @@ +# serializer version: 1 +# name: test_media_files + MediaFiles(files=[MediaFile(name='file1', path='path/to/file1', fullpath='/full/path/to/file1', size=100, last_accessed=100.0, created=100.0, modified=100.0, is_directory=False, is_file=True, is_link=False, mime_type='text/plain')], path='path/to/file') +# --- +# name: test_media_files_dict + dict({ + 'files': list([ + dict({ + 'created': 100.0, + 'fullpath': '/full/path/to/file1', + 'is_directory': False, + 'is_file': True, + 'is_link': False, + 'last_accessed': 100.0, + 'mime_type': 'text/plain', + 'modified': 100.0, + 'name': 'file1', + 'path': 'path/to/file1', + 'size': 100, + }), + ]), + 'path': 'path/to/file', + }) +# --- +# name: test_media_files_dict[media-files-dict-converted] + MediaFiles(files=[MediaFile(name='file1', path='path/to/file1', fullpath='/full/path/to/file1', size=100, last_accessed=100.0, created=100.0, modified=100.0, is_directory=False, is_file=True, is_link=False, mime_type='text/plain')], path='path/to/file') +# --- diff --git a/tests/__snapshots__/test_media_get_file.ambr b/tests/__snapshots__/test_media_get_file.ambr new file mode 100644 index 0000000..ac82d6c --- /dev/null +++ b/tests/__snapshots__/test_media_get_file.ambr @@ -0,0 +1,4 @@ +# serializer version: 1 +# name: test_media_get_file + MediaGetFile(base='music', path='path/to/file') +# --- diff --git a/tests/__snapshots__/test_media_get_files.ambr b/tests/__snapshots__/test_media_get_files.ambr new file mode 100644 index 0000000..f02e33e --- /dev/null +++ b/tests/__snapshots__/test_media_get_files.ambr @@ -0,0 +1,4 @@ +# serializer version: 1 +# name: test_media_get_files + MediaGetFiles(base='music', path='path/to/file') +# --- diff --git a/tests/__snapshots__/test_media_play.ambr b/tests/__snapshots__/test_media_play.ambr new file mode 100644 index 0000000..0b07a9b --- /dev/null +++ b/tests/__snapshots__/test_media_play.ambr @@ -0,0 +1,4 @@ +# serializer version: 1 +# name: test_media_play + MediaPlay(url='https://www.example.com/audio.mp3', album='Album', artist='Artist', autoplay=True, cover='https://www.example.com/cover.png', title='Title', volume=100) +# --- diff --git a/tests/__snapshots__/test_notification.ambr b/tests/__snapshots__/test_notification.ambr new file mode 100644 index 0000000..67a254a --- /dev/null +++ b/tests/__snapshots__/test_notification.ambr @@ -0,0 +1,29 @@ +# serializer version: 1 +# name: test_notification + Notification(title='Title', message='Message', icon='https://www.example.com/icon.png', image='https://www.example.com/image.png', actions=[Action(command='COMMAND_TEST', label='LABEL_TEST', data={'test': 'test'})], timeout=1000, audio=Audio(source='https://www.example.com/audio.mp3', volume=100)) +# --- +# name: test_notification_dict + dict({ + 'actions': list([ + dict({ + 'command': 'COMMAND_TEST', + 'data': dict({ + 'test': 'test', + }), + 'label': 'LABEL_TEST', + }), + ]), + 'audio': dict({ + 'source': 'https://www.example.com/audio.mp3', + 'volume': 100, + }), + 'icon': 'https://www.example.com/icon.png', + 'image': 'https://www.example.com/image.png', + 'message': 'Message', + 'timeout': 1000, + 'title': 'Title', + }) +# --- +# name: test_notification_dict[notification-dict-converted] + Notification(title='Title', message='Message', icon='https://www.example.com/icon.png', image='https://www.example.com/image.png', actions=[Action(command='COMMAND_TEST', label='LABEL_TEST', data={'test': 'test'})], timeout=1000, audio=Audio(source='https://www.example.com/audio.mp3', volume=100)) +# --- diff --git a/tests/__snapshots__/test_open_path.ambr b/tests/__snapshots__/test_open_path.ambr new file mode 100644 index 0000000..bf00692 --- /dev/null +++ b/tests/__snapshots__/test_open_path.ambr @@ -0,0 +1,4 @@ +# serializer version: 1 +# name: test_open_path + OpenPath(path='/path/to/file') +# --- diff --git a/tests/__snapshots__/test_open_url.ambr b/tests/__snapshots__/test_open_url.ambr new file mode 100644 index 0000000..09af3c9 --- /dev/null +++ b/tests/__snapshots__/test_open_url.ambr @@ -0,0 +1,4 @@ +# serializer version: 1 +# name: test_open_url + OpenUrl(url='https://www.example.com') +# --- diff --git a/tests/__snapshots__/test_request.ambr b/tests/__snapshots__/test_request.ambr new file mode 100644 index 0000000..cadc7ff --- /dev/null +++ b/tests/__snapshots__/test_request.ambr @@ -0,0 +1,4 @@ +# serializer version: 1 +# name: test_request + Request(id='abc123', event='EVENT_TEST', data={'test': 'test'}) +# --- diff --git a/tests/__snapshots__/test_response.ambr b/tests/__snapshots__/test_response.ambr new file mode 100644 index 0000000..6d55300 --- /dev/null +++ b/tests/__snapshots__/test_response.ambr @@ -0,0 +1,4 @@ +# serializer version: 1 +# name: test_response + Response(id='abc123', type='TYPE_TEST', data={'test': 'test'}, subtype='SUBTYPE_TEST', message='MESSAGE_TEST', module='MODULE_TEST') +# --- diff --git a/tests/__snapshots__/test_settings.ambr b/tests/__snapshots__/test_settings.ambr new file mode 100644 index 0000000..78e7efd --- /dev/null +++ b/tests/__snapshots__/test_settings.ambr @@ -0,0 +1,4 @@ +# serializer version: 1 +# name: test_settings + Settings(api=SettingsAPI(token='token', port=9170), autostart=False, keyboard_hotkeys=[], log_level='INFO', media=SettingsMedia(directories=[])) +# --- diff --git a/tests/__snapshots__/test_update.ambr b/tests/__snapshots__/test_update.ambr new file mode 100644 index 0000000..4b57939 --- /dev/null +++ b/tests/__snapshots__/test_update.ambr @@ -0,0 +1,4 @@ +# serializer version: 1 +# name: test_update + Update(version='4.1.1.dev0') +# --- diff --git a/tests/modules/__snapshots__/test_battery.ambr b/tests/modules/__snapshots__/test_battery.ambr new file mode 100644 index 0000000..41c24b2 --- /dev/null +++ b/tests/modules/__snapshots__/test_battery.ambr @@ -0,0 +1,4 @@ +# serializer version: 1 +# name: test_battery + Battery(is_charging=True, percentage=98.4, time_remaining=12) +# --- diff --git a/tests/modules/__snapshots__/test_cpu.ambr b/tests/modules/__snapshots__/test_cpu.ambr new file mode 100644 index 0000000..969ad0f --- /dev/null +++ b/tests/modules/__snapshots__/test_cpu.ambr @@ -0,0 +1,99 @@ +# serializer version: 1 +# name: test_cpu + CPU(count=4, frequency=CPUFrequency(current=2.3, min=0.8, max=3.1), load_average=1.5, per_cpu=[PerCPU(id=0, frequency=CPUFrequency(current=2.3, min=0.8, max=3.1), power=50.0, times=CPUTimes(user=120.0, system=30.0, idle=600.0, interrupt=0.0, dpc=0.0), times_percent=CPUTimes(user=20.0, system=5.0, idle=100.0, interrupt=0.0, dpc=0.0), usage=20.0, voltage=1.2)], power=200.0, stats=CPUStats(ctx_switches=1000, interrupts=500, soft_interrupts=200, syscalls=8000), temperature=45.0, times=CPUTimes(user=480.0, system=120.0, idle=2400.0, interrupt=0.0, dpc=0.0), times_percent=CPUTimes(user=80.0, system=20.0, idle=400.0, interrupt=0.0, dpc=0.0), usage=80.0, voltage=1.2) +# --- +# name: test_cpu_dict + dict({ + 'count': 4, + 'frequency': dict({ + 'current': 2.3, + 'max': 3.1, + 'min': 0.8, + }), + 'load_average': 1.5, + 'per_cpu': list([ + dict({ + 'frequency': dict({ + 'current': 2.3, + 'max': 3.1, + 'min': 0.8, + }), + 'id': 0, + 'power': 50.0, + 'times': dict({ + 'dpc': 0.0, + 'idle': 600.0, + 'interrupt': 0.0, + 'system': 30.0, + 'user': 120.0, + }), + 'times_percent': dict({ + 'dpc': 0.0, + 'idle': 100.0, + 'interrupt': 0.0, + 'system': 5.0, + 'user': 20.0, + }), + 'usage': 20.0, + 'voltage': 1.2, + }), + ]), + 'power': 200.0, + 'stats': dict({ + 'ctx_switches': 1000, + 'interrupts': 500, + 'soft_interrupts': 200, + 'syscalls': 8000, + }), + 'temperature': 45.0, + 'times': dict({ + 'dpc': 0.0, + 'idle': 2400.0, + 'interrupt': 0.0, + 'system': 120.0, + 'user': 480.0, + }), + 'times_percent': dict({ + 'dpc': 0.0, + 'idle': 400.0, + 'interrupt': 0.0, + 'system': 20.0, + 'user': 80.0, + }), + 'usage': 80.0, + 'voltage': 1.2, + }) +# --- +# name: test_cpu_dict[cpu-dict-converted] + CPU(count=4, frequency=CPUFrequency(current=2.3, min=0.8, max=3.1), load_average=1.5, per_cpu=[PerCPU(id=0, frequency=CPUFrequency(current=2.3, min=0.8, max=3.1), power=50.0, times=CPUTimes(user=120.0, system=30.0, idle=600.0, interrupt=0.0, dpc=0.0), times_percent=CPUTimes(user=20.0, system=5.0, idle=100.0, interrupt=0.0, dpc=0.0), usage=20.0, voltage=1.2)], power=200.0, stats=CPUStats(ctx_switches=1000, interrupts=500, soft_interrupts=200, syscalls=8000), temperature=45.0, times=CPUTimes(user=480.0, system=120.0, idle=2400.0, interrupt=0.0, dpc=0.0), times_percent=CPUTimes(user=80.0, system=20.0, idle=400.0, interrupt=0.0, dpc=0.0), usage=80.0, voltage=1.2) +# --- +# name: test_cpu_per_cpu_dict + dict({ + 'frequency': dict({ + 'current': 2.3, + 'max': 3.1, + 'min': 0.8, + }), + 'id': 0, + 'power': 50.0, + 'times': dict({ + 'dpc': 0.0, + 'idle': 600.0, + 'interrupt': 0.0, + 'system': 30.0, + 'user': 120.0, + }), + 'times_percent': dict({ + 'dpc': 0.0, + 'idle': 100.0, + 'interrupt': 0.0, + 'system': 5.0, + 'user': 20.0, + }), + 'usage': 20.0, + 'voltage': 1.2, + }) +# --- +# name: test_cpu_per_cpu_dict[per-cpu-dict-converted] + PerCPU(id=0, frequency=CPUFrequency(current=2.3, min=0.8, max=3.1), power=50.0, times=CPUTimes(user=120.0, system=30.0, idle=600.0, interrupt=0.0, dpc=0.0), times_percent=CPUTimes(user=20.0, system=5.0, idle=100.0, interrupt=0.0, dpc=0.0), usage=20.0, voltage=1.2) +# --- diff --git a/tests/modules/__snapshots__/test_disks.ambr b/tests/modules/__snapshots__/test_disks.ambr new file mode 100644 index 0000000..71195aa --- /dev/null +++ b/tests/modules/__snapshots__/test_disks.ambr @@ -0,0 +1,99 @@ +# serializer version: 1 +# name: test_disks + Disks(devices=[Disk(name='name', partitions=[DiskPartition(device='device', mount_point='mountpoint', filesystem_type='fstype', options='options', max_file_size=1, max_path_length=2, usage=DiskUsage(total=1, used=2, free=3, percent=40.2))], io_counters=DiskIOCounters(read_count=3, write_count=4, read_bytes=1, write_bytes=2, read_time=5, write_time=6))], io_counters=DiskIOCounters(read_count=3, write_count=4, read_bytes=1, write_bytes=2, read_time=5, write_time=6)) +# --- +# name: test_disks_devices_dict + dict({ + 'io_counters': dict({ + 'read_bytes': 1, + 'read_count': 3, + 'read_time': 5, + 'write_bytes': 2, + 'write_count': 4, + 'write_time': 6, + }), + 'name': 'name', + 'partitions': list([ + dict({ + 'device': 'device', + 'filesystem_type': 'fstype', + 'max_file_size': 1, + 'max_path_length': 2, + 'mount_point': 'mountpoint', + 'options': 'options', + 'usage': dict({ + 'free': 3, + 'percent': 40.2, + 'total': 1, + 'used': 2, + }), + }), + ]), + }) +# --- +# name: test_disks_devices_dict[disks-devices-dict-converted] + Disk(name='name', partitions=[DiskPartition(device='device', mount_point='mountpoint', filesystem_type='fstype', options='options', max_file_size=1, max_path_length=2, usage=DiskUsage(total=1, used=2, free=3, percent=40.2))], io_counters=DiskIOCounters(read_count=3, write_count=4, read_bytes=1, write_bytes=2, read_time=5, write_time=6)) +# --- +# name: test_disks_devices_partition_dict + dict({ + 'device': 'device', + 'filesystem_type': 'fstype', + 'max_file_size': 1, + 'max_path_length': 2, + 'mount_point': 'mountpoint', + 'options': 'options', + 'usage': dict({ + 'free': 3, + 'percent': 40.2, + 'total': 1, + 'used': 2, + }), + }) +# --- +# name: test_disks_devices_partition_dict[disks-devices-partition-dict-converted] + DiskPartition(device='device', mount_point='mountpoint', filesystem_type='fstype', options='options', max_file_size=1, max_path_length=2, usage=DiskUsage(total=1, used=2, free=3, percent=40.2)) +# --- +# name: test_disks_dict + dict({ + 'devices': list([ + dict({ + 'io_counters': dict({ + 'read_bytes': 1, + 'read_count': 3, + 'read_time': 5, + 'write_bytes': 2, + 'write_count': 4, + 'write_time': 6, + }), + 'name': 'name', + 'partitions': list([ + dict({ + 'device': 'device', + 'filesystem_type': 'fstype', + 'max_file_size': 1, + 'max_path_length': 2, + 'mount_point': 'mountpoint', + 'options': 'options', + 'usage': dict({ + 'free': 3, + 'percent': 40.2, + 'total': 1, + 'used': 2, + }), + }), + ]), + }), + ]), + 'io_counters': dict({ + 'read_bytes': 1, + 'read_count': 3, + 'read_time': 5, + 'write_bytes': 2, + 'write_count': 4, + 'write_time': 6, + }), + }) +# --- +# name: test_disks_dict[disks-dict-converted] + Disks(devices=[Disk(name='name', partitions=[DiskPartition(device='device', mount_point='mountpoint', filesystem_type='fstype', options='options', max_file_size=1, max_path_length=2, usage=DiskUsage(total=1, used=2, free=3, percent=40.2))], io_counters=DiskIOCounters(read_count=3, write_count=4, read_bytes=1, write_bytes=2, read_time=5, write_time=6))], io_counters=DiskIOCounters(read_count=3, write_count=4, read_bytes=1, write_bytes=2, read_time=5, write_time=6)) +# --- diff --git a/tests/modules/__snapshots__/test_displays.ambr b/tests/modules/__snapshots__/test_displays.ambr new file mode 100644 index 0000000..9bbfb93 --- /dev/null +++ b/tests/modules/__snapshots__/test_displays.ambr @@ -0,0 +1,6 @@ +# serializer version: 1 +# name: test_displays + list([ + Display(id='abc123', name='name', resolution_horizontal=1920, resolution_vertical=1080, x=1920, y=1080, width=1920, height=1080, is_primary=True, pixel_clock=60.0, refresh_rate=60.0), + ]) +# --- diff --git a/tests/modules/__snapshots__/test_gpus.ambr b/tests/modules/__snapshots__/test_gpus.ambr new file mode 100644 index 0000000..003e27c --- /dev/null +++ b/tests/modules/__snapshots__/test_gpus.ambr @@ -0,0 +1,6 @@ +# serializer version: 1 +# name: test_gpus + list([ + GPU(id='abc123', name='name', core_clock=1000.0, core_load=100.0, fan_speed=100.0, memory_clock=1000.0, memory_load=100.0, memory_free=1000.0, memory_used=1000.0, memory_total=1000.0, power_usage=100.0, temperature=100.0), + ]) +# --- diff --git a/tests/modules/__snapshots__/test_media.ambr b/tests/modules/__snapshots__/test_media.ambr new file mode 100644 index 0000000..1780a0c --- /dev/null +++ b/tests/modules/__snapshots__/test_media.ambr @@ -0,0 +1,4 @@ +# serializer version: 1 +# name: test_media + Media(album_artist='Album Artist', album_title='Album Title', artist='Artist', duration=100, is_fast_forward_enabled=True, is_next_enabled=True, is_pause_enabled=True, is_play_enabled=True, is_previous_enabled=True, is_rewind_enabled=True, is_stop_enabled=True, playback_rate=1.0, position=100, repeat='repeat', shuffle=True, status='status', subtitle='subtitle', thumbnail='thumbnail', title='title', track_number=1, type='type', updated_at=100) +# --- diff --git a/tests/modules/__snapshots__/test_memory.ambr b/tests/modules/__snapshots__/test_memory.ambr new file mode 100644 index 0000000..35418b9 --- /dev/null +++ b/tests/modules/__snapshots__/test_memory.ambr @@ -0,0 +1,32 @@ +# serializer version: 1 +# name: test_memory + Memory(swap=MemorySwap(total=1000, used=500, free=500, percent=50.0, sin=100, sout=100), virtual=MemoryVirtual(total=1000, available=500, percent=50.0, used=500, free=500, active=500, inactive=500, buffers=500, cached=500, wired=500, shared=500)) +# --- +# name: test_memory_dict + dict({ + 'swap': dict({ + 'free': 500, + 'percent': 50.0, + 'sin': 100, + 'sout': 100, + 'total': 1000, + 'used': 500, + }), + 'virtual': dict({ + 'active': 500, + 'available': 500, + 'buffers': 500, + 'cached': 500, + 'free': 500, + 'inactive': 500, + 'percent': 50.0, + 'shared': 500, + 'total': 1000, + 'used': 500, + 'wired': 500, + }), + }) +# --- +# name: test_memory_dict[memory-dict-converted] + Memory(swap=MemorySwap(total=1000, used=500, free=500, percent=50.0, sin=100, sout=100), virtual=MemoryVirtual(total=1000, available=500, percent=50.0, used=500, free=500, active=500, inactive=500, buffers=500, cached=500, wired=500, shared=500)) +# --- diff --git a/tests/modules/__snapshots__/test_networks.ambr b/tests/modules/__snapshots__/test_networks.ambr new file mode 100644 index 0000000..aadec24 --- /dev/null +++ b/tests/modules/__snapshots__/test_networks.ambr @@ -0,0 +1,56 @@ +# serializer version: 1 +# name: test_networks + Networks(connections=[NetworkConnection(fd=1, family=2, type=3, laddr='laddr', raddr='raddr', status='status', pid=4)], io=NetworkIO(bytes_sent=1, bytes_recv=2, packets_sent=3, packets_recv=4, errin=5, errout=6, dropin=7, dropout=8), networks=[Network(name='name', addresses=[NetworkAddress(address='address', family=None, netmask='netmask', broadcast='broadcast', ptp='ptp')], stats=NetworkStats(isup=True, duplex='duplex', speed=1, mtu=2, flags=['flag1', 'flag2']))]) +# --- +# name: test_networks_dict + dict({ + 'connections': list([ + dict({ + 'family': 2, + 'fd': 1, + 'laddr': 'laddr', + 'pid': 4, + 'raddr': 'raddr', + 'status': 'status', + 'type': 3, + }), + ]), + 'io': dict({ + 'bytes_recv': 2, + 'bytes_sent': 1, + 'dropin': 7, + 'dropout': 8, + 'errin': 5, + 'errout': 6, + 'packets_recv': 4, + 'packets_sent': 3, + }), + 'networks': list([ + dict({ + 'addresses': list([ + dict({ + 'address': 'address', + 'broadcast': 'broadcast', + 'family': None, + 'netmask': 'netmask', + 'ptp': 'ptp', + }), + ]), + 'name': 'name', + 'stats': dict({ + 'duplex': 'duplex', + 'flags': list([ + 'flag1', + 'flag2', + ]), + 'isup': True, + 'mtu': 2, + 'speed': 1, + }), + }), + ]), + }) +# --- +# name: test_networks_dict[networks-dict-converted] + Networks(connections=[NetworkConnection(fd=1, family=2, type=3, laddr='laddr', raddr='raddr', status='status', pid=4)], io=NetworkIO(bytes_sent=1, bytes_recv=2, packets_sent=3, packets_recv=4, errin=5, errout=6, dropin=7, dropout=8), networks=[Network(name='name', addresses=[NetworkAddress(address='address', family=None, netmask='netmask', broadcast='broadcast', ptp='ptp')], stats=NetworkStats(isup=True, duplex='duplex', speed=1, mtu=2, flags=['flag1', 'flag2']))]) +# --- diff --git a/tests/modules/__snapshots__/test_processes.ambr b/tests/modules/__snapshots__/test_processes.ambr new file mode 100644 index 0000000..c635826 --- /dev/null +++ b/tests/modules/__snapshots__/test_processes.ambr @@ -0,0 +1,6 @@ +# serializer version: 1 +# name: test_networks + list([ + Process(id=1234, name='name', cpu_usage=12.3, created=12.3, memory_usage=12.3, path='/path', status='running', username='username', working_directory='/working/directory'), + ]) +# --- diff --git a/tests/modules/__snapshots__/test_sensors.ambr b/tests/modules/__snapshots__/test_sensors.ambr new file mode 100644 index 0000000..ca33aec --- /dev/null +++ b/tests/modules/__snapshots__/test_sensors.ambr @@ -0,0 +1,101 @@ +# serializer version: 1 +# name: test_sensors + Sensors(fans=None, temperatures=None, windows_sensors=SensorsWindows(hardware=[SensorsWindowsHardware(id='id', name='name', type='type', subhardware=[SensorsWindowsHardware(id='id', name='name', type='type', subhardware=[], sensors=[SensorsWindowsSensor(id='id', name='name', type='type', value=12.3)])], sensors=[SensorsWindowsSensor(id='id', name='name', type='type', value=12.3)])], nvidia=SensorsNVIDIA(chipset=SensorsNVIDIAChipset(id=1234, name='name', flags='flags', vendor_id=1234, vendor_name='Vendor Name'), displays=[SensorsNVIDIADisplay(id=1234, name='name', active=True, available=True, connected=True, dynamic=True, aspect_horizontal=16, aspect_vertical=9, brightness_current=90, brightness_default=80, brightness_max=100, brightness_min=0, color_depth='Color Depth', connection_type='Connection Type', pixel_clock=60, refresh_rate=144, resolution_horizontal=1920, resolution_vertical=1080)], driver=SensorsNVIDIADriver(branch_version='Branch Version', interface_version='Interface Version', version=1234), gpus=[SensorsNVIDIAGPU(id=1234, name='name', bios_oem_revision=1234, bios_revision=1234, bios_version='bios_version', current_fan_speed_level=1234, current_fan_speed_rpm=1234, driver_model=1234, memory_available=1234, memory_capacity=1234, memory_maker='Memory Maker', serial='abc123', system_type='System Type', type='Type')]))) +# --- +# name: test_sensors_dict + dict({ + 'fans': None, + 'temperatures': None, + 'windows_sensors': dict({ + 'hardware': list([ + dict({ + 'id': 'id', + 'name': 'name', + 'sensors': list([ + dict({ + 'id': 'id', + 'name': 'name', + 'type': 'type', + 'value': 12.3, + }), + ]), + 'subhardware': list([ + dict({ + 'id': 'id', + 'name': 'name', + 'sensors': list([ + dict({ + 'id': 'id', + 'name': 'name', + 'type': 'type', + 'value': 12.3, + }), + ]), + 'subhardware': list([ + ]), + 'type': 'type', + }), + ]), + 'type': 'type', + }), + ]), + 'nvidia': dict({ + 'chipset': dict({ + 'flags': 'flags', + 'id': 1234, + 'name': 'name', + 'vendor_id': 1234, + 'vendor_name': 'Vendor Name', + }), + 'displays': list([ + dict({ + 'active': True, + 'aspect_horizontal': 16, + 'aspect_vertical': 9, + 'available': True, + 'brightness_current': 90, + 'brightness_default': 80, + 'brightness_max': 100, + 'brightness_min': 0, + 'color_depth': 'Color Depth', + 'connected': True, + 'connection_type': 'Connection Type', + 'dynamic': True, + 'id': 1234, + 'name': 'name', + 'pixel_clock': 60, + 'refresh_rate': 144, + 'resolution_horizontal': 1920, + 'resolution_vertical': 1080, + }), + ]), + 'driver': dict({ + 'branch_version': 'Branch Version', + 'interface_version': 'Interface Version', + 'version': 1234, + }), + 'gpus': list([ + dict({ + 'bios_oem_revision': 1234, + 'bios_revision': 1234, + 'bios_version': 'bios_version', + 'current_fan_speed_level': 1234, + 'current_fan_speed_rpm': 1234, + 'driver_model': 1234, + 'id': 1234, + 'memory_available': 1234, + 'memory_capacity': 1234, + 'memory_maker': 'Memory Maker', + 'name': 'name', + 'serial': 'abc123', + 'system_type': 'System Type', + 'type': 'Type', + }), + ]), + }), + }), + }) +# --- +# name: test_sensors_dict[sensors-dict-converted] + Sensors(fans=None, temperatures=None, windows_sensors=SensorsWindows(hardware=[SensorsWindowsHardware(id='id', name='name', type='type', subhardware=[SensorsWindowsHardware(id='id', name='name', type='type', subhardware=[], sensors=[SensorsWindowsSensor(id='id', name='name', type='type', value=12.3)])], sensors=[SensorsWindowsSensor(id='id', name='name', type='type', value=12.3)])], nvidia=SensorsNVIDIA(chipset=SensorsNVIDIAChipset(id=1234, name='name', flags='flags', vendor_id=1234, vendor_name='Vendor Name'), displays=[SensorsNVIDIADisplay(id=1234, name='name', active=True, available=True, connected=True, dynamic=True, aspect_horizontal=16, aspect_vertical=9, brightness_current=90, brightness_default=80, brightness_max=100, brightness_min=0, color_depth='Color Depth', connection_type='Connection Type', pixel_clock=60, refresh_rate=144, resolution_horizontal=1920, resolution_vertical=1080)], driver=SensorsNVIDIADriver(branch_version='Branch Version', interface_version='Interface Version', version=1234), gpus=[SensorsNVIDIAGPU(id=1234, name='name', bios_oem_revision=1234, bios_revision=1234, bios_version='bios_version', current_fan_speed_level=1234, current_fan_speed_rpm=1234, driver_model=1234, memory_available=1234, memory_capacity=1234, memory_maker='Memory Maker', serial='abc123', system_type='System Type', type='Type')]))) +# --- diff --git a/tests/modules/__snapshots__/test_system.ambr b/tests/modules/__snapshots__/test_system.ambr new file mode 100644 index 0000000..b160563 --- /dev/null +++ b/tests/modules/__snapshots__/test_system.ambr @@ -0,0 +1,4 @@ +# serializer version: 1 +# name: test_system + System(boot_time=1234, fqdn='hostname.local', hostname='hostname', ip_address_4='192.168.1.100', mac_address='00:00:00:00:00:00', platform_version='1.0.0', platform='platform', uptime=1234, users=[SystemUser(name='username', active=True, terminal='terminal', host='host', started=1234, pid=1234)], uuid='uuid', version='1.0.0', camera_usage=['camera1', 'camera2'], ip_address_6='::1', pending_reboot=True, version_latest='4.99.0', version_newer_available=True) +# --- diff --git a/tests/modules/test_battery.py b/tests/modules/test_battery.py index b056bd4..23c82aa 100644 --- a/tests/modules/test_battery.py +++ b/tests/modules/test_battery.py @@ -1,13 +1,13 @@ """Test the battery module model.""" +from syrupy.assertion import SnapshotAssertion + from systembridgemodels.fixtures.modules.battery import FIXTURE_BATTERY from systembridgemodels.modules.battery import Battery -def test_battery(): +def test_battery(snapshot: SnapshotAssertion): """Test the battery model.""" battery = FIXTURE_BATTERY assert isinstance(battery, Battery) - assert battery.is_charging is True - assert battery.percentage == 98.4 - assert battery.time_remaining == 12 + assert battery == snapshot diff --git a/tests/modules/test_cpu.py b/tests/modules/test_cpu.py index 1982250..57adddd 100644 --- a/tests/modules/test_cpu.py +++ b/tests/modules/test_cpu.py @@ -2,100 +2,43 @@ from dataclasses import asdict -from systembridgemodels.fixtures.modules.cpu import FIXTURE_CPU -from systembridgemodels.modules.cpu import CPU, CPUFrequency, CPUStats, CPUTimes, PerCPU - +from syrupy.assertion import SnapshotAssertion -def _test_per_cpu(per_cpu: PerCPU): - """Test the PerCPU model.""" - assert isinstance(per_cpu, PerCPU) - assert per_cpu.id == 0 - assert isinstance(per_cpu.frequency, CPUFrequency) - assert per_cpu.frequency.current == 2.3 - assert per_cpu.power == 50.0 - assert isinstance(per_cpu.times, CPUTimes) - assert per_cpu.times.user == 120.0 - assert per_cpu.times.system == 30.0 - assert per_cpu.times.idle == 600.0 - assert per_cpu.times.interrupt == 0.0 - assert per_cpu.times.dpc == 0.0 - assert isinstance(per_cpu.times_percent, CPUTimes) - assert per_cpu.times_percent.user == 20.0 - assert per_cpu.times_percent.system == 5.0 - assert per_cpu.times_percent.idle == 100.0 - assert per_cpu.times_percent.interrupt == 0.0 - assert per_cpu.times_percent.dpc == 0.0 - assert per_cpu.usage == 20.0 - assert per_cpu.voltage == 1.2 +from systembridgemodels.fixtures.modules.cpu import FIXTURE_CPU +from systembridgemodels.modules.cpu import CPU, PerCPU -def test_cpu(cpu: CPU = FIXTURE_CPU): +def test_cpu(snapshot: SnapshotAssertion): """Test the CPU model.""" + cpu = FIXTURE_CPU assert isinstance(cpu, CPU) - assert cpu.count == 4 - assert isinstance(cpu.frequency, CPUFrequency) - assert cpu.frequency.current == 2.3 - assert cpu.load_average == 1.5 - assert isinstance(cpu.per_cpu, list) - _test_per_cpu(cpu.per_cpu[0]) - assert cpu.power == 200.0 - assert isinstance(cpu.stats, CPUStats) - assert cpu.stats.ctx_switches == 1000 - assert cpu.stats.interrupts == 500 - assert cpu.stats.soft_interrupts == 200 - assert cpu.stats.syscalls == 8000 - assert cpu.temperature == 45.0 - assert isinstance(cpu.times, CPUTimes) - assert cpu.times.user == 480.0 - assert cpu.times.system == 120.0 - assert cpu.times.idle == 2400.0 - assert cpu.times.interrupt == 0.0 - assert cpu.times.dpc == 0.0 - assert isinstance(cpu.times_percent, CPUTimes) - assert cpu.times_percent.user == 80.0 - assert cpu.times_percent.system == 20.0 - assert cpu.times_percent.idle == 400.0 - assert cpu.times_percent.interrupt == 0.0 - assert cpu.times_percent.dpc == 0.0 - assert cpu.usage == 80.0 - assert cpu.voltage == 1.2 + assert cpu == snapshot -def test_cpu_dict(): +def test_cpu_dict(snapshot: SnapshotAssertion): """Test CPU dict.""" cpu_dict = asdict(FIXTURE_CPU) - assert isinstance(cpu_dict["frequency"], dict) - assert isinstance(cpu_dict["per_cpu"], list) - assert isinstance(cpu_dict["per_cpu"][0], dict) - assert isinstance(cpu_dict["per_cpu"][0]["id"], int) - assert isinstance(cpu_dict["per_cpu"][0]["frequency"], dict) - assert isinstance(cpu_dict["per_cpu"][0]["power"], float) - assert isinstance(cpu_dict["per_cpu"][0]["times"], dict) - assert isinstance(cpu_dict["per_cpu"][0]["times_percent"], dict) - assert isinstance(cpu_dict["per_cpu"][0]["usage"], float) - assert isinstance(cpu_dict["per_cpu"][0]["voltage"], float) - assert isinstance(cpu_dict["stats"], dict) - assert isinstance(cpu_dict["times"], dict) - assert isinstance(cpu_dict["times_percent"], dict) - assert isinstance(cpu_dict["stats"], dict) + assert isinstance(cpu_dict, dict) + assert cpu_dict == snapshot cpu_converted = CPU(**cpu_dict) - test_cpu(cpu_converted) + assert isinstance(cpu_converted, CPU) + assert cpu_converted == snapshot( + name="cpu-dict-converted", + ) -def test_cpu_per_cpu_dict(): +def test_cpu_per_cpu_dict(snapshot: SnapshotAssertion): """Test CPU PerCPU dict.""" assert isinstance(FIXTURE_CPU.per_cpu, list) per_cpu = FIXTURE_CPU.per_cpu[0] per_cpu_dict = asdict(per_cpu) - assert isinstance(per_cpu_dict["id"], int) - assert isinstance(per_cpu_dict["frequency"], dict) - assert isinstance(per_cpu_dict["power"], float) - assert isinstance(per_cpu_dict["times"], dict) - assert isinstance(per_cpu_dict["times_percent"], dict) - assert isinstance(per_cpu_dict["usage"], float) - assert isinstance(per_cpu_dict["voltage"], float) + assert isinstance(per_cpu_dict, dict) + assert per_cpu_dict == snapshot per_cpu_converted = PerCPU(**per_cpu_dict) - _test_per_cpu(per_cpu_converted) + assert isinstance(per_cpu_converted, PerCPU) + assert per_cpu_converted == snapshot( + name="per-cpu-dict-converted", + ) diff --git a/tests/modules/test_disks.py b/tests/modules/test_disks.py index bab2a08..b6e1385 100644 --- a/tests/modules/test_disks.py +++ b/tests/modules/test_disks.py @@ -2,6 +2,8 @@ from dataclasses import asdict +from syrupy.assertion import SnapshotAssertion + from systembridgemodels.fixtures.modules.disks import FIXTURE_DISKS from systembridgemodels.modules.disks import ( Disk, @@ -42,95 +44,47 @@ def _test_disk(disk: Disk): assert disk.io_counters.write_time == 6 -def test_disks(disks: Disks = FIXTURE_DISKS): +def test_disks(snapshot: SnapshotAssertion): """Test the disks model.""" + disks = FIXTURE_DISKS assert isinstance(disks, Disks) - assert isinstance(disks.devices, list) - _test_disk(disks.devices[0]) + assert disks == snapshot -def test_disks_dict(): +def test_disks_dict(snapshot: SnapshotAssertion): """Test disks dict.""" disks_dict = asdict(FIXTURE_DISKS) assert isinstance(disks_dict, dict) - assert isinstance(disks_dict["devices"], list) - assert isinstance(disks_dict["devices"][0], dict) - assert disks_dict["devices"][0]["name"] == "name" - assert isinstance(disks_dict["devices"][0]["partitions"], list) - assert isinstance(disks_dict["devices"][0]["partitions"][0], dict) - assert disks_dict["devices"][0]["partitions"][0]["device"] == "device" - assert disks_dict["devices"][0]["partitions"][0]["mount_point"] == "mountpoint" - assert disks_dict["devices"][0]["partitions"][0]["filesystem_type"] == "fstype" - assert disks_dict["devices"][0]["partitions"][0]["options"] == "options" - assert disks_dict["devices"][0]["partitions"][0]["max_file_size"] == 1 - assert disks_dict["devices"][0]["partitions"][0]["max_path_length"] == 2 - assert isinstance(disks_dict["devices"][0]["partitions"][0]["usage"], dict) - assert disks_dict["devices"][0]["partitions"][0]["usage"]["total"] == 1 - assert disks_dict["devices"][0]["partitions"][0]["usage"]["used"] == 2 - assert disks_dict["devices"][0]["partitions"][0]["usage"]["free"] == 3 - assert disks_dict["devices"][0]["partitions"][0]["usage"]["percent"] == 40.2 - assert isinstance(disks_dict["devices"][0]["io_counters"], dict) - assert disks_dict["devices"][0]["io_counters"]["read_bytes"] == 1 - assert disks_dict["devices"][0]["io_counters"]["write_bytes"] == 2 - assert disks_dict["devices"][0]["io_counters"]["read_count"] == 3 - assert disks_dict["devices"][0]["io_counters"]["write_count"] == 4 - assert disks_dict["devices"][0]["io_counters"]["read_time"] == 5 - assert disks_dict["devices"][0]["io_counters"]["write_time"] == 6 - assert isinstance(disks_dict["io_counters"], dict) - assert disks_dict["io_counters"]["read_bytes"] == 1 - assert disks_dict["io_counters"]["write_bytes"] == 2 - assert disks_dict["io_counters"]["read_count"] == 3 - assert disks_dict["io_counters"]["write_count"] == 4 - assert disks_dict["io_counters"]["read_time"] == 5 - assert disks_dict["io_counters"]["write_time"] == 6 + assert disks_dict == snapshot disks_converted = Disks(**disks_dict) - test_disks(disks_converted) + assert isinstance(disks_converted, Disks) + assert disks_converted == snapshot( + name="disks-dict-converted", + ) -def test_disks_devices_dict(): +def test_disks_devices_dict(snapshot: SnapshotAssertion): """Test disks devices dict.""" disk_dict = asdict(FIXTURE_DISKS.devices[0]) - assert disk_dict["name"] == "name" - assert isinstance(disk_dict["partitions"], list) - assert isinstance(disk_dict["partitions"][0], dict) - assert disk_dict["partitions"][0]["device"] == "device" - assert disk_dict["partitions"][0]["mount_point"] == "mountpoint" - assert disk_dict["partitions"][0]["filesystem_type"] == "fstype" - assert disk_dict["partitions"][0]["options"] == "options" - assert disk_dict["partitions"][0]["max_file_size"] == 1 - assert disk_dict["partitions"][0]["max_path_length"] == 2 - assert isinstance(disk_dict["partitions"][0]["usage"], dict) - assert disk_dict["partitions"][0]["usage"]["total"] == 1 - assert disk_dict["partitions"][0]["usage"]["used"] == 2 - assert disk_dict["partitions"][0]["usage"]["free"] == 3 - assert disk_dict["partitions"][0]["usage"]["percent"] == 40.2 - assert isinstance(disk_dict["io_counters"], dict) - assert disk_dict["io_counters"]["read_bytes"] == 1 - assert disk_dict["io_counters"]["write_bytes"] == 2 - assert disk_dict["io_counters"]["read_count"] == 3 - assert disk_dict["io_counters"]["write_count"] == 4 - assert disk_dict["io_counters"]["read_time"] == 5 - assert disk_dict["io_counters"]["write_time"] == 6 + assert isinstance(disk_dict, dict) + assert disk_dict == snapshot disk_converted = Disk(**disk_dict) - _test_disk(disk_converted) + assert isinstance(disk_converted, Disk) + assert disk_converted == snapshot( + name="disks-devices-dict-converted", + ) -def test_disks_devices_partition_dict(): +def test_disks_devices_partition_dict(snapshot: SnapshotAssertion): """Test disks devices partition dict.""" partition_dict = asdict(FIXTURE_DISKS.devices[0].partitions[0]) - assert partition_dict["device"] == "device" - assert partition_dict["mount_point"] == "mountpoint" - assert partition_dict["filesystem_type"] == "fstype" - assert partition_dict["options"] == "options" - assert partition_dict["max_file_size"] == 1 - assert partition_dict["max_path_length"] == 2 - assert isinstance(partition_dict["usage"], dict) - assert partition_dict["usage"]["total"] == 1 - assert partition_dict["usage"]["used"] == 2 - assert partition_dict["usage"]["free"] == 3 - assert partition_dict["usage"]["percent"] == 40.2 + assert isinstance(partition_dict, dict) + assert partition_dict == snapshot partition_converted = DiskPartition(**partition_dict) - _test_disk_partition(partition_converted) + assert isinstance(partition_converted, DiskPartition) + assert partition_converted == snapshot( + name="disks-devices-partition-dict-converted", + ) diff --git a/tests/modules/test_displays.py b/tests/modules/test_displays.py index a2797bd..7989883 100644 --- a/tests/modules/test_displays.py +++ b/tests/modules/test_displays.py @@ -1,22 +1,14 @@ """Test the displays module model.""" +from syrupy.assertion import SnapshotAssertion + from systembridgemodels.fixtures.modules.displays import FIXTURE_DISPLAYS from systembridgemodels.modules.displays import Display -def test_displays(): +def test_displays(snapshot: SnapshotAssertion): """Test the displays model.""" displays = FIXTURE_DISPLAYS assert isinstance(displays, list) assert isinstance(displays[0], Display) - assert displays[0].id == "abc123" - assert displays[0].name == "name" - assert displays[0].resolution_horizontal == 1920 - assert displays[0].resolution_vertical == 1080 - assert displays[0].x == 1920 - assert displays[0].y == 1080 - assert displays[0].width == 1920 - assert displays[0].height == 1080 - assert displays[0].is_primary is True - assert displays[0].pixel_clock == 60.0 - assert displays[0].refresh_rate == 60.0 + assert displays == snapshot diff --git a/tests/modules/test_gpus.py b/tests/modules/test_gpus.py index 78446e8..c0c0786 100644 --- a/tests/modules/test_gpus.py +++ b/tests/modules/test_gpus.py @@ -1,23 +1,14 @@ """Test the gpus module model.""" +from syrupy.assertion import SnapshotAssertion + from systembridgemodels.fixtures.modules.gpus import FIXTURE_GPUS from systembridgemodels.modules.gpus import GPU -def test_gpus(): +def test_gpus(snapshot: SnapshotAssertion): """Test the GPUs model.""" gpus = FIXTURE_GPUS assert isinstance(gpus, list) assert isinstance(gpus[0], GPU) - assert gpus[0].id == "abc123" - assert gpus[0].name == "name" - assert gpus[0].core_clock == 1000.0 - assert gpus[0].core_load == 100.0 - assert gpus[0].fan_speed == 100.0 - assert gpus[0].memory_clock == 1000.0 - assert gpus[0].memory_load == 100.0 - assert gpus[0].memory_free == 1000.0 - assert gpus[0].memory_used == 1000.0 - assert gpus[0].memory_total == 1000.0 - assert gpus[0].power_usage == 100.0 - assert gpus[0].temperature == 100.0 + assert gpus == snapshot diff --git a/tests/modules/test_init.py b/tests/modules/test_init.py index 6effc5b..030b58b 100644 --- a/tests/modules/test_init.py +++ b/tests/modules/test_init.py @@ -8,17 +8,17 @@ ) modules = [ - Module.BATTERY.value, - Module.CPU.value, - Module.DISKS.value, - Module.DISPLAYS.value, - Module.GPUS.value, - Module.MEDIA.value, - Module.MEMORY.value, - Module.NETWORKS.value, - Module.PROCESSES.value, - Module.SENSORS.value, - Module.SYSTEM.value, + Module.BATTERY, + Module.CPU, + Module.DISKS, + Module.DISPLAYS, + Module.GPUS, + Module.MEDIA, + Module.MEMORY, + Module.NETWORKS, + Module.PROCESSES, + Module.SENSORS, + Module.SYSTEM, ] diff --git a/tests/modules/test_media.py b/tests/modules/test_media.py index 5594526..8a007d7 100644 --- a/tests/modules/test_media.py +++ b/tests/modules/test_media.py @@ -1,32 +1,13 @@ """Test the media module model.""" +from syrupy.assertion import SnapshotAssertion + from systembridgemodels.fixtures.modules.media import FIXTURE_MEDIA from systembridgemodels.modules.media import Media -def test_media(): +def test_media(snapshot: SnapshotAssertion): """Test the media model.""" media = FIXTURE_MEDIA assert isinstance(media, Media) - assert media.album_artist == "Album Artist" - assert media.album_title == "Album Title" - assert media.artist == "Artist" - assert media.duration == 100 - assert media.is_fast_forward_enabled is True - assert media.is_next_enabled is True - assert media.is_pause_enabled is True - assert media.is_play_enabled is True - assert media.is_previous_enabled is True - assert media.is_rewind_enabled is True - assert media.is_stop_enabled is True - assert media.playback_rate == 1.0 - assert media.position == 100 - assert media.repeat == "repeat" - assert media.shuffle is True - assert media.status == "status" - assert media.subtitle == "subtitle" - assert media.thumbnail == "thumbnail" - assert media.title == "title" - assert media.track_number == 1 - assert media.type == "type" - assert media.updated_at == 100 + assert media == snapshot diff --git a/tests/modules/test_memory.py b/tests/modules/test_memory.py index 17999e7..cb9a13f 100644 --- a/tests/modules/test_memory.py +++ b/tests/modules/test_memory.py @@ -2,57 +2,27 @@ from dataclasses import asdict +from syrupy.assertion import SnapshotAssertion + from systembridgemodels.fixtures.modules.memory import FIXTURE_MEMORY -from systembridgemodels.modules.memory import Memory, MemorySwap, MemoryVirtual +from systembridgemodels.modules.memory import Memory -def test_memory(memory: Memory = FIXTURE_MEMORY): +def test_memory(snapshot: SnapshotAssertion): """Test the memory model.""" + memory = FIXTURE_MEMORY assert isinstance(memory, Memory) - assert isinstance(memory.swap, MemorySwap) - assert memory.swap.total == 1000 - assert memory.swap.used == 500 - assert memory.swap.free == 500 - assert memory.swap.percent == 50.0 - assert memory.swap.sin == 100 - assert memory.swap.sout == 100 - assert isinstance(memory.virtual, MemoryVirtual) - assert memory.virtual.total == 1000 - assert memory.virtual.available == 500 - assert memory.virtual.percent == 50.0 - assert memory.virtual.used == 500 - assert memory.virtual.free == 500 - assert memory.virtual.active == 500 - assert memory.virtual.inactive == 500 - assert memory.virtual.buffers == 500 - assert memory.virtual.cached == 500 - assert memory.virtual.wired == 500 - assert memory.virtual.shared == 500 - - -def test_memory_dict(): + assert memory == snapshot + + +def test_memory_dict(snapshot: SnapshotAssertion): """Test memory dict.""" memory_dict = asdict(FIXTURE_MEMORY) assert isinstance(memory_dict, dict) - assert isinstance(memory_dict["swap"], dict) - assert memory_dict["swap"]["total"] == 1000 - assert memory_dict["swap"]["used"] == 500 - assert memory_dict["swap"]["free"] == 500 - assert memory_dict["swap"]["percent"] == 50.0 - assert memory_dict["swap"]["sin"] == 100 - assert memory_dict["swap"]["sout"] == 100 - assert isinstance(memory_dict["virtual"], dict) - assert memory_dict["virtual"]["total"] == 1000 - assert memory_dict["virtual"]["available"] == 500 - assert memory_dict["virtual"]["percent"] == 50.0 - assert memory_dict["virtual"]["used"] == 500 - assert memory_dict["virtual"]["free"] == 500 - assert memory_dict["virtual"]["active"] == 500 - assert memory_dict["virtual"]["inactive"] == 500 - assert memory_dict["virtual"]["buffers"] == 500 - assert memory_dict["virtual"]["cached"] == 500 - assert memory_dict["virtual"]["wired"] == 500 - assert memory_dict["virtual"]["shared"] == 500 + assert memory_dict == snapshot memory_converted = Memory(**memory_dict) - test_memory(memory_converted) + assert isinstance(memory_converted, Memory) + assert memory_converted == snapshot( + name="memory-dict-converted", + ) diff --git a/tests/modules/test_networks.py b/tests/modules/test_networks.py index 9fd75d9..79a1d09 100644 --- a/tests/modules/test_networks.py +++ b/tests/modules/test_networks.py @@ -2,96 +2,29 @@ from dataclasses import asdict +from syrupy.assertion import SnapshotAssertion + from systembridgemodels.fixtures.modules.networks import FIXTURE_NETWORKS -from systembridgemodels.modules.networks import ( - Network, - NetworkAddress, - NetworkConnection, - NetworkIO, - Networks, - NetworkStats, -) +from systembridgemodels.modules.networks import NetworkConnection, Networks -def test_networks(networks: Networks = FIXTURE_NETWORKS): +def test_networks(snapshot: SnapshotAssertion): """Test the networks model.""" + networks = FIXTURE_NETWORKS assert isinstance(networks, Networks) assert isinstance(networks.connections, list) assert isinstance(networks.connections[0], NetworkConnection) - assert networks.connections[0].fd == 1 - assert networks.connections[0].family == 2 - assert networks.connections[0].type == 3 - assert networks.connections[0].laddr == "laddr" - assert networks.connections[0].raddr == "raddr" - assert networks.connections[0].status == "status" - assert networks.connections[0].pid == 4 - assert isinstance(networks.io, NetworkIO) - assert networks.io.bytes_sent == 1 - assert networks.io.bytes_recv == 2 - assert networks.io.packets_sent == 3 - assert networks.io.packets_recv == 4 - assert networks.io.errin == 5 - assert networks.io.errout == 6 - assert networks.io.dropin == 7 - assert networks.io.dropout == 8 - assert isinstance(networks.networks, list) - assert isinstance(networks.networks[0], Network) - assert networks.networks[0].name == "name" - assert isinstance(networks.networks[0].addresses, list) - assert isinstance(networks.networks[0].addresses[0], NetworkAddress) - assert networks.networks[0].addresses[0].address == "address" - assert networks.networks[0].addresses[0].netmask == "netmask" - assert networks.networks[0].addresses[0].broadcast == "broadcast" - assert networks.networks[0].addresses[0].ptp == "ptp" - assert isinstance(networks.networks[0].stats, NetworkStats) - assert networks.networks[0].stats.isup is True - assert networks.networks[0].stats.duplex == "duplex" - assert networks.networks[0].stats.speed == 1 - assert networks.networks[0].stats.mtu == 2 - assert isinstance(networks.networks[0].stats.flags, list) - assert networks.networks[0].stats.flags[0] == "flag1" - assert networks.networks[0].stats.flags[1] == "flag2" + assert networks == snapshot -def test_networks_dict(): +def test_networks_dict(snapshot: SnapshotAssertion): """Test the networks model to dict.""" networks_dict = asdict(FIXTURE_NETWORKS) assert isinstance(networks_dict, dict) - assert isinstance(networks_dict["connections"], list) - assert isinstance(networks_dict["connections"][0], dict) - assert networks_dict["connections"][0]["fd"] == 1 - assert networks_dict["connections"][0]["family"] == 2 - assert networks_dict["connections"][0]["type"] == 3 - assert networks_dict["connections"][0]["laddr"] == "laddr" - assert networks_dict["connections"][0]["raddr"] == "raddr" - assert networks_dict["connections"][0]["status"] == "status" - assert networks_dict["connections"][0]["pid"] == 4 - assert isinstance(networks_dict["io"], dict) - assert networks_dict["io"]["bytes_sent"] == 1 - assert networks_dict["io"]["bytes_recv"] == 2 - assert networks_dict["io"]["packets_sent"] == 3 - assert networks_dict["io"]["packets_recv"] == 4 - assert networks_dict["io"]["errin"] == 5 - assert networks_dict["io"]["errout"] == 6 - assert networks_dict["io"]["dropin"] == 7 - assert networks_dict["io"]["dropout"] == 8 - assert isinstance(networks_dict["networks"], list) - assert isinstance(networks_dict["networks"][0], dict) - assert networks_dict["networks"][0]["name"] == "name" - assert isinstance(networks_dict["networks"][0]["addresses"], list) - assert isinstance(networks_dict["networks"][0]["addresses"][0], dict) - assert networks_dict["networks"][0]["addresses"][0]["address"] == "address" - assert networks_dict["networks"][0]["addresses"][0]["netmask"] == "netmask" - assert networks_dict["networks"][0]["addresses"][0]["broadcast"] == "broadcast" - assert networks_dict["networks"][0]["addresses"][0]["ptp"] == "ptp" - assert isinstance(networks_dict["networks"][0]["stats"], dict) - assert networks_dict["networks"][0]["stats"]["isup"] is True - assert networks_dict["networks"][0]["stats"]["duplex"] == "duplex" - assert networks_dict["networks"][0]["stats"]["speed"] == 1 - assert networks_dict["networks"][0]["stats"]["mtu"] == 2 - assert isinstance(networks_dict["networks"][0]["stats"]["flags"], list) - assert networks_dict["networks"][0]["stats"]["flags"][0] == "flag1" - assert networks_dict["networks"][0]["stats"]["flags"][1] == "flag2" + assert networks_dict == snapshot networks_converted = Networks(**networks_dict) - test_networks(networks_converted) + assert isinstance(networks_converted, Networks) + assert networks_converted == snapshot( + name="networks-dict-converted", + ) diff --git a/tests/modules/test_processes.py b/tests/modules/test_processes.py index 3269131..d014fb2 100644 --- a/tests/modules/test_processes.py +++ b/tests/modules/test_processes.py @@ -1,20 +1,14 @@ """Test the networks module model.""" +from syrupy.assertion import SnapshotAssertion + from systembridgemodels.fixtures.modules.processes import FIXTURE_PROCESSES from systembridgemodels.modules.processes import Process -def test_networks(): +def test_networks(snapshot: SnapshotAssertion): """Test the processes model.""" processes = FIXTURE_PROCESSES assert isinstance(processes, list) assert isinstance(processes[0], Process) - assert processes[0].id == 1234 - assert processes[0].name == "name" - assert processes[0].cpu_usage == 12.3 - assert processes[0].created == 12.3 - assert processes[0].memory_usage == 12.3 - assert processes[0].path == "/path" - assert processes[0].status == "running" - assert processes[0].username == "username" - assert processes[0].working_directory == "/working/directory" + assert processes == snapshot diff --git a/tests/modules/test_sensors.py b/tests/modules/test_sensors.py index b85f9a7..e2a6ca7 100644 --- a/tests/modules/test_sensors.py +++ b/tests/modules/test_sensors.py @@ -2,308 +2,27 @@ from dataclasses import asdict +from syrupy.assertion import SnapshotAssertion + from systembridgemodels.fixtures.modules.sensors import FIXTURE_SENSORS -from systembridgemodels.modules.sensors import ( - Sensors, - SensorsNVIDIA, - SensorsNVIDIAChipset, - SensorsNVIDIADisplay, - SensorsNVIDIADriver, - SensorsNVIDIAGPU, - SensorsWindows, - SensorsWindowsHardware, - SensorsWindowsSensor, -) +from systembridgemodels.modules.sensors import Sensors -def test_sensors(sensors: Sensors = FIXTURE_SENSORS): +def test_sensors(snapshot: SnapshotAssertion): """Test the sensors model.""" + sensors = FIXTURE_SENSORS assert isinstance(sensors, Sensors) + assert sensors == snapshot - assert sensors.fans is None - - assert sensors.temperatures is None - assert sensors.windows_sensors is not None - assert isinstance(sensors.windows_sensors, SensorsWindows) - assert isinstance(sensors.windows_sensors.hardware, list) - assert isinstance(sensors.windows_sensors.hardware[0], SensorsWindowsHardware) - assert sensors.windows_sensors.hardware[0].id == "id" - assert sensors.windows_sensors.hardware[0].name == "name" - assert sensors.windows_sensors.hardware[0].type == "type" - assert isinstance(sensors.windows_sensors.hardware[0].subhardware, list) - assert isinstance( - sensors.windows_sensors.hardware[0].subhardware[0], SensorsWindowsHardware - ) - assert sensors.windows_sensors.hardware[0].subhardware[0].id == "id" - assert sensors.windows_sensors.hardware[0].subhardware[0].name == "name" - assert sensors.windows_sensors.hardware[0].subhardware[0].type == "type" - assert isinstance( - sensors.windows_sensors.hardware[0].subhardware[0].subhardware, list - ) - assert isinstance(sensors.windows_sensors.hardware[0].subhardware[0].sensors, list) - assert isinstance( - sensors.windows_sensors.hardware[0].subhardware[0].sensors[0], - SensorsWindowsSensor, - ) - assert sensors.windows_sensors.hardware[0].subhardware[0].sensors[0].id == "id" - assert sensors.windows_sensors.hardware[0].subhardware[0].sensors[0].name == "name" - assert sensors.windows_sensors.hardware[0].subhardware[0].sensors[0].type == "type" - assert sensors.windows_sensors.hardware[0].subhardware[0].sensors[0].value == 12.3 - assert isinstance(sensors.windows_sensors.hardware[0].sensors, list) - assert isinstance( - sensors.windows_sensors.hardware[0].sensors[0], SensorsWindowsSensor - ) - assert sensors.windows_sensors.hardware[0].sensors[0].id == "id" - assert sensors.windows_sensors.hardware[0].sensors[0].name == "name" - assert sensors.windows_sensors.hardware[0].sensors[0].type == "type" - assert sensors.windows_sensors.hardware[0].sensors[0].value == 12.3 - assert sensors.windows_sensors.nvidia is not None - assert isinstance(sensors.windows_sensors.nvidia, SensorsNVIDIA) - assert isinstance(sensors.windows_sensors.nvidia.chipset, SensorsNVIDIAChipset) - assert sensors.windows_sensors.nvidia.chipset.id == 1234 - assert sensors.windows_sensors.nvidia.chipset.name == "name" - assert sensors.windows_sensors.nvidia.chipset.flags == "flags" - assert sensors.windows_sensors.nvidia.chipset.vendor_id == 1234 - assert sensors.windows_sensors.nvidia.chipset.vendor_name == "Vendor Name" - assert isinstance(sensors.windows_sensors.nvidia.displays, list) - assert isinstance(sensors.windows_sensors.nvidia.displays[0], SensorsNVIDIADisplay) - assert sensors.windows_sensors.nvidia.displays[0].id == 1234 - assert sensors.windows_sensors.nvidia.displays[0].name == "name" - assert sensors.windows_sensors.nvidia.displays[0].active is True - assert sensors.windows_sensors.nvidia.displays[0].available is True - assert sensors.windows_sensors.nvidia.displays[0].connected is True - assert sensors.windows_sensors.nvidia.displays[0].dynamic is True - assert sensors.windows_sensors.nvidia.displays[0].aspect_horizontal == 16 - assert sensors.windows_sensors.nvidia.displays[0].aspect_vertical == 9 - assert sensors.windows_sensors.nvidia.displays[0].brightness_current == 90 - assert sensors.windows_sensors.nvidia.displays[0].brightness_default == 80 - assert sensors.windows_sensors.nvidia.displays[0].brightness_max == 100 - assert sensors.windows_sensors.nvidia.displays[0].brightness_min == 0 - assert sensors.windows_sensors.nvidia.displays[0].color_depth == "Color Depth" - assert ( - sensors.windows_sensors.nvidia.displays[0].connection_type == "Connection Type" - ) - assert sensors.windows_sensors.nvidia.displays[0].pixel_clock == 60 - assert sensors.windows_sensors.nvidia.displays[0].refresh_rate == 144 - assert sensors.windows_sensors.nvidia.displays[0].resolution_horizontal == 1920 - assert sensors.windows_sensors.nvidia.displays[0].resolution_vertical == 1080 - assert isinstance(sensors.windows_sensors.nvidia.driver, SensorsNVIDIADriver) - assert sensors.windows_sensors.nvidia.driver.branch_version == "Branch Version" - assert ( - sensors.windows_sensors.nvidia.driver.interface_version == "Interface Version" - ) - assert sensors.windows_sensors.nvidia.driver.version == 1234 - assert isinstance(sensors.windows_sensors.nvidia.gpus, list) - assert isinstance(sensors.windows_sensors.nvidia.gpus[0], SensorsNVIDIAGPU) - assert sensors.windows_sensors.nvidia.gpus[0].id == 1234 - assert sensors.windows_sensors.nvidia.gpus[0].name == "name" - assert sensors.windows_sensors.nvidia.gpus[0].bios_oem_revision == 1234 - assert sensors.windows_sensors.nvidia.gpus[0].bios_revision == 1234 - assert sensors.windows_sensors.nvidia.gpus[0].bios_version == "bios_version" - assert sensors.windows_sensors.nvidia.gpus[0].current_fan_speed_level == 1234 - assert sensors.windows_sensors.nvidia.gpus[0].current_fan_speed_rpm == 1234 - assert sensors.windows_sensors.nvidia.gpus[0].driver_model == 1234 - assert sensors.windows_sensors.nvidia.gpus[0].memory_available == 1234 - assert sensors.windows_sensors.nvidia.gpus[0].memory_capacity == 1234 - assert sensors.windows_sensors.nvidia.gpus[0].memory_maker == "Memory Maker" - assert sensors.windows_sensors.nvidia.gpus[0].serial == "abc123" - assert sensors.windows_sensors.nvidia.gpus[0].system_type == "System Type" - assert sensors.windows_sensors.nvidia.gpus[0].type == "Type" - - -def test_sensors_dict(): +def test_sensors_dict(snapshot: SnapshotAssertion): """Test the sensors model to dict.""" sensors_dict = asdict(FIXTURE_SENSORS) assert isinstance(sensors_dict, dict) - - assert sensors_dict["fans"] is None - - assert sensors_dict["temperatures"] is None - - assert sensors_dict["windows_sensors"] is not None - assert isinstance(sensors_dict["windows_sensors"], dict) - assert isinstance(sensors_dict["windows_sensors"]["hardware"], list) - assert isinstance(sensors_dict["windows_sensors"]["hardware"][0], dict) - assert sensors_dict["windows_sensors"]["hardware"][0]["id"] == "id" - assert sensors_dict["windows_sensors"]["hardware"][0]["name"] == "name" - assert sensors_dict["windows_sensors"]["hardware"][0]["type"] == "type" - assert isinstance( - sensors_dict["windows_sensors"]["hardware"][0]["subhardware"], list - ) - assert isinstance( - sensors_dict["windows_sensors"]["hardware"][0]["subhardware"][0], dict - ) - assert ( - sensors_dict["windows_sensors"]["hardware"][0]["subhardware"][0]["id"] == "id" - ) - assert ( - sensors_dict["windows_sensors"]["hardware"][0]["subhardware"][0]["name"] - == "name" - ) - assert ( - sensors_dict["windows_sensors"]["hardware"][0]["subhardware"][0]["type"] - == "type" - ) - assert isinstance( - sensors_dict["windows_sensors"]["hardware"][0]["subhardware"][0]["subhardware"], - list, - ) - assert isinstance( - sensors_dict["windows_sensors"]["hardware"][0]["subhardware"][0]["sensors"], - list, - ) - assert isinstance( - sensors_dict["windows_sensors"]["hardware"][0]["subhardware"][0]["sensors"][0], - dict, - ) - assert ( - sensors_dict["windows_sensors"]["hardware"][0]["subhardware"][0]["sensors"][0][ - "id" - ] - == "id" - ) - assert ( - sensors_dict["windows_sensors"]["hardware"][0]["subhardware"][0]["sensors"][0][ - "name" - ] - == "name" - ) - assert ( - sensors_dict["windows_sensors"]["hardware"][0]["subhardware"][0]["sensors"][0][ - "type" - ] - == "type" - ) - assert ( - sensors_dict["windows_sensors"]["hardware"][0]["subhardware"][0]["sensors"][0][ - "value" - ] - == 12.3 - ) - assert isinstance(sensors_dict["windows_sensors"]["hardware"][0]["sensors"], list) - assert isinstance( - sensors_dict["windows_sensors"]["hardware"][0]["sensors"][0], dict - ) - assert sensors_dict["windows_sensors"]["hardware"][0]["sensors"][0]["id"] == "id" - assert ( - sensors_dict["windows_sensors"]["hardware"][0]["sensors"][0]["name"] == "name" - ) - assert ( - sensors_dict["windows_sensors"]["hardware"][0]["sensors"][0]["type"] == "type" - ) - assert sensors_dict["windows_sensors"]["hardware"][0]["sensors"][0]["value"] == 12.3 - assert sensors_dict["windows_sensors"]["nvidia"] is not None - assert isinstance(sensors_dict["windows_sensors"]["nvidia"], dict) - assert isinstance(sensors_dict["windows_sensors"]["nvidia"]["chipset"], dict) - assert sensors_dict["windows_sensors"]["nvidia"]["chipset"]["id"] == 1234 - assert sensors_dict["windows_sensors"]["nvidia"]["chipset"]["name"] == "name" - assert sensors_dict["windows_sensors"]["nvidia"]["chipset"]["flags"] == "flags" - assert sensors_dict["windows_sensors"]["nvidia"]["chipset"]["vendor_id"] == 1234 - assert ( - sensors_dict["windows_sensors"]["nvidia"]["chipset"]["vendor_name"] - == "Vendor Name" - ) - assert isinstance(sensors_dict["windows_sensors"]["nvidia"]["displays"], list) - assert isinstance(sensors_dict["windows_sensors"]["nvidia"]["displays"][0], dict) - assert sensors_dict["windows_sensors"]["nvidia"]["displays"][0]["id"] == 1234 - assert sensors_dict["windows_sensors"]["nvidia"]["displays"][0]["name"] == "name" - assert sensors_dict["windows_sensors"]["nvidia"]["displays"][0]["active"] is True - assert sensors_dict["windows_sensors"]["nvidia"]["displays"][0]["available"] is True - assert sensors_dict["windows_sensors"]["nvidia"]["displays"][0]["connected"] is True - assert sensors_dict["windows_sensors"]["nvidia"]["displays"][0]["dynamic"] is True - assert ( - sensors_dict["windows_sensors"]["nvidia"]["displays"][0]["aspect_horizontal"] - == 16 - ) - assert ( - sensors_dict["windows_sensors"]["nvidia"]["displays"][0]["aspect_vertical"] == 9 - ) - assert ( - sensors_dict["windows_sensors"]["nvidia"]["displays"][0]["brightness_current"] - == 90 - ) - assert ( - sensors_dict["windows_sensors"]["nvidia"]["displays"][0]["brightness_default"] - == 80 - ) - assert ( - sensors_dict["windows_sensors"]["nvidia"]["displays"][0]["brightness_max"] - == 100 - ) - assert ( - sensors_dict["windows_sensors"]["nvidia"]["displays"][0]["brightness_min"] == 0 - ) - assert ( - sensors_dict["windows_sensors"]["nvidia"]["displays"][0]["color_depth"] - == "Color Depth" - ) - assert ( - sensors_dict["windows_sensors"]["nvidia"]["displays"][0]["connection_type"] - == "Connection Type" - ) - assert sensors_dict["windows_sensors"]["nvidia"]["displays"][0]["pixel_clock"] == 60 - assert ( - sensors_dict["windows_sensors"]["nvidia"]["displays"][0]["refresh_rate"] == 144 - ) - assert ( - sensors_dict["windows_sensors"]["nvidia"]["displays"][0][ - "resolution_horizontal" - ] - == 1920 - ) - assert ( - sensors_dict["windows_sensors"]["nvidia"]["displays"][0]["resolution_vertical"] - == 1080 - ) - assert isinstance(sensors_dict["windows_sensors"]["nvidia"]["driver"], dict) - assert ( - sensors_dict["windows_sensors"]["nvidia"]["driver"]["branch_version"] - == "Branch Version" - ) - assert ( - sensors_dict["windows_sensors"]["nvidia"]["driver"]["interface_version"] - == "Interface Version" - ) - assert sensors_dict["windows_sensors"]["nvidia"]["driver"]["version"] == 1234 - assert isinstance(sensors_dict["windows_sensors"]["nvidia"]["gpus"], list) - assert isinstance(sensors_dict["windows_sensors"]["nvidia"]["gpus"][0], dict) - assert sensors_dict["windows_sensors"]["nvidia"]["gpus"][0]["id"] == 1234 - assert sensors_dict["windows_sensors"]["nvidia"]["gpus"][0]["name"] == "name" - assert ( - sensors_dict["windows_sensors"]["nvidia"]["gpus"][0]["bios_oem_revision"] - == 1234 - ) - assert sensors_dict["windows_sensors"]["nvidia"]["gpus"][0]["bios_revision"] == 1234 - assert ( - sensors_dict["windows_sensors"]["nvidia"]["gpus"][0]["bios_version"] - == "bios_version" - ) - assert ( - sensors_dict["windows_sensors"]["nvidia"]["gpus"][0]["current_fan_speed_level"] - == 1234 - ) - assert ( - sensors_dict["windows_sensors"]["nvidia"]["gpus"][0]["current_fan_speed_rpm"] - == 1234 - ) - assert sensors_dict["windows_sensors"]["nvidia"]["gpus"][0]["driver_model"] == 1234 - assert ( - sensors_dict["windows_sensors"]["nvidia"]["gpus"][0]["memory_available"] == 1234 - ) - assert ( - sensors_dict["windows_sensors"]["nvidia"]["gpus"][0]["memory_capacity"] == 1234 - ) - assert ( - sensors_dict["windows_sensors"]["nvidia"]["gpus"][0]["memory_maker"] - == "Memory Maker" - ) - assert sensors_dict["windows_sensors"]["nvidia"]["gpus"][0]["serial"] == "abc123" - assert ( - sensors_dict["windows_sensors"]["nvidia"]["gpus"][0]["system_type"] - == "System Type" - ) - assert sensors_dict["windows_sensors"]["nvidia"]["gpus"][0]["type"] == "Type" + assert sensors_dict == snapshot sensors_converted = Sensors(**sensors_dict) - test_sensors(sensors_converted) + assert isinstance(sensors_converted, Sensors) + assert sensors_converted == snapshot( + name="sensors-dict-converted", + ) diff --git a/tests/modules/test_system.py b/tests/modules/test_system.py index 97e3a90..244e2d1 100644 --- a/tests/modules/test_system.py +++ b/tests/modules/test_system.py @@ -1,35 +1,13 @@ """Test the networks module model.""" +from syrupy.assertion import SnapshotAssertion + from systembridgemodels.fixtures.modules.system import FIXTURE_SYSTEM -from systembridgemodels.modules.system import System, SystemUser +from systembridgemodels.modules.system import System -def test_system(): +def test_system(snapshot: SnapshotAssertion): """Test the system model.""" system = FIXTURE_SYSTEM assert isinstance(system, System) - assert system.boot_time == 1234 - assert system.fqdn == "hostname.local" - assert system.hostname == "hostname" - assert system.ip_address_4 == "192.168.1.100" - assert system.mac_address == "00:00:00:00:00:00" - assert system.platform_version == "1.0.0" - assert system.platform == "platform" - assert system.uptime == 1234 - assert isinstance(system.users, list) - assert isinstance(system.users[0], SystemUser) - assert system.users[0].name == "username" - assert system.users[0].active is True - assert system.users[0].terminal == "terminal" - assert system.users[0].host == "host" - assert system.users[0].started == 1234 - assert system.users[0].pid == 1234 - assert system.uuid == "uuid" - assert system.version == "1.0.0" - assert isinstance(system.camera_usage, list) - assert system.camera_usage[0] == "camera1" - assert system.camera_usage[1] == "camera2" - assert system.ip_address_6 == "::1" - assert system.pending_reboot is True - assert system.version_latest == "4.99.0" - assert system.version_newer_available is True + assert system == snapshot diff --git a/tests/test_action.py b/tests/test_action.py index 6829621..77c6f5e 100644 --- a/tests/test_action.py +++ b/tests/test_action.py @@ -1,9 +1,11 @@ """Test the action model.""" +from syrupy.assertion import SnapshotAssertion + from systembridgemodels.action import Action -def test_action(): +def test_action(snapshot: SnapshotAssertion): """Test action.""" action = Action( command="command", @@ -11,6 +13,4 @@ def test_action(): label="label", ) assert isinstance(action, Action) - assert action.command == "command" - assert action.data == {"key": "value"} - assert action.label == "label" + assert action == snapshot diff --git a/tests/test_const.py b/tests/test_const.py index 8e9d261..78d293d 100644 --- a/tests/test_const.py +++ b/tests/test_const.py @@ -1,13 +1,11 @@ """Test const.""" -from collections.abc import Callable +from syrupy.assertion import SnapshotAssertion from systembridgemodels.const import MODEL_MAP -def test_model_map(): +def test_model_map(snapshot: SnapshotAssertion): """Test the model_map.""" assert isinstance(MODEL_MAP, dict) - for key, value in MODEL_MAP.items(): - assert isinstance(key, str) - assert isinstance(value, Callable) + assert snapshot == MODEL_MAP diff --git a/tests/test_keyboard_key.py b/tests/test_keyboard_key.py index 8c74927..b949223 100644 --- a/tests/test_keyboard_key.py +++ b/tests/test_keyboard_key.py @@ -1,12 +1,14 @@ """Test the keyboard_key model.""" +from syrupy.assertion import SnapshotAssertion + from systembridgemodels.keyboard_key import KeyboardKey -def test_keyboard_key(): +def test_keyboard_key(snapshot: SnapshotAssertion): """Test the keyboard_key.""" keyboard_key = KeyboardKey( key="A", ) assert isinstance(keyboard_key, KeyboardKey) - assert keyboard_key.key == "A" + assert keyboard_key == snapshot diff --git a/tests/test_keyboard_text.py b/tests/test_keyboard_text.py index d17cf33..b00478e 100644 --- a/tests/test_keyboard_text.py +++ b/tests/test_keyboard_text.py @@ -1,12 +1,14 @@ """Test the keyboard_text model.""" +from syrupy.assertion import SnapshotAssertion + from systembridgemodels.keyboard_text import KeyboardText -def test_keyboard_text(): +def test_keyboard_text(snapshot: SnapshotAssertion): """Test the keyboard_text.""" keyboard_text = KeyboardText( text="Test", ) assert isinstance(keyboard_text, KeyboardText) - assert keyboard_text.text == "Test" + assert keyboard_text == snapshot diff --git a/tests/test_media_control.py b/tests/test_media_control.py index f205fb3..9327a2f 100644 --- a/tests/test_media_control.py +++ b/tests/test_media_control.py @@ -1,14 +1,15 @@ """Test the media_control model.""" +from syrupy.assertion import SnapshotAssertion + from systembridgemodels.media_control import MediaAction, MediaControl -def test_media_control(): +def test_media_control(snapshot: SnapshotAssertion): """Test the media_control.""" media_control = MediaControl( action=MediaAction.PLAY.value, value=True, ) assert isinstance(media_control, MediaControl) - assert media_control.action == MediaAction.PLAY.value - assert media_control.value is True + assert media_control == snapshot diff --git a/tests/test_media_directories.py b/tests/test_media_directories.py index 197241f..3154906 100644 --- a/tests/test_media_directories.py +++ b/tests/test_media_directories.py @@ -1,9 +1,11 @@ """Test the media_directories model.""" +from syrupy.assertion import SnapshotAssertion + from systembridgemodels.media_directories import MediaDirectory -def test_media_directories(): +def test_media_directories(snapshot: SnapshotAssertion): """Test the media_directories.""" media_directories = [ MediaDirectory( @@ -13,5 +15,4 @@ def test_media_directories(): ] assert isinstance(media_directories, list) assert isinstance(media_directories[0], MediaDirectory) - assert media_directories[0].key == "music" - assert media_directories[0].path == "path/to/file" + assert media_directories == snapshot diff --git a/tests/test_media_files.py b/tests/test_media_files.py index 5be5ec9..268b1cd 100644 --- a/tests/test_media_files.py +++ b/tests/test_media_files.py @@ -2,47 +2,29 @@ from dataclasses import asdict +from syrupy.assertion import SnapshotAssertion + from systembridgemodels.fixtures.media_files import FIXTURE_MEDIA_FILES from systembridgemodels.media_files import MediaFile, MediaFiles -def test_media_files(media_files: MediaFiles = FIXTURE_MEDIA_FILES): +def test_media_files(snapshot: SnapshotAssertion): """Test the media_files.""" + media_files = FIXTURE_MEDIA_FILES assert isinstance(media_files, MediaFiles) assert isinstance(media_files.files, list) assert isinstance(media_files.files[0], MediaFile) - assert media_files.files[0].name == "file1" - assert media_files.files[0].path == "path/to/file1" - assert media_files.files[0].fullpath == "/full/path/to/file1" - assert media_files.files[0].size == 100 - assert media_files.files[0].last_accessed == 100.0 - assert media_files.files[0].created == 100.0 - assert media_files.files[0].modified == 100.0 - assert media_files.files[0].is_directory is False - assert media_files.files[0].is_file is True - assert media_files.files[0].is_link is False - assert media_files.files[0].mime_type == "text/plain" - assert media_files.path == "path/to/file" - - -def test_media_files_dict(): + assert media_files == snapshot + + +def test_media_files_dict(snapshot: SnapshotAssertion): """Test media files dict.""" media_files_dict = asdict(FIXTURE_MEDIA_FILES) assert isinstance(media_files_dict, dict) - assert isinstance(media_files_dict["files"], list) - assert isinstance(media_files_dict["files"][0], dict) - assert media_files_dict["files"][0]["name"] == "file1" - assert media_files_dict["files"][0]["path"] == "path/to/file1" - assert media_files_dict["files"][0]["fullpath"] == "/full/path/to/file1" - assert media_files_dict["files"][0]["size"] == 100 - assert media_files_dict["files"][0]["last_accessed"] == 100.0 - assert media_files_dict["files"][0]["created"] == 100.0 - assert media_files_dict["files"][0]["modified"] == 100.0 - assert media_files_dict["files"][0]["is_directory"] is False - assert media_files_dict["files"][0]["is_file"] is True - assert media_files_dict["files"][0]["is_link"] is False - assert media_files_dict["files"][0]["mime_type"] == "text/plain" - assert media_files_dict["path"] == "path/to/file" + assert media_files_dict == snapshot media_files_converted = MediaFiles(**media_files_dict) - test_media_files(media_files_converted) + assert isinstance(media_files_converted, MediaFiles) + assert media_files_converted == snapshot( + name="media-files-dict-converted", + ) diff --git a/tests/test_media_get_file.py b/tests/test_media_get_file.py index 0a4e565..3618b1d 100644 --- a/tests/test_media_get_file.py +++ b/tests/test_media_get_file.py @@ -1,14 +1,15 @@ """Test the media_get_file model.""" +from syrupy.assertion import SnapshotAssertion + from systembridgemodels.media_get_file import MediaGetFile -def test_media_get_file(): +def test_media_get_file(snapshot: SnapshotAssertion): """Test the media_get_file.""" media_get_file = MediaGetFile( base="music", path="path/to/file", ) assert isinstance(media_get_file, MediaGetFile) - assert media_get_file.base == "music" - assert media_get_file.path == "path/to/file" + assert media_get_file == snapshot diff --git a/tests/test_media_get_files.py b/tests/test_media_get_files.py index c73174f..dd1def7 100644 --- a/tests/test_media_get_files.py +++ b/tests/test_media_get_files.py @@ -1,14 +1,15 @@ """Test the media_get_files model.""" +from syrupy.assertion import SnapshotAssertion + from systembridgemodels.media_get_files import MediaGetFiles -def test_media_get_files(): +def test_media_get_files(snapshot: SnapshotAssertion): """Test the media_get_files.""" media_get_files = MediaGetFiles( base="music", path="path/to/file", ) assert isinstance(media_get_files, MediaGetFiles) - assert media_get_files.base == "music" - assert media_get_files.path == "path/to/file" + assert media_get_files == snapshot diff --git a/tests/test_media_play.py b/tests/test_media_play.py index ec1b8c1..f00f4f6 100644 --- a/tests/test_media_play.py +++ b/tests/test_media_play.py @@ -1,9 +1,11 @@ """Test the media_play model.""" +from syrupy.assertion import SnapshotAssertion + from systembridgemodels.media_play import MediaPlay -def test_media_play(): +def test_media_play(snapshot: SnapshotAssertion): """Test the media_play.""" media_play = MediaPlay( url="https://www.example.com/audio.mp3", @@ -15,10 +17,4 @@ def test_media_play(): volume=100, ) assert isinstance(media_play, MediaPlay) - assert media_play.url == "https://www.example.com/audio.mp3" - assert media_play.album == "Album" - assert media_play.artist == "Artist" - assert media_play.autoplay is True - assert media_play.cover == "https://www.example.com/cover.png" - assert media_play.title == "Title" - assert media_play.volume == 100 + assert media_play == snapshot diff --git a/tests/test_notification.py b/tests/test_notification.py index 788c842..5d79c82 100644 --- a/tests/test_notification.py +++ b/tests/test_notification.py @@ -2,45 +2,27 @@ from dataclasses import asdict +from syrupy.assertion import SnapshotAssertion + from systembridgemodels.fixtures.notification import FIXTURE_NOTIFICATION -from systembridgemodels.notification import Action, Audio, Notification +from systembridgemodels.notification import Notification -def test_notification(notification: Notification = FIXTURE_NOTIFICATION): +def test_notification(snapshot: SnapshotAssertion): """Test the notification.""" + notification = FIXTURE_NOTIFICATION assert isinstance(notification, Notification) - assert notification.title == "Title" - assert notification.message == "Message" - assert notification.icon == "https://www.example.com/icon.png" - assert notification.image == "https://www.example.com/image.png" - assert isinstance(notification.actions, list) - assert isinstance(notification.actions[0], Action) - assert notification.actions[0].command == "COMMAND_TEST" - assert notification.actions[0].label == "LABEL_TEST" - assert notification.actions[0].data == {"test": "test"} - assert notification.timeout == 1000 - assert isinstance(notification.audio, Audio) - assert notification.audio.source == "https://www.example.com/audio.mp3" - assert notification.audio.volume == 100 - - -def test_notification_dict(): + assert notification == snapshot + + +def test_notification_dict(snapshot: SnapshotAssertion): """Test notification dict.""" notification_dict = asdict(FIXTURE_NOTIFICATION) assert isinstance(notification_dict, dict) - assert notification_dict["title"] == "Title" - assert notification_dict["message"] == "Message" - assert notification_dict["icon"] == "https://www.example.com/icon.png" - assert notification_dict["image"] == "https://www.example.com/image.png" - assert isinstance(notification_dict["actions"], list) - assert isinstance(notification_dict["actions"][0], dict) - assert notification_dict["actions"][0]["command"] == "COMMAND_TEST" - assert notification_dict["actions"][0]["label"] == "LABEL_TEST" - assert notification_dict["actions"][0]["data"] == {"test": "test"} - assert notification_dict["timeout"] == 1000 - assert isinstance(notification_dict["audio"], dict) - assert notification_dict["audio"]["source"] == "https://www.example.com/audio.mp3" - assert notification_dict["audio"]["volume"] == 100 + assert notification_dict == snapshot notification_converted = Notification(**notification_dict) - test_notification(notification_converted) + assert isinstance(notification_converted, Notification) + assert notification_converted == snapshot( + name="notification-dict-converted", + ) diff --git a/tests/test_open_path.py b/tests/test_open_path.py index 6f1c8ab..7e5647f 100644 --- a/tests/test_open_path.py +++ b/tests/test_open_path.py @@ -1,12 +1,14 @@ """Test the OpenPath model.""" +from syrupy.assertion import SnapshotAssertion + from systembridgemodels.open_path import OpenPath -def test_open_path(): +def test_open_path(snapshot: SnapshotAssertion): """Test the open_path.""" open_path = OpenPath( path="/path/to/file", ) assert isinstance(open_path, OpenPath) - assert open_path.path == "/path/to/file" + assert open_path == snapshot diff --git a/tests/test_open_url.py b/tests/test_open_url.py index 89e7ad5..5446e9e 100644 --- a/tests/test_open_url.py +++ b/tests/test_open_url.py @@ -1,12 +1,14 @@ """Test the OpenUrl model.""" +from syrupy.assertion import SnapshotAssertion + from systembridgemodels.open_url import OpenUrl -def test_open_url(): +def test_open_url(snapshot: SnapshotAssertion): """Test the open_url.""" open_url = OpenUrl( url="https://www.example.com", ) assert isinstance(open_url, OpenUrl) - assert open_url.url == "https://www.example.com" + assert open_url == snapshot diff --git a/tests/test_request.py b/tests/test_request.py index af34f33..9ae7fe2 100644 --- a/tests/test_request.py +++ b/tests/test_request.py @@ -1,9 +1,11 @@ """Test the request model.""" +from syrupy.assertion import SnapshotAssertion + from systembridgemodels.request import Request -def test_request(): +def test_request(snapshot: SnapshotAssertion): """Test the request.""" request = Request( token="abc123", @@ -12,7 +14,4 @@ def test_request(): data={"test": "test"}, ) assert isinstance(request, Request) - assert request.token == "abc123" - assert request.id == "abc123" - assert request.event == "EVENT_TEST" - assert request.data == {"test": "test"} + assert request == snapshot diff --git a/tests/test_response.py b/tests/test_response.py index c756627..e0194a2 100644 --- a/tests/test_response.py +++ b/tests/test_response.py @@ -1,9 +1,11 @@ """Test the response model.""" +from syrupy.assertion import SnapshotAssertion + from systembridgemodels.response import Response -def test_response(): +def test_response(snapshot: SnapshotAssertion): """Test the response.""" response = Response( id="abc123", @@ -14,9 +16,4 @@ def test_response(): module="MODULE_TEST", ) assert isinstance(response, Response) - assert response.id == "abc123" - assert response.type == "TYPE_TEST" - assert response.data == {"test": "test"} - assert response.subtype == "SUBTYPE_TEST" - assert response.message == "MESSAGE_TEST" - assert response.module == "MODULE_TEST" + assert response == snapshot diff --git a/tests/test_settings.py b/tests/test_settings.py index ee92011..2695a82 100644 --- a/tests/test_settings.py +++ b/tests/test_settings.py @@ -1,17 +1,22 @@ """Test the settings model.""" -from systembridgemodels.settings import Settings, SettingsAPI, SettingsMedia +from syrupy.assertion import SnapshotAssertion +from systembridgemodels.settings import Settings, SettingsAPI -def test_settings(): + +def test_settings(snapshot: SnapshotAssertion): """Test the settings.""" - settings = Settings() + settings = Settings( + api=SettingsAPI( + token="token", + ), + ) assert isinstance(settings, Settings) - assert isinstance(settings.api, SettingsAPI) - assert isinstance(settings.api.token, str) - assert isinstance(settings.api.port, int) - assert isinstance(settings.autostart, bool) - assert isinstance(settings.keyboard_hotkeys, list) - assert isinstance(settings.log_level, str) - assert isinstance(settings.media, SettingsMedia) - assert isinstance(settings.media.directories, list) + assert settings == snapshot + + +def test_settings_token(): + """Test the settings token.""" + settings = Settings() + assert settings.api.token != "" diff --git a/tests/test_update.py b/tests/test_update.py index 5432b17..0116bdc 100644 --- a/tests/test_update.py +++ b/tests/test_update.py @@ -1,14 +1,15 @@ """Test the update model.""" +from syrupy.assertion import SnapshotAssertion + from systembridgemodels._version import __version__ from systembridgemodels.update import Update -def test_update(): +def test_update(snapshot: SnapshotAssertion): """Test the update.""" update = Update( version=__version__.public(), ) assert isinstance(update, Update) - assert isinstance(update.version, str) - assert update.version == __version__.public() + assert update == snapshot