50 lines
1.4 KiB
Python
50 lines
1.4 KiB
Python
from device.models import Device
|
|
from unittest.mock import MagicMock
|
|
|
|
|
|
class TestDevice(Device):
|
|
def __init__(self, id):
|
|
super().__init__(id=id)
|
|
self.shortid = id[:6].upper()
|
|
self.uuids = []
|
|
self.hids = ['hid1', 'hid2']
|
|
self._setup_evidence()
|
|
|
|
def _setup_evidence(self):
|
|
self._evidence = MagicMock()
|
|
self._evidence.doc = {
|
|
'type': 'Computer',
|
|
'manufacturer': 'Test Manufacturer',
|
|
'model': 'Test Model',
|
|
'device': {
|
|
'serialNumber': 'SN123456',
|
|
'type': 'Computer'
|
|
}
|
|
}
|
|
self._evidence.get_manufacturer = lambda: 'Test Manufacturer'
|
|
self._evidence.get_model = lambda: 'Test Model'
|
|
self._evidence.get_chassis = lambda: 'Computer'
|
|
self._evidence.get_components = lambda: [
|
|
{
|
|
'type': 'CPU',
|
|
'model': 'Intel i7',
|
|
'manufacturer': 'Intel',
|
|
'serialNumber': 'SN12345678'
|
|
},
|
|
{
|
|
'type': 'RAM',
|
|
'size': '8GB',
|
|
'manufacturer': 'Kingston',
|
|
'serialNumber': 'SN87654321'
|
|
}
|
|
]
|
|
self.last_evidence = self._evidence
|
|
|
|
@property
|
|
def components(self):
|
|
return self.last_evidence.get_components()
|
|
|
|
@property
|
|
def serial_number(self):
|
|
return self.last_evidence.doc['device']['serialNumber']
|