From bc433d80e96509c93cb4170919d5770ca3d57a1c Mon Sep 17 00:00:00 2001 From: Xavier Bustamante Talavera Date: Fri, 3 Aug 2018 20:07:05 +0200 Subject: [PATCH] enhance testing --- .../files/workbench-server-1.snapshot.yaml | 29 +--- tests/files/computer-monitor.snapshot.yaml | 18 +- tests/files/real-eee-1001pxd.snapshot.11.yaml | 159 +---------------- .../files/real-hp-quad-core.snapshot.11.yaml | 117 +------------ tests/files/real-hp.snapshot.11.yaml | 162 +----------------- tests/files/real-toshiba.snapshot.11.yaml | 142 +-------------- tests/files/workbench-server-1.snapshot.yaml | 86 +--------- tests/test_device.py | 72 ++++---- tests/test_inventory.py | 8 +- tests/test_tag.py | 9 +- 10 files changed, 52 insertions(+), 750 deletions(-) mode change 100644 => 120000 tests/files/computer-monitor.snapshot.yaml mode change 100644 => 120000 tests/files/real-eee-1001pxd.snapshot.11.yaml mode change 100644 => 120000 tests/files/real-hp-quad-core.snapshot.11.yaml mode change 100644 => 120000 tests/files/real-hp.snapshot.11.yaml mode change 100644 => 120000 tests/files/real-toshiba.snapshot.11.yaml mode change 100644 => 120000 tests/files/workbench-server-1.snapshot.yaml diff --git a/ereuse_devicehub/dummy/files/workbench-server-1.snapshot.yaml b/ereuse_devicehub/dummy/files/workbench-server-1.snapshot.yaml index aaec6d5f..d4a24239 100644 --- a/ereuse_devicehub/dummy/files/workbench-server-1.snapshot.yaml +++ b/ereuse_devicehub/dummy/files/workbench-server-1.snapshot.yaml @@ -9,6 +9,7 @@ type: Snapshot uuid: cb8ce6b5-6a1b-4084-b5b9-d8fadad2a015 version: '11.0' software: Workbench +expectedEvents: [TestDataStorage, StressTest, EraseSectors, Install] elapsed: 500 device: type: Desktop @@ -25,9 +26,6 @@ device: functionalityRange: B - type: BenchmarkRamSysbench rate: 2444 - - type: StressTest - elapsed: 300 - error: False components: - type: GraphicCard serialNumber: gc1-1s @@ -67,22 +65,11 @@ components: assessment: True powerCycleCount: 11 reallocatedSectorCount: 2 - powerCycleCount: 4 reportedUncorrectableErrors: 1 commandTimeout: 11 currentPendingSectorCount: 1 offlineUncorrectable: 33 remainingLifetimePercentage: 1 - - type: EraseSectors - error: False - zeros: False - startTime: 2018-01-01T10:10:10 - endTime: 2018-01-01T12:10:10 - steps: - - type: StepRandom - startTime: 2018-01-01T10:10:10 - endTime: 2018-01-01T12:10:10 - error: False - type: HardDrive serialNumber: hdd1-1s model: hdd1-1ml @@ -91,20 +78,6 @@ components: - type: BenchmarkDataStorage readSpeed: 10 writeSpeed: 5 - - type: EraseSectors - error: False - zeros: False - startTime: 2018-01-01T10:10:10 - endTime: 2018-01-01T12:10:10 - steps: - - type: StepRandom - startTime: 2018-01-01T10:10:10 - endTime: 2018-01-01T12:10:10 - error: False - - type: Install - elapsed: 420 - error: False - name: LinuxMint 18.01 32b - type: Motherboard serialNumber: mb1-1s model: mb1-1ml diff --git a/tests/files/computer-monitor.snapshot.yaml b/tests/files/computer-monitor.snapshot.yaml deleted file mode 100644 index c4988cf8..00000000 --- a/tests/files/computer-monitor.snapshot.yaml +++ /dev/null @@ -1,17 +0,0 @@ -type: Snapshot -software: AndroidApp -version: '1.0' -device: - type: ComputerMonitor - technology: LCD - manufacturer: Dell - model: 1707FPF - serialNumber: CN0FP446728728541C8S - resolutionWidth: 1920 - resolutionHeight: 1080 - size: 21.5 - events: - - type: AppRate - appearanceRange: A - functionalityRange: C - labelling: False diff --git a/tests/files/computer-monitor.snapshot.yaml b/tests/files/computer-monitor.snapshot.yaml new file mode 120000 index 00000000..6b3d3c92 --- /dev/null +++ b/tests/files/computer-monitor.snapshot.yaml @@ -0,0 +1 @@ +../../ereuse_devicehub/dummy/files/computer-monitor.snapshot.yaml \ No newline at end of file diff --git a/tests/files/real-eee-1001pxd.snapshot.11.yaml b/tests/files/real-eee-1001pxd.snapshot.11.yaml deleted file mode 100644 index 47bf9d8f..00000000 --- a/tests/files/real-eee-1001pxd.snapshot.11.yaml +++ /dev/null @@ -1,158 +0,0 @@ -{ - "components": [ - { - "type": "NetworkAdapter", - "model": "AR9285 Wireless Network Adapter", - "serialNumber": "74:2f:68:8b:fd:c8", - "manufacturer": "Qualcomm Atheros", - "wireless": true, - "events": [] - }, - { - "type": "NetworkAdapter", - "model": "AR8152 v2.0 Fast Ethernet", - "serialNumber": "14:da:e9:42:f6:7c", - "manufacturer": "Qualcomm Atheros", - "speed": 100, - "wireless": false, - "events": [] - }, - { - "type": "Processor", - "cores": 1, - "threads": 1, - "address": 64, - "model": "Intel Atom CPU N455 @ 1.66GHz", - "serialNumber": null, - "manufacturer": "Intel Corp.", - "speed": 1.667, - "events": [ - { - "type": "BenchmarkProcessorSysbench", - "rate": 164.0803, - "elapsed": 164 - }, - { - "type": "BenchmarkProcessor", - "rate": 6666.24, - "elapsed": 0 - } - ] - }, - { - "type": "GraphicCard", - "model": "Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller", - "serialNumber": null, - "memory": 256.0, - "manufacturer": "Intel Corporation", - "events": [] - }, - { - "type": "SoundCard", - "model": "NM10/ICH7 Family High Definition Audio Controller", - "serialNumber": null, - "manufacturer": "Intel Corporation", - "events": [] - }, - { - "type": "SoundCard", - "model": "USB 2.0 UVC VGA WebCam", - "serialNumber": "0x0001", - "manufacturer": "Azurewave", - "events": [] - }, - { - "type": "RamModule", - "format": "DIMM", - "model": null, - "size": 1024, - "interface": "DDR2", - "serialNumber": null, - "manufacturer": null, - "speed": 667.0, - "events": [] - }, - { - "type": "HardDrive", - "model": "HTS54322", - "size": 238475, - "interface": "ATA", - "serialNumber": "E2024242CV86HJ", - "manufacturer": "Hitachi", - "events": [ - { - "type": "BenchmarkDataStorage", - "elapsed": 16, - "writeSpeed": 21.8, - "readSpeed": 66.2 - }, - { - "type": "TestDataStorage", - "length": "Short", - "elapsed": 2, - "error": true, - "status": "Unspecified Error. Self-test not started." - }, - { - "type": "EraseBasic", - "steps": [ - { - "type": "StepRandom", - "startTime": "2018-07-03T09:15:22.257059", - "error": false, - "endTime": "2018-07-03T10:32:11.843190" - } - ], - "startTime": "2018-07-03T09:15:22.256074", - "error": false, - "zeros": false, - "endTime": "2018-07-03T10:32:11.848455" - } - ] - }, - { - "type": "Motherboard", - "serial": 1, - "firewire": 0, - "model": "1001PXD", - "slots": 2, - "pcmcia": 0, - "serialNumber": "Eee0123456789", - "usb": 5, - "manufacturer": "ASUSTeK Computer INC.", - "events": [] - } - ], - "elapsed": 4875, - "uuid": "c058e8d2-fb92-47cb-a4b7-522b75561135", - "version": "11.0a2", - "type": "Snapshot", - "software": "Workbench", - "endTime": "2018-07-03T09:10:57.034598", - "device": { - "type": "Laptop", - "model": "1001PXD", - "serialNumber": "B8OAAS048286", - "manufacturer": "ASUSTeK Computer INC.", - "chassis": "Netbook", - "events": [ - { - "type": "BenchmarkRamSysbench", - "rate": 15.7188, - "elapsed": 16 - }, - { - "type": "StressTest", - "error": false, - "elapsed": 60 - } - ] - }, - "expectedEvents": [ - "Benchmark", - "SmartTest", - "StressTest", - "EraseBasic" - ], - "closed": false -} diff --git a/tests/files/real-eee-1001pxd.snapshot.11.yaml b/tests/files/real-eee-1001pxd.snapshot.11.yaml new file mode 120000 index 00000000..cc75dff0 --- /dev/null +++ b/tests/files/real-eee-1001pxd.snapshot.11.yaml @@ -0,0 +1 @@ +../../ereuse_devicehub/dummy/files/real-eee-1001pxd.snapshot.11.yaml \ No newline at end of file diff --git a/tests/files/real-hp-quad-core.snapshot.11.yaml b/tests/files/real-hp-quad-core.snapshot.11.yaml deleted file mode 100644 index 86a38a0c..00000000 --- a/tests/files/real-hp-quad-core.snapshot.11.yaml +++ /dev/null @@ -1,116 +0,0 @@ -{ - "elapsed": 4, - "type": "Snapshot", - "uuid": "0c822fb7-6e51-4781-86cf-994bd306212e", - "software": "Workbench", - "closed": false, - "endTime": "2018-07-05T11:57:17.284891", - "components": [ - { - "type": "NetworkAdapter", - "model": "82567LM-3 Gigabit Network Connection", - "speed": 1000, - "serialNumber": "00:23:24:0d:86:28", - "manufacturer": "Intel Corporation", - "wireless": false, - "events": [] - }, - { - "type": "NetworkAdapter", - "model": "82541PI Gigabit Ethernet Controller", - "speed": 1000, - "serialNumber": "00:0e:0c:b6:f2:91", - "manufacturer": "Intel Corporation", - "wireless": false, - "events": [] - }, - { - "cores": 4, - "type": "Processor", - "model": "Intel Core2 Quad CPU Q8400 @ 2.66GHz", - "speed": 1.9980000000000002, - "serialNumber": null, - "manufacturer": "Intel Corp.", - "events": [], - "address": 64 - }, - { - "type": "GraphicCard", - "model": "4 Series Chipset Integrated Graphics Controller", - "serialNumber": null, - "manufacturer": "Intel Corporation", - "events": [], - "memory": 256.0 - }, - { - "type": "SoundCard", - "model": "82801JD/DO HD Audio Controller", - "serialNumber": null, - "manufacturer": "Intel Corporation", - "events": [] - }, - { - "size": 2048, - "interface": "DDR3", - "type": "RamModule", - "model": "16JTF25664AZ-1G4F", - "speed": 1333.0, - "serialNumber": "F8482E29", - "format": "DIMM", - "manufacturer": "JEDEC ID:80 2C", - "events": [] - }, - { - "size": 2048, - "interface": "DDR3", - "type": "RamModule", - "model": "16JTF25664AZ-1G4F", - "speed": 1333.0, - "serialNumber": "62072F30", - "format": "DIMM", - "manufacturer": "JEDEC ID:80 2C", - "events": [] - }, - { - "size": 238475, - "interface": "ATA", - "type": "HardDrive", - "model": "ST3250318AS", - "serialNumber": "9VY6HBKE", - "manufacturer": "Seagate", - "events": [ - { - "elapsed": 0, - "type": "TestDataStorage", - "status": "Unspecified Error. Self-test not started.", - "error": true, - "length": "Short" - } - ] - }, - { - "slots": 0, - "pcmcia": 0, - "type": "Motherboard", - "model": "3646h", - "serialNumber": "CZC03217S7", - "firewire": 0, - "manufacturer": "Hewlett-Packard", - "events": [], - "serial": 0, - "usb": 8 - } - ], - "version": "11.0a3", - "device": { - "type": "Desktop", - "model": "HP Compaq 8000 Elite SFF", - "chassis": "Tower", - "serialNumber": "CZC03217S7", - "manufacturer": "Hewlett-Packard", - "events": [] - }, - "expectedEvents": [ - "SmartTest" - ] -} diff --git a/tests/files/real-hp-quad-core.snapshot.11.yaml b/tests/files/real-hp-quad-core.snapshot.11.yaml new file mode 120000 index 00000000..ea4a815c --- /dev/null +++ b/tests/files/real-hp-quad-core.snapshot.11.yaml @@ -0,0 +1 @@ +../../ereuse_devicehub/dummy/files/real-hp-quad-core.snapshot.11.yaml \ No newline at end of file diff --git a/tests/files/real-hp.snapshot.11.yaml b/tests/files/real-hp.snapshot.11.yaml deleted file mode 100644 index b360e15d..00000000 --- a/tests/files/real-hp.snapshot.11.yaml +++ /dev/null @@ -1,161 +0,0 @@ -{ - "closed": false, - "uuid": "f9e5e587-baee-44e1-9a94-255d216bbda9", - "components": [ - { - "events": [], - "serialNumber": "6c:62:6d:81:22:9f", - "type": "NetworkAdapter", - "manufacturer": "Intel Corporation", - "speed": 1000, - "wireless": false, - "model": "82578DM Gigabit Network Connection" - }, - { - "format": "DIMM", - "events": [ - ], - "interface": "DDR3", - "serialNumber": "B4012F30", - "size": 2048, - "type": "RamModule", - "manufacturer": "JEDEC ID:80 2C", - "speed": 1333.0, - "model": "16JTF25664AZ-1G4F" - }, - { - "format": "DIMM", - "events": [], - "interface": "DDR3", - "serialNumber": "8E9F2E29", - "size": 2048, - "type": "RamModule", - "manufacturer": "JEDEC ID:80 2C", - "speed": 1333.0, - "model": "16JTF25664AZ-1G4F" - }, - { - "format": "DIMM", - "events": [], - "interface": "DDR3", - "serialNumber": "9A012F30", - "size": 2048, - "type": "RamModule", - "manufacturer": "JEDEC ID:80 2C", - "speed": 1333.0, - "model": "16JTF25664AZ-1G4F" - }, - { - "format": "DIMM", - "events": [ - ], - "interface": "DDR3", - "serialNumber": "8F9F2E29", - "size": 2048, - "type": "RamModule", - "manufacturer": "JEDEC ID:80 2C", - "speed": 1333.0, - "model": "16JTF25664AZ-1G4F" - }, - { - "cores": 2, - "events": [ - { - "rate": 23410.76, - "type": "BenchmarkProcessor", - "elapsed": 1 - }, - { - "rate": 17.0186, - "type": "BenchmarkProcessorSysbench", - "elapsed": 18 - } - ], - "serialNumber": null, - "type": "Processor", - "manufacturer": "Intel Corp.", - "address": 64, - "speed": 1.199, - "model": "Intel Core i3 CPU 530 @ 2.93GHz" - }, - { - "events": [ - { - "writeSpeed": 24.5, - "readSpeed": 111.0, - "type": "BenchmarkDataStorage", - "elapsed": 14 - }, - { - "status": "Unspecified Error. Self-test not started.", - "error": true, - "type": "TestDataStorage", - "elapsed": 1, - "length": Short - } - ], - "interface": "ATA", - "serialNumber": "WD-WCAV2U909540", - "size": 305245, - "type": "HardDrive", - "manufacturer": "Western Digital", - "model": "WDC WD3200AAJS-6" - }, - { - "events": [], - "serialNumber": null, - "type": "SoundCard", - "manufacturer": "Intel Corporation", - "model": "5 Series/3400 Series Chipset High Definition Audio" - }, - { - "memory": 256.0, - "events": [], - "serialNumber": null, - "type": "GraphicCard", - "manufacturer": "Intel Corporation", - "model": "Core Processor Integrated Graphics Controller" - }, - { - "events": [], - "firewire": 0, - "pcmcia": 0, - "serialNumber": "CZC0408YJG", - "slots": 0, - "type": "Motherboard", - "manufacturer": "Hewlett-Packard", - "usb": 2, - "serial": 0, - "model": "304Ah" - } - ], - "software": "Workbench", - "elapsed": 96, - "version": "11.0a1", - "expectedEvents": [ - "StressTest", - "Benchmark", - "SmartTest" - ], - "device": { - "events": [ - { - "type": "StressTest", - "elapsed": 60, - "error": false - }, - { - "rate": 0.9759, - "type": "BenchmarkRamSysbench", - "elapsed": 1 - } - ], - "serialNumber": "CZC0408YJG", - "type": "Desktop", - "manufacturer": "Hewlett-Packard", - "chassis": "Tower", - "model": "HP Compaq 8100 Elite SFF" - }, - "type": "Snapshot", - "endTime": "2018-06-29T12:28:54.508266" -} diff --git a/tests/files/real-hp.snapshot.11.yaml b/tests/files/real-hp.snapshot.11.yaml new file mode 120000 index 00000000..6d597f31 --- /dev/null +++ b/tests/files/real-hp.snapshot.11.yaml @@ -0,0 +1 @@ +../../ereuse_devicehub/dummy/files/real-hp.snapshot.11.yaml \ No newline at end of file diff --git a/tests/files/real-toshiba.snapshot.11.yaml b/tests/files/real-toshiba.snapshot.11.yaml deleted file mode 100644 index 1ea7be17..00000000 --- a/tests/files/real-toshiba.snapshot.11.yaml +++ /dev/null @@ -1,141 +0,0 @@ -{ - "expectedEvents": [ - "SmartTest", - "Benchmark", - "StressTest" - ], - "endTime": "2018-06-29T15:29:29.322424", - "elapsed": 391, - "software": "Workbench", - "components": [ - { - "serialNumber": null, - "interface": "DDR", - "size": 1024, - "manufacturer": null, - "format": "SODIMM", - "events": [ - ], - "speed": 533.0, - "type": "RamModule", - "model": null - }, - { - "serialNumber": null, - "manufacturer": "Intel Corporation", - "events": [], - "type": "SoundCard", - "model": "NM10/ICH7 Family High Definition Audio Controller" - }, - { - "serialNumber": null, - "manufacturer": "Chicony Electronics Co., Ltd.", - "events": [], - "type": "SoundCard", - "model": "USB2.0 UVC WebCam" - }, - { - "serialNumber": "00:23:08:a5:07:6d", - "manufacturer": "Qualcomm Atheros", - "events": [], - "type": "NetworkAdapter", - "wireless": true, - "model": "AR9285 Wireless Network Adapter" - }, - { - "serialNumber": "00:23:5a:fe:d7:14", - "manufacturer": "Realtek Semiconductor Co., Ltd.", - "events": [], - "speed": 100, - "type": "NetworkAdapter", - "wireless": false, - "model": "RTL810xE PCI Express Fast Ethernet controller" - }, - { - "serialNumber": null, - "address": 32, - "manufacturer": "Intel Corp.", - "events": [ - { - "rate": 171.3049, - "type": "BenchmarkProcessorSysbench", - "elapsed": 171 - }, - { - "rate": 6383.9, - "type": "BenchmarkProcessor", - "elapsed": 1 - } - ], - "speed": 1.3330000000000002, - "type": "Processor", - "model": "Intel Atom CPU N270 @ 1.60GHz" - }, - { - "memory": 256.0, - "serialNumber": null, - "manufacturer": "Intel Corporation", - "events": [], - "type": "GraphicCard", - "model": "Mobile 945GSE Express Integrated Graphics Controller" - }, - { - "serialNumber": "090623PB5B00QCGREMAH", - "interface": "ATA", - "size": 152627, - "manufacturer": "Hitachi", - "events": [ - { - "elapsed": 71, - "readSpeed": 19.1, - "type": "BenchmarkDataStorage", - "writeSpeed": 4.7 - }, - { - "elapsed": 2, - "status": "Unspecified Error. Self-test not started.", - "type": "TestDataStorage", - "length": Short, - "error": true - } - ], - "type": "HardDrive", - "model": "HTS54501" - }, - { - "slots": 0, - "serialNumber": "0123456789AB", - "manufacturer": "TOSHIBA", - "firewire": 0, - "events": [], - "pcmcia": 0, - "usb": 5, - "serial": 1, - "type": "Motherboard", - "model": "KAVAA" - } - ], - "version": "11.0a1", - "device": { - "serialNumber": "79545417K", - "manufacturer": "TOSHIBA", - "events": [ - { - "type": "StressTest", - "error": false, - "elapsed": 120 - }, - { - "rate": 19.0443, - "type": "BenchmarkRamSysbench", - "elapsed": 19 - } - ], - "type": "Laptop", - "chassis": "Netbook", - "model": "NB200" - }, - "uuid": "918726ae-c6bc-40aa-97cf-ad80d69268f9", - "closed": false, - "type": "Snapshot" -} diff --git a/tests/files/real-toshiba.snapshot.11.yaml b/tests/files/real-toshiba.snapshot.11.yaml new file mode 120000 index 00000000..a4b000b9 --- /dev/null +++ b/tests/files/real-toshiba.snapshot.11.yaml @@ -0,0 +1 @@ +../../ereuse_devicehub/dummy/files/real-toshiba.snapshot.11.yaml \ No newline at end of file diff --git a/tests/files/workbench-server-1.snapshot.yaml b/tests/files/workbench-server-1.snapshot.yaml deleted file mode 100644 index cb733443..00000000 --- a/tests/files/workbench-server-1.snapshot.yaml +++ /dev/null @@ -1,85 +0,0 @@ -# A Snapshot Phase 1 with a device -# and 1 GraphicCard, 2 RamModule, 1 Processor, 1 SSD, 1 HDD, 1 Motherboard -# Prerequisites: -# - 2 tags: tag1 and tag2 from the default org -# All numbers are invented - - -type: Snapshot -uuid: cb8ce6b5-6a1b-4084-b5b9-d8fadad2a015 -version: '11.0' -software: Workbench -expectedEvents: [TestDataStorage, StressTest, EraseSectors, Install] -elapsed: 500 -device: - type: Desktop - chassis: Tower - serialNumber: d1s - model: d1ml - manufacturer: d1mr - tags: - - type: Tag - id: tag1 - events: - - type: WorkbenchRate - appearanceRange: A - functionalityRange: B - - type: BenchmarkRamSysbench - rate: 2444 -components: -- type: GraphicCard - serialNumber: gc1-1s - model: gc1-1ml - manufacturer: gc1-1mr -- type: RamModule - serialNumber: rm1-1s - model: rm1-1ml - manufacturer: rm1-1mr -- type: RamModule - serialNumber: rm2-1s - model: rm2-1ml - manufacturer: rm2-1mr -- type: Processor - model: p1-1s - manufacturer: p1-1mr - events: - - type: BenchmarkProcessor - rate: 2410 - - type: BenchmarkProcessorSysbench - rate: 4400 -- type: SolidStateDrive - serialNumber: ssd1-1s - model: ssd1-1ml - manufacturer: ssd1-1mr - events: - - type: BenchmarkDataStorage - readSpeed: 20 - writeSpeed: 15 - elapsed: 21 - - type: TestDataStorage - elapsed: 233 - error: False - status: Completed without error - length: Short - lifetime: 99 - assessment: True - powerCycleCount: 11 - reallocatedSectorCount: 2 - powerCycleCount: 4 - reportedUncorrectableErrors: 1 - commandTimeout: 11 - currentPendingSectorCount: 1 - offlineUncorrectable: 33 - remainingLifetimePercentage: 1 -- type: HardDrive - serialNumber: hdd1-1s - model: hdd1-1ml - manufacturer: hdd1-1mr - events: - - type: BenchmarkDataStorage - readSpeed: 10 - writeSpeed: 5 -- type: Motherboard - serialNumber: mb1-1s - model: mb1-1ml - manufacturer: mb1-1mr diff --git a/tests/files/workbench-server-1.snapshot.yaml b/tests/files/workbench-server-1.snapshot.yaml new file mode 120000 index 00000000..a29ed366 --- /dev/null +++ b/tests/files/workbench-server-1.snapshot.yaml @@ -0,0 +1 @@ +../../ereuse_devicehub/dummy/files/workbench-server-1.snapshot.yaml \ No newline at end of file diff --git a/tests/test_device.py b/tests/test_device.py index 381352be..124f1660 100644 --- a/tests/test_device.py +++ b/tests/test_device.py @@ -22,10 +22,10 @@ from ereuse_devicehub.resources.tag.model import Tag from ereuse_devicehub.resources.user import User from ereuse_utils.naming import Naming from teal.db import ResourceNotFound -from tests.conftest import file +from tests import conftest -@pytest.mark.usefixtures('app_context') +@pytest.mark.usefixtures(conftest.app_context.__name__) def test_device_model(): """ Tests that the correctness of the device model and its relationships. @@ -69,7 +69,7 @@ def test_device_model(): assert GraphicCard.query.first() is None, 'We should have deleted it –it was inside the pc' -@pytest.mark.usefixtures('app_context') +@pytest.mark.usefixtures(conftest.app_context.__name__) def test_device_schema(): """Ensures the user does not upload non-writable or extra fields.""" device_s = DeviceS() @@ -77,7 +77,7 @@ def test_device_schema(): device_s.dump(Device(id=1)) -@pytest.mark.usefixtures('app_context') +@pytest.mark.usefixtures(conftest.app_context.__name__) def test_physical_properties(): c = Motherboard(slots=2, usb=3, @@ -107,9 +107,9 @@ def test_physical_properties(): } -@pytest.mark.usefixtures('app_context') +@pytest.mark.usefixtures(conftest.app_context.__name__) def test_component_similar_one(): - snapshot = file('pc-components.db') + snapshot = conftest.file('pc-components.db') d = snapshot['device'] snapshot['components'][0]['serial_number'] = snapshot['components'][1]['serial_number'] = None pc = Desktop(**d, components=OrderedSet(Component(**c) for c in snapshot['components'])) @@ -135,7 +135,7 @@ def test_add_remove(): # pc has c1 and c2 # pc2 has c3 # c4 is not with any pc - values = file('pc-components.db') + values = conftest.file('pc-components.db') pc = values['device'] c1, c2 = (Component(**c) for c in values['components']) pc = Desktop(**pc, components=OrderedSet([c1, c2])) @@ -160,13 +160,13 @@ def test_add_remove(): assert events[0].components == OrderedSet([c3]) -@pytest.mark.usefixtures('app_context') +@pytest.mark.usefixtures(conftest.app_context.__name__) def test_sync_run_components_empty(): """ Syncs a device that has an empty components list. The system should remove all the components from the device. """ - s = file('pc-components.db') + s = conftest.file('pc-components.db') pc = Desktop(**s['device'], components=OrderedSet(Component(**c) for c in s['components'])) db.session.add(pc) db.session.commit() @@ -178,13 +178,13 @@ def test_sync_run_components_empty(): assert not pc.components -@pytest.mark.usefixtures('app_context') +@pytest.mark.usefixtures(conftest.app_context.__name__) def test_sync_run_components_none(): """ Syncs a device that has a None components. The system should keep all the components from the device. """ - s = file('pc-components.db') + s = conftest.file('pc-components.db') pc = Desktop(**s['device'], components=OrderedSet(Component(**c) for c in s['components'])) db.session.add(pc) db.session.commit() @@ -196,48 +196,48 @@ def test_sync_run_components_none(): assert db_pc.components == pc.components -@pytest.mark.usefixtures('app_context') +@pytest.mark.usefixtures(conftest.app_context.__name__) def test_sync_execute_register_Desktop_new_Desktop_no_tag(): """ Syncs a new Desktop with HID and without a tag, creating it. :return: """ # Case 1: device does not exist on DB - pc = Desktop(**file('pc-components.db')['device']) + pc = Desktop(**conftest.file('pc-components.db')['device']) db_pc = Sync().execute_register(pc) assert pc.physical_properties == db_pc.physical_properties -@pytest.mark.usefixtures('app_context') +@pytest.mark.usefixtures(conftest.app_context.__name__) def test_sync_execute_register_Desktop_existing_no_tag(): """ Syncs an existing Desktop with HID and without a tag. """ - pc = Desktop(**file('pc-components.db')['device']) + pc = Desktop(**conftest.file('pc-components.db')['device']) db.session.add(pc) db.session.commit() - pc = Desktop(**file('pc-components.db')['device']) # Create a new transient non-db object + pc = Desktop(**conftest.file('pc-components.db')['device']) # Create a new transient non-db object # 1: device exists on DB db_pc = Sync().execute_register(pc) assert pc.physical_properties == db_pc.physical_properties -@pytest.mark.usefixtures('app_context') +@pytest.mark.usefixtures(conftest.app_context.__name__) def test_sync_execute_register_Desktop_no_hid_no_tag(): """ Syncs a Desktop without HID and no tag. This should fail as we don't have a way to identify it. """ - pc = Desktop(**file('pc-components.db')['device']) + pc = Desktop(**conftest.file('pc-components.db')['device']) # 1: device has no HID pc.hid = pc.model = None with pytest.raises(NeedsId): Sync().execute_register(pc) -@pytest.mark.usefixtures('app_context') +@pytest.mark.usefixtures(conftest.app_context.__name__) def test_sync_execute_register_Desktop_tag_not_linked(): """ Syncs a new Desktop with HID and a non-linked tag. @@ -249,14 +249,14 @@ def test_sync_execute_register_Desktop_tag_not_linked(): db.session.commit() # Create a new transient non-db object - pc = Desktop(**file('pc-components.db')['device'], tags=OrderedSet([Tag(id='FOO')])) + pc = Desktop(**conftest.file('pc-components.db')['device'], tags=OrderedSet([Tag(id='FOO')])) returned_pc = Sync().execute_register(pc) assert returned_pc == pc assert tag.device == pc, 'Tag has to be linked' assert Desktop.query.one() == pc, 'Desktop had to be set to db' -@pytest.mark.usefixtures('app_context') +@pytest.mark.usefixtures(conftest.app_context.__name__) def test_sync_execute_register_no_hid_tag_not_linked(tag_id: str): """ Validates registering a Desktop without HID and a non-linked tag. @@ -266,7 +266,7 @@ def test_sync_execute_register_no_hid_tag_not_linked(tag_id: str): be linked), and thus it creates a new Desktop. """ tag = Tag(id=tag_id) - pc = Desktop(**file('pc-components.db')['device'], tags=OrderedSet([tag])) + pc = Desktop(**conftest.file('pc-components.db')['device'], tags=OrderedSet([tag])) returned_pc = Sync().execute_register(pc) db.session.commit() assert returned_pc == pc @@ -279,7 +279,7 @@ def test_sync_execute_register_no_hid_tag_not_linked(tag_id: str): assert Desktop.query.one() == pc, 'Desktop had to be set to db' -@pytest.mark.usefixtures('app_context') +@pytest.mark.usefixtures(conftest.app_context.__name__) def test_sync_execute_register_tag_does_not_exist(): """ Ensures not being able to register if the tag does not exist, @@ -287,12 +287,12 @@ def test_sync_execute_register_tag_does_not_exist(): Tags have to be created before trying to link them through a Snapshot. """ - pc = Desktop(**file('pc-components.db')['device'], tags=OrderedSet([Tag()])) + pc = Desktop(**conftest.file('pc-components.db')['device'], tags=OrderedSet([Tag()])) with raises(ResourceNotFound): Sync().execute_register(pc) -@pytest.mark.usefixtures('app_context') +@pytest.mark.usefixtures(conftest.app_context.__name__) def test_sync_execute_register_tag_linked_same_device(): """ If the tag is linked to the device, regardless if it has HID, @@ -300,11 +300,11 @@ def test_sync_execute_register_tag_linked_same_device(): (If it has HID it validates both HID and tag point at the same device, this his checked in ). """ - orig_pc = Desktop(**file('pc-components.db')['device']) + orig_pc = Desktop(**conftest.file('pc-components.db')['device']) db.session.add(Tag(id='foo', device=orig_pc)) db.session.commit() - pc = Desktop(**file('pc-components.db')['device']) # Create a new transient non-db object + pc = Desktop(**conftest.file('pc-components.db')['device']) # Create a new transient non-db object pc.tags.add(Tag(id='foo')) db_pc = Sync().execute_register(pc) assert db_pc.id == orig_pc.id @@ -312,28 +312,28 @@ def test_sync_execute_register_tag_linked_same_device(): assert next(iter(db_pc.tags)).id == 'foo' -@pytest.mark.usefixtures('app_context') +@pytest.mark.usefixtures(conftest.app_context.__name__) def test_sync_execute_register_tag_linked_other_device_mismatch_between_tags(): """ Checks that sync raises an error if finds that at least two passed-in tags are not linked to the same device. """ - pc1 = Desktop(**file('pc-components.db')['device']) + pc1 = Desktop(**conftest.file('pc-components.db')['device']) db.session.add(Tag(id='foo-1', device=pc1)) - pc2 = Desktop(**file('pc-components.db')['device']) + pc2 = Desktop(**conftest.file('pc-components.db')['device']) pc2.serial_number = 'pc2-serial' pc2.hid = Naming.hid(pc2.manufacturer, pc2.serial_number, pc2.model) db.session.add(Tag(id='foo-2', device=pc2)) db.session.commit() - pc1 = Desktop(**file('pc-components.db')['device']) # Create a new transient non-db object + pc1 = Desktop(**conftest.file('pc-components.db')['device']) # Create a new transient non-db object pc1.tags.add(Tag(id='foo-1')) pc1.tags.add(Tag(id='foo-2')) with raises(MismatchBetweenTags): Sync().execute_register(pc1) -@pytest.mark.usefixtures('app_context') +@pytest.mark.usefixtures(conftest.app_context.__name__) def test_sync_execute_register_mismatch_between_tags_and_hid(): """ Checks that sync raises an error if it finds that the HID does @@ -341,15 +341,15 @@ def test_sync_execute_register_mismatch_between_tags_and_hid(): In this case we set HID -> pc1 but tag -> pc2 """ - pc1 = Desktop(**file('pc-components.db')['device']) + pc1 = Desktop(**conftest.file('pc-components.db')['device']) db.session.add(Tag(id='foo-1', device=pc1)) - pc2 = Desktop(**file('pc-components.db')['device']) + pc2 = Desktop(**conftest.file('pc-components.db')['device']) pc2.serial_number = 'pc2-serial' pc2.hid = Naming.hid(pc2.manufacturer, pc2.serial_number, pc2.model) db.session.add(Tag(id='foo-2', device=pc2)) db.session.commit() - pc1 = Desktop(**file('pc-components.db')['device']) # Create a new transient non-db object + pc1 = Desktop(**conftest.file('pc-components.db')['device']) # Create a new transient non-db object pc1.tags.add(Tag(id='foo-2')) with raises(MismatchBetweenTagsAndHid): Sync().execute_register(pc1) @@ -418,7 +418,7 @@ def test_get_devices(app: Devicehub, user: UserClient): 'NetworkAdapter', 'GraphicCard') -@pytest.mark.usefixtures('app_context') +@pytest.mark.usefixtures(conftest.app_context.__name__) def test_computer_monitor(): m = ComputerMonitor(technology=DisplayTech.LCD, manufacturer='foo', diff --git a/tests/test_inventory.py b/tests/test_inventory.py index 53fbe932..c0f1c0d7 100644 --- a/tests/test_inventory.py +++ b/tests/test_inventory.py @@ -8,10 +8,10 @@ from ereuse_devicehub.resources.enums import ComputerChassis from ereuse_devicehub.resources.event.models import Snapshot from ereuse_devicehub.resources.inventory import Filters, Inventory, Sorting from teal.utils import compiled -from tests.conftest import file +from tests import conftest -@pytest.mark.usefixtures('app_context') +@pytest.mark.usefixtures(conftest.app_context.__name__) def test_inventory_filters(): schema = Filters() q = schema.load({ @@ -43,7 +43,7 @@ def test_inventory_filters(): 'Server', 'Dell%', 'Computer', 'bcn-%'} -@pytest.mark.usefixtures('app_context') +@pytest.mark.usefixtures(conftest.app_context.__name__) def test_inventory_sort(): schema = Sorting() r = next(schema.load({'created': True})) @@ -96,7 +96,7 @@ def test_inventory_query_filter_sort(user: UserClient): def test_inventory_query(user: UserClient): """Checks result of inventory.""" - user.post(file('basic.snapshot'), res=Snapshot) + user.post(conftest.file('basic.snapshot'), res=Snapshot) i, _ = user.get(res=Inventory) pc = next(d for d in i['devices'] if d['type'] == 'Desktop') assert len(pc['events']) == 4 diff --git a/tests/test_tag.py b/tests/test_tag.py index cad129e2..7fbd7641 100644 --- a/tests/test_tag.py +++ b/tests/test_tag.py @@ -12,9 +12,10 @@ from ereuse_devicehub.resources.tag import Tag from ereuse_devicehub.resources.tag.view import CannotCreateETag, TagNotLinked from teal.db import MultipleResourcesFound, ResourceNotFound from teal.marshmallow import ValidationError +from tests import conftest -@pytest.mark.usefixtures('app_context') +@pytest.mark.usefixtures(conftest.app_context.__name__) def test_create_tag(): """Creates a tag specifying a custom organization.""" org = Organization(name='Bar', tax_id='BarTax') @@ -23,7 +24,7 @@ def test_create_tag(): db.session.commit() -@pytest.mark.usefixtures('app_context') +@pytest.mark.usefixtures(conftest.app_context.__name__) def test_create_tag_default_org(): """Creates a tag using the default organization.""" tag = Tag(id='foo-1') @@ -36,14 +37,14 @@ def test_create_tag_default_org(): assert tag.org.name == 'FooOrg' # as defined in the settings -@pytest.mark.usefixtures('app_context') +@pytest.mark.usefixtures(conftest.app_context.__name__) def test_create_tag_no_slash(): """Checks that no tags can be created that contain a slash.""" with raises(ValidationError): Tag(id='/') -@pytest.mark.usefixtures('app_context') +@pytest.mark.usefixtures(conftest.app_context.__name__) def test_create_two_same_tags(): """Ensures there cannot be two tags with the same ID and organization.""" db.session.add(Tag(id='foo-bar'))