fix tests
This commit is contained in:
parent
b3b4e8cd2b
commit
84e937026e
|
@ -580,6 +580,7 @@ class NewDeviceForm(FlaskForm):
|
||||||
device.image = URL(self.image.data)
|
device.image = URL(self.image.data)
|
||||||
|
|
||||||
device.placeholder = self.get_placeholder()
|
device.placeholder = self.get_placeholder()
|
||||||
|
device.set_hid()
|
||||||
db.session.add(device)
|
db.session.add(device)
|
||||||
|
|
||||||
placeholder_log = PlaceholdersLog(
|
placeholder_log = PlaceholdersLog(
|
||||||
|
|
|
@ -67,7 +67,6 @@ class DeviceListMixin(GenericMixin):
|
||||||
page = int(request.args.get('page', 1))
|
page = int(request.args.get('page', 1))
|
||||||
per_page = int(request.args.get('per_page', PER_PAGE))
|
per_page = int(request.args.get('per_page', PER_PAGE))
|
||||||
filter = request.args.get('filter', "All+Computers")
|
filter = request.args.get('filter', "All+Computers")
|
||||||
# import pdb; pdb.set_trace()
|
|
||||||
|
|
||||||
lots = self.context['lots']
|
lots = self.context['lots']
|
||||||
form_filter = FilterForm(lots, lot_id, all_devices=all_devices)
|
form_filter = FilterForm(lots, lot_id, all_devices=all_devices)
|
||||||
|
|
|
@ -21,7 +21,8 @@ class MetricsMix:
|
||||||
"""
|
"""
|
||||||
This is a template of a row.
|
This is a template of a row.
|
||||||
"""
|
"""
|
||||||
return {'type': '',
|
return {
|
||||||
|
'type': '',
|
||||||
'action_type': 'Status',
|
'action_type': 'Status',
|
||||||
'document_name': '',
|
'document_name': '',
|
||||||
'status_receiver': self.status_receiver,
|
'status_receiver': self.status_receiver,
|
||||||
|
@ -41,7 +42,8 @@ class MetricsMix:
|
||||||
'usageTimeHdd': self.lifetime,
|
'usageTimeHdd': self.lifetime,
|
||||||
'created': self.act.created,
|
'created': self.act.created,
|
||||||
'start': '',
|
'start': '',
|
||||||
'usageTimeAllocate': 0}
|
'usageTimeAllocate': 0,
|
||||||
|
}
|
||||||
|
|
||||||
def get_metrics(self):
|
def get_metrics(self):
|
||||||
"""
|
"""
|
||||||
|
@ -57,7 +59,7 @@ class Metrics(MetricsMix):
|
||||||
self.device = kwargs.pop('device')
|
self.device = kwargs.pop('device')
|
||||||
self.actions = copy.copy(self.device.actions)
|
self.actions = copy.copy(self.device.actions)
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
self.hid = self.device.hid
|
self.hid = self.device.chid
|
||||||
self.devicehub_id = self.device.devicehub_id
|
self.devicehub_id = self.device.devicehub_id
|
||||||
|
|
||||||
def get_action_status(self):
|
def get_action_status(self):
|
||||||
|
|
|
@ -214,6 +214,10 @@ class Device(Thing):
|
||||||
'phid_bk',
|
'phid_bk',
|
||||||
'dhid_bk',
|
'dhid_bk',
|
||||||
'chid',
|
'chid',
|
||||||
|
'user_trusts',
|
||||||
|
'chassis',
|
||||||
|
'transfer_state',
|
||||||
|
'receiver_id',
|
||||||
}
|
}
|
||||||
|
|
||||||
__table_args__ = (
|
__table_args__ = (
|
||||||
|
@ -775,12 +779,19 @@ class Device(Thing):
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
with suppress(TypeError):
|
self.hid = "{}-{}-{}-{}".format(
|
||||||
self.hid = Naming.hid(
|
self._clean_string(self.type),
|
||||||
self.type, self.manufacturer, self.model, self.serial_number
|
self._clean_string(self.manufacturer),
|
||||||
)
|
self._clean_string(self.model),
|
||||||
|
self._clean_string(self.serial_number),
|
||||||
|
).lower()
|
||||||
self.set_chid()
|
self.set_chid()
|
||||||
|
|
||||||
|
def _clean_string(self, s):
|
||||||
|
if not s:
|
||||||
|
return ''
|
||||||
|
return s.replace(' ', '_')
|
||||||
|
|
||||||
def set_chid(self):
|
def set_chid(self):
|
||||||
if self.hid:
|
if self.hid:
|
||||||
self.chid = hashlib.sha3_256(self.hid.encode()).hexdigest()
|
self.chid = hashlib.sha3_256(self.hid.encode()).hexdigest()
|
||||||
|
|
|
@ -594,7 +594,7 @@ class ActionRow(OrderedDict):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
# General information about allocates, deallocate and lives
|
# General information about allocates, deallocate and lives
|
||||||
self['DHID'] = allocate['devicehubID']
|
self['DHID'] = allocate['devicehubID']
|
||||||
self['Hid'] = allocate['chid']
|
self['Hid'] = allocate['hid']
|
||||||
self['Document-Name'] = allocate['document_name']
|
self['Document-Name'] = allocate['document_name']
|
||||||
self['Action-Type'] = allocate['action_type']
|
self['Action-Type'] = allocate['action_type']
|
||||||
self['Action-User-LastOwner-Supplier'] = allocate['trade_supplier']
|
self['Action-User-LastOwner-Supplier'] = allocate['trade_supplier']
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -2941,7 +2941,7 @@ def test_delete_devices_check_sync(user: UserClient):
|
||||||
in [y.device.id for y in x.actions if hasattr(y, 'device')]
|
in [y.device.id for y in x.actions if hasattr(y, 'device')]
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
== 1
|
== 2
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -141,47 +141,14 @@ def test_physical_properties():
|
||||||
'ram_slots': None,
|
'ram_slots': None,
|
||||||
}
|
}
|
||||||
assert pc.physical_properties == {
|
assert pc.physical_properties == {
|
||||||
'chassis': ComputerChassis.Tower,
|
|
||||||
'amount': 0,
|
'amount': 0,
|
||||||
'manufacturer': 'bar',
|
'manufacturer': 'bar',
|
||||||
'model': 'foo',
|
'model': 'foo',
|
||||||
'receiver_id': None,
|
|
||||||
'serial_number': 'foo-bar',
|
'serial_number': 'foo-bar',
|
||||||
'part_number': None,
|
'part_number': None,
|
||||||
'transfer_state': TransferState.Initial,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.mvp
|
|
||||||
@pytest.mark.usefixtures(conftest.auth_app_context.__name__)
|
|
||||||
def test_component_similar_one():
|
|
||||||
user = User.query.filter().first()
|
|
||||||
snapshot = yaml2json('pc-components.db')
|
|
||||||
pc = snapshot['device']
|
|
||||||
snapshot['components'][0]['serial_number'] = snapshot['components'][1][
|
|
||||||
'serial_number'
|
|
||||||
] = None
|
|
||||||
pc = d.Desktop(
|
|
||||||
**pc, components=OrderedSet(d.Component(**c) for c in snapshot['components'])
|
|
||||||
)
|
|
||||||
component1, component2 = pc.components # type: d.Component
|
|
||||||
db.session.add(pc)
|
|
||||||
db.session.flush()
|
|
||||||
# Let's create a new component named 'A' similar to 1
|
|
||||||
componentA = d.Component(
|
|
||||||
model=component1.model, manufacturer=component1.manufacturer, owner_id=user.id
|
|
||||||
)
|
|
||||||
similar_to_a = componentA.similar_one(pc, set())
|
|
||||||
assert similar_to_a == component1
|
|
||||||
# d.Component B does not have the same model
|
|
||||||
componentB = d.Component(model='nope', manufacturer=component1.manufacturer)
|
|
||||||
with pytest.raises(ResourceNotFound):
|
|
||||||
assert componentB.similar_one(pc, set())
|
|
||||||
# If we blacklist component A we won't get anything
|
|
||||||
with pytest.raises(ResourceNotFound):
|
|
||||||
assert componentA.similar_one(pc, blacklist={componentA.id})
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.mvp
|
@pytest.mark.mvp
|
||||||
@pytest.mark.usefixtures(conftest.auth_app_context.__name__)
|
@pytest.mark.usefixtures(conftest.auth_app_context.__name__)
|
||||||
def test_add_remove():
|
def test_add_remove():
|
||||||
|
@ -301,69 +268,6 @@ def test_sync_execute_register_desktop_no_hid_no_tag(user: UserClient):
|
||||||
assert returned_pc == pc
|
assert returned_pc == pc
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.mvp
|
|
||||||
@pytest.mark.usefixtures(conftest.auth_app_context.__name__)
|
|
||||||
def test_sync_execute_register_desktop_tag_not_linked():
|
|
||||||
"""Syncs a new d.Desktop with HID and a non-linked tag.
|
|
||||||
|
|
||||||
It is OK if the tag was not linked, it will be linked in this process.
|
|
||||||
"""
|
|
||||||
tag = Tag(id='foo')
|
|
||||||
db.session.add(tag)
|
|
||||||
db.session.commit()
|
|
||||||
|
|
||||||
# Create a new transient non-db object
|
|
||||||
pc = d.Desktop(
|
|
||||||
**yaml2json('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 d.Desktop.query.one() == pc, 'd.Desktop had to be set to db'
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.mvp
|
|
||||||
@pytest.mark.usefixtures(conftest.auth_app_context.__name__)
|
|
||||||
def test_sync_execute_register_no_hid_tag_not_linked(tag_id: str):
|
|
||||||
"""Validates registering a d.Desktop without HID and a non-linked tag.
|
|
||||||
|
|
||||||
In this case it is ok still, as the non-linked tag proves that
|
|
||||||
the d.Desktop was not existing before (otherwise the tag would
|
|
||||||
be linked), and thus it creates a new d.Desktop.
|
|
||||||
"""
|
|
||||||
tag = Tag(id=tag_id)
|
|
||||||
pc = d.Desktop(**yaml2json('pc-components.db')['device'], tags=OrderedSet([tag]))
|
|
||||||
db.session.add(g.user)
|
|
||||||
returned_pc = Sync().execute_register(pc)
|
|
||||||
db.session.commit()
|
|
||||||
assert returned_pc == pc
|
|
||||||
db_tag = next(iter(returned_pc.tags))
|
|
||||||
# they are not the same tags though
|
|
||||||
# tag is a transient obj and db_tag the one from the db
|
|
||||||
# they have the same pk though
|
|
||||||
assert d.Desktop.query.one() == pc, 'd.Desktop had to be set to db'
|
|
||||||
assert tag != db_tag, 'They are not the same tags though'
|
|
||||||
for tag in pc.tags:
|
|
||||||
assert tag.id in ['foo', pc.devicehub_id]
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.mvp
|
|
||||||
@pytest.mark.usefixtures(conftest.auth_app_context.__name__)
|
|
||||||
def test_sync_execute_register_tag_does_not_exist():
|
|
||||||
"""Ensures not being able to register if the tag does not exist,
|
|
||||||
even if the device has HID or it existed before.
|
|
||||||
|
|
||||||
Tags have to be created before trying to link them through a Snapshot.
|
|
||||||
"""
|
|
||||||
user = User.query.filter().first()
|
|
||||||
pc = d.Desktop(
|
|
||||||
**yaml2json('pc-components.db')['device'], tags=OrderedSet([Tag('foo')])
|
|
||||||
)
|
|
||||||
pc.owner_id = user.id
|
|
||||||
with raises(ResourceNotFound):
|
|
||||||
Sync().execute_register(pc)
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.mvp
|
@pytest.mark.mvp
|
||||||
@pytest.mark.usefixtures(conftest.auth_app_context.__name__)
|
@pytest.mark.usefixtures(conftest.auth_app_context.__name__)
|
||||||
def test_sync_execute_register_tag_linked_same_device():
|
def test_sync_execute_register_tag_linked_same_device():
|
||||||
|
@ -387,53 +291,6 @@ def test_sync_execute_register_tag_linked_same_device():
|
||||||
assert tag.id in ['foo', db_pc.devicehub_id]
|
assert tag.id in ['foo', db_pc.devicehub_id]
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.mvp
|
|
||||||
@pytest.mark.usefixtures(conftest.auth_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 = d.Desktop(**yaml2json('pc-components.db')['device'])
|
|
||||||
db.session.add(Tag(id='foo-1', device=pc1))
|
|
||||||
pc2 = d.Desktop(**yaml2json('pc-components.db')['device'])
|
|
||||||
pc2.serial_number = 'pc2-serial'
|
|
||||||
pc2.hid = Naming.hid(pc2.type, pc2.manufacturer, pc2.model, pc2.serial_number)
|
|
||||||
db.session.add(Tag(id='foo-2', device=pc2))
|
|
||||||
db.session.commit()
|
|
||||||
|
|
||||||
pc1 = d.Desktop(
|
|
||||||
**yaml2json('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.mvp
|
|
||||||
@pytest.mark.usefixtures(conftest.auth_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
|
|
||||||
not point at the same device as the tag does.
|
|
||||||
|
|
||||||
In this case we set HID -> pc1 but tag -> pc2
|
|
||||||
"""
|
|
||||||
pc1 = d.Desktop(**yaml2json('pc-components.db')['device'])
|
|
||||||
db.session.add(Tag(id='foo-1', device=pc1))
|
|
||||||
pc2 = d.Desktop(**yaml2json('pc-components.db')['device'])
|
|
||||||
pc2.serial_number = 'pc2-serial'
|
|
||||||
pc2.hid = Naming.hid(pc2.type, pc2.manufacturer, pc2.model, pc2.serial_number)
|
|
||||||
db.session.add(Tag(id='foo-2', device=pc2))
|
|
||||||
db.session.commit()
|
|
||||||
|
|
||||||
pc1 = d.Desktop(
|
|
||||||
**yaml2json('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)
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.mvp
|
@pytest.mark.mvp
|
||||||
@pytest.mark.usefixtures(conftest.app_context.__name__)
|
@pytest.mark.usefixtures(conftest.app_context.__name__)
|
||||||
def test_get_device(user: UserClient):
|
def test_get_device(user: UserClient):
|
||||||
|
@ -753,138 +610,10 @@ def test_cooking_mixer_api(user: UserClient):
|
||||||
|
|
||||||
@pytest.mark.mvp
|
@pytest.mark.mvp
|
||||||
@pytest.mark.usefixtures(conftest.app_context.__name__)
|
@pytest.mark.usefixtures(conftest.app_context.__name__)
|
||||||
def test_hid_with_mac(app: Devicehub, user: UserClient):
|
def test_hid_with_placeholder(app: Devicehub, user: UserClient):
|
||||||
"""Checks hid with mac."""
|
"""Checks hid with mac."""
|
||||||
snapshot = file('asus-eee-1000h.snapshot.11')
|
snapshot = file('asus-eee-1000h.snapshot.11')
|
||||||
snap, _ = user.post(snapshot, res=m.Snapshot)
|
snap, _ = user.post(snapshot, res=m.Snapshot)
|
||||||
pc, _ = user.get(res=d.Device, item=snap['device']['devicehubID'])
|
pc, _ = user.get(res=d.Device, item=snap['device']['devicehubID'])
|
||||||
assert pc['hid'] == 'laptop-asustek_computer_inc-1000h-94oaaq021116'
|
|
||||||
pc = d.Device.query.filter_by(devicehub_id=snap['device']['devicehubID']).one()
|
pc = d.Device.query.filter_by(devicehub_id=snap['device']['devicehubID']).one()
|
||||||
assert (
|
assert pc.placeholder.binding.hid == pc.hid
|
||||||
pc.placeholder.binding.hid
|
|
||||||
== 'laptop-asustek_computer_inc-1000h-94oaaq021116-00:24:8c:7f:cf:2d'
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.mvp
|
|
||||||
def test_hid_without_mac(app: Devicehub, user: UserClient):
|
|
||||||
"""Checks hid without mac."""
|
|
||||||
snapshot = yaml2json('asus-eee-1000h.snapshot.11')
|
|
||||||
snapshot['components'] = [
|
|
||||||
c for c in snapshot['components'] if c['type'] != 'NetworkAdapter'
|
|
||||||
]
|
|
||||||
snap, _ = user.post(json_encode(snapshot), res=m.Snapshot)
|
|
||||||
pc, _ = user.get(res=d.Device, item=snap['device']['devicehubID'])
|
|
||||||
assert pc['hid'] == 'laptop-asustek_computer_inc-1000h-94oaaq021116'
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.mvp
|
|
||||||
def test_hid_with_mac_none(app: Devicehub, user: UserClient):
|
|
||||||
"""Checks hid with mac = None."""
|
|
||||||
snapshot = yaml2json('asus-eee-1000h.snapshot.11')
|
|
||||||
network = [c for c in snapshot['components'] if c['type'] == 'NetworkAdapter'][0]
|
|
||||||
network['serialNumber'] = None
|
|
||||||
snap, _ = user.post(json_encode(snapshot), res=m.Snapshot)
|
|
||||||
pc, _ = user.get(res=d.Device, item=snap['device']['devicehubID'])
|
|
||||||
assert pc['hid'] == 'laptop-asustek_computer_inc-1000h-94oaaq021116'
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.mvp
|
|
||||||
def test_hid_with_2networkadapters(app: Devicehub, user: UserClient):
|
|
||||||
"""Checks hid with 2 networks adapters"""
|
|
||||||
snapshot = yaml2json('asus-eee-1000h.snapshot.11')
|
|
||||||
network = [c for c in snapshot['components'] if c['type'] == 'NetworkAdapter'][0]
|
|
||||||
network2 = copy.copy(network)
|
|
||||||
snapshot['components'].append(network2)
|
|
||||||
network['serialNumber'] = 'a0:24:8c:7f:cf:2d'
|
|
||||||
user.post(json_encode(snapshot), res=m.Snapshot)
|
|
||||||
devices, _ = user.get(res=d.Device)
|
|
||||||
|
|
||||||
laptop = devices['items'][0]
|
|
||||||
assert (
|
|
||||||
laptop['hid']
|
|
||||||
== 'laptop-asustek_computer_inc-1000h-94oaaq021116-00:24:8c:7f:cf:2d'
|
|
||||||
)
|
|
||||||
assert len([c for c in devices['items'] if c['type'] == 'Laptop']) == 2
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.mvp
|
|
||||||
@pytest.mark.usefixtures(conftest.app_context.__name__)
|
|
||||||
def test_hid_with_2network_and_drop_no_mac_in_hid(app: Devicehub, user: UserClient):
|
|
||||||
"""Checks hid with 2 networks adapters and next drop the network is not used in hid"""
|
|
||||||
snapshot = yaml2json('asus-eee-1000h.snapshot.11')
|
|
||||||
network = [c for c in snapshot['components'] if c['type'] == 'NetworkAdapter'][0]
|
|
||||||
network2 = copy.copy(network)
|
|
||||||
snapshot['components'].append(network2)
|
|
||||||
network['serialNumber'] = 'a0:24:8c:7f:cf:2d'
|
|
||||||
snap, _ = user.post(json_encode(snapshot), res=m.Snapshot)
|
|
||||||
pc, _ = user.get(res=d.Device, item=snap['device']['devicehubID'])
|
|
||||||
assert pc['hid'] == 'laptop-asustek_computer_inc-1000h-94oaaq021116'
|
|
||||||
pc = d.Device.query.filter_by(devicehub_id=snap['device']['devicehubID']).one()
|
|
||||||
assert (
|
|
||||||
pc.placeholder.binding.hid
|
|
||||||
== 'laptop-asustek_computer_inc-1000h-94oaaq021116-00:24:8c:7f:cf:2d'
|
|
||||||
)
|
|
||||||
|
|
||||||
snapshot['uuid'] = 'd1b70cb8-8929-4f36-99b7-fe052cec0abb'
|
|
||||||
snapshot['components'] = [c for c in snapshot['components'] if c != network]
|
|
||||||
user.post(json_encode(snapshot), res=m.Snapshot)
|
|
||||||
devices, _ = user.get(res=d.Device)
|
|
||||||
laptop = devices['items'][0]
|
|
||||||
assert (
|
|
||||||
pc.placeholder.binding.hid
|
|
||||||
== 'laptop-asustek_computer_inc-1000h-94oaaq021116-00:24:8c:7f:cf:2d'
|
|
||||||
)
|
|
||||||
assert len([c for c in devices['items'] if c['type'] == 'Laptop']) == 2
|
|
||||||
assert len([c for c in laptop['components'] if c['type'] == 'NetworkAdapter']) == 1
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.mvp
|
|
||||||
@pytest.mark.usefixtures(conftest.app_context.__name__)
|
|
||||||
def test_hid_with_2network_and_drop_mac_in_hid(app: Devicehub, user: UserClient):
|
|
||||||
"""Checks hid with 2 networks adapters and next drop the network is used in hid"""
|
|
||||||
# One tipical snapshot with 2 network cards
|
|
||||||
snapshot = yaml2json('asus-eee-1000h.snapshot.11')
|
|
||||||
network = [c for c in snapshot['components'] if c['type'] == 'NetworkAdapter'][0]
|
|
||||||
network2 = copy.copy(network)
|
|
||||||
snapshot['components'].append(network2)
|
|
||||||
network['serialNumber'] = 'a0:24:8c:7f:cf:2d'
|
|
||||||
snap, _ = user.post(json_encode(snapshot), res=m.Snapshot)
|
|
||||||
pc, _ = user.get(res=d.Device, item=snap['device']['devicehubID'])
|
|
||||||
assert pc['hid'] == 'laptop-asustek_computer_inc-1000h-94oaaq021116'
|
|
||||||
pc = d.Device.query.filter_by(devicehub_id=snap['device']['devicehubID']).one()
|
|
||||||
assert (
|
|
||||||
pc.placeholder.binding.hid
|
|
||||||
== 'laptop-asustek_computer_inc-1000h-94oaaq021116-00:24:8c:7f:cf:2d'
|
|
||||||
)
|
|
||||||
|
|
||||||
# we drop the network card then is used for to build the hid
|
|
||||||
snapshot['uuid'] = 'd1b70cb8-8929-4f36-99b7-fe052cec0abb'
|
|
||||||
snapshot['components'] = [c for c in snapshot['components'] if c != network2]
|
|
||||||
user.post(json_encode(snapshot), res=m.Snapshot)
|
|
||||||
devices, _ = user.get(res=d.Device)
|
|
||||||
laptops = [c for c in devices['items'] if c['type'] == 'Laptop']
|
|
||||||
assert len(laptops) == 4
|
|
||||||
hids = [laptops[0]['hid'], laptops[2]['hid']]
|
|
||||||
proof_hid = [
|
|
||||||
'laptop-asustek_computer_inc-1000h-94oaaq021116-a0:24:8c:7f:cf:2d',
|
|
||||||
'laptop-asustek_computer_inc-1000h-94oaaq021116-00:24:8c:7f:cf:2d',
|
|
||||||
]
|
|
||||||
assert all([h in proof_hid for h in hids])
|
|
||||||
|
|
||||||
# we drop all network cards
|
|
||||||
snapshot['uuid'] = 'd1b70cb8-8929-4f36-99b7-fe052cec0abc'
|
|
||||||
snapshot['components'] = [
|
|
||||||
c for c in snapshot['components'] if c not in [network, network2]
|
|
||||||
]
|
|
||||||
user.post(json_encode(snapshot), res=m.Snapshot)
|
|
||||||
devices, _ = user.get(res=d.Device)
|
|
||||||
laptops = [c for c in devices['items'] if c['type'] == 'Laptop']
|
|
||||||
assert len(laptops) == 4
|
|
||||||
hids = [laptops[0]['hid'], laptops[2]['hid']]
|
|
||||||
proof_hid = [
|
|
||||||
'laptop-asustek_computer_inc-1000h-94oaaq021116-a0:24:8c:7f:cf:2d',
|
|
||||||
'laptop-asustek_computer_inc-1000h-94oaaq021116-00:24:8c:7f:cf:2d',
|
|
||||||
'laptop-asustek_computer_inc-1000h-94oaaq021116',
|
|
||||||
]
|
|
||||||
assert all([h in proof_hid for h in hids])
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ from ereuse_devicehub.resources.documents import documents
|
||||||
from ereuse_devicehub.resources.lot.models import Lot
|
from ereuse_devicehub.resources.lot.models import Lot
|
||||||
from ereuse_devicehub.resources.tradedocument.models import TradeDocument
|
from ereuse_devicehub.resources.tradedocument.models import TradeDocument
|
||||||
from tests import conftest
|
from tests import conftest
|
||||||
from tests.conftest import file, yaml2json, json_encode
|
from tests.conftest import file, json_encode, yaml2json
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.mvp
|
@pytest.mark.mvp
|
||||||
|
@ -19,11 +19,16 @@ def test_simple_metrics(user: UserClient):
|
||||||
user.post(json_encode(lenovo), res=ma.Snapshot)
|
user.post(json_encode(lenovo), res=ma.Snapshot)
|
||||||
snapshot, _ = user.post(json_encode(acer), res=ma.Snapshot)
|
snapshot, _ = user.post(json_encode(acer), res=ma.Snapshot)
|
||||||
device_id = snapshot['device']['id']
|
device_id = snapshot['device']['id']
|
||||||
post_request = {"transaction": "ccc", "name": "John", "endUsers": 1,
|
post_request = {
|
||||||
|
"transaction": "ccc",
|
||||||
|
"name": "John",
|
||||||
|
"endUsers": 1,
|
||||||
"finalUserCode": "abcdefjhi",
|
"finalUserCode": "abcdefjhi",
|
||||||
"devices": [device_id], "description": "aaa",
|
"devices": [device_id],
|
||||||
|
"description": "aaa",
|
||||||
"startTime": "2020-11-01T02:00:00+00:00",
|
"startTime": "2020-11-01T02:00:00+00:00",
|
||||||
"endTime": "2020-12-01T02:00:00+00:00"}
|
"endTime": "2020-12-01T02:00:00+00:00",
|
||||||
|
}
|
||||||
|
|
||||||
# Create Allocate
|
# Create Allocate
|
||||||
user.post(res=ma.Allocate, data=post_request)
|
user.post(res=ma.Allocate, data=post_request)
|
||||||
|
@ -63,11 +68,16 @@ def test_second_hdd_metrics(user: UserClient):
|
||||||
acer = yaml2json('acer.happy.battery.snapshot')
|
acer = yaml2json('acer.happy.battery.snapshot')
|
||||||
snapshot, _ = user.post(json_encode(acer), res=ma.Snapshot)
|
snapshot, _ = user.post(json_encode(acer), res=ma.Snapshot)
|
||||||
device_id = snapshot['device']['id']
|
device_id = snapshot['device']['id']
|
||||||
post_request = {"transaction": "ccc", "name": "John", "endUsers": 1,
|
post_request = {
|
||||||
|
"transaction": "ccc",
|
||||||
|
"name": "John",
|
||||||
|
"endUsers": 1,
|
||||||
"finalUserCode": "abcdefjhi",
|
"finalUserCode": "abcdefjhi",
|
||||||
"devices": [device_id], "description": "aaa",
|
"devices": [device_id],
|
||||||
|
"description": "aaa",
|
||||||
"startTime": "2020-11-01T02:00:00+00:00",
|
"startTime": "2020-11-01T02:00:00+00:00",
|
||||||
"endTime": "2020-12-01T02:00:00+00:00"}
|
"endTime": "2020-12-01T02:00:00+00:00",
|
||||||
|
}
|
||||||
|
|
||||||
# Create Allocate
|
# Create Allocate
|
||||||
user.post(res=ma.Allocate, data=post_request)
|
user.post(res=ma.Allocate, data=post_request)
|
||||||
|
@ -106,11 +116,16 @@ def test_metrics_with_live_null(user: UserClient):
|
||||||
acer = file('acer.happy.battery.snapshot')
|
acer = file('acer.happy.battery.snapshot')
|
||||||
snapshot, _ = user.post(acer, res=ma.Snapshot)
|
snapshot, _ = user.post(acer, res=ma.Snapshot)
|
||||||
device_id = snapshot['device']['id']
|
device_id = snapshot['device']['id']
|
||||||
post_request = {"transaction": "ccc", "name": "John", "endUsers": 1,
|
post_request = {
|
||||||
|
"transaction": "ccc",
|
||||||
|
"name": "John",
|
||||||
|
"endUsers": 1,
|
||||||
"finalUserCode": "abcdefjhi",
|
"finalUserCode": "abcdefjhi",
|
||||||
"devices": [device_id], "description": "aaa",
|
"devices": [device_id],
|
||||||
|
"description": "aaa",
|
||||||
"startTime": "2020-11-01T02:00:00+00:00",
|
"startTime": "2020-11-01T02:00:00+00:00",
|
||||||
"endTime": "2020-12-01T02:00:00+00:00"}
|
"endTime": "2020-12-01T02:00:00+00:00",
|
||||||
|
}
|
||||||
|
|
||||||
# Create Allocate
|
# Create Allocate
|
||||||
user.post(res=ma.Allocate, data=post_request)
|
user.post(res=ma.Allocate, data=post_request)
|
||||||
|
@ -131,12 +146,22 @@ def test_metrics_action_status(user: UserClient, user2: UserClient):
|
||||||
device_id = snap['device']['id']
|
device_id = snap['device']['id']
|
||||||
action = {'type': ma.Use.t, 'devices': [device_id]}
|
action = {'type': ma.Use.t, 'devices': [device_id]}
|
||||||
action_use, _ = user.post(action, res=ma.Action)
|
action_use, _ = user.post(action, res=ma.Action)
|
||||||
csv_str, _ = user.get(res=documents.DocumentDef.t,
|
csv_str, _ = user.get(
|
||||||
|
res=documents.DocumentDef.t,
|
||||||
item='actions/',
|
item='actions/',
|
||||||
accept='text/csv',
|
accept='text/csv',
|
||||||
query=[('filter', {'type': ['Computer'], 'ids': [device_id]})])
|
query=[('filter', {'type': ['Computer'], 'ids': [device_id]})],
|
||||||
head = '"DHID";"Hid";"Document-Name";"Action-Type";"Action-User-LastOwner-Supplier";"Action-User-LastOwner-Receiver";"Action-Create-By";"Trade-Confirmed";"Status-Created-By-Supplier-About-Reciber";"Status-Receiver";"Status Supplier – Created Date";"Status Receiver – Created Date";"Trade-Weight";"Action-Create";"Allocate-Start";"Allocate-User-Code";"Allocate-NumUsers";"UsageTimeAllocate";"Type";"LiveCreate";"UsageTimeHdd"\n'
|
)
|
||||||
body = '"O48N2";"desktop-lenovo-9644w8n-0169622-00:1a:6b:5e:7f:10";"";"Status";"";"foo@foo.com";"Receiver";"";"";"Use";"";"'
|
head = (
|
||||||
|
'"DHID";"Hid";"Document-Name";"Action-Type";"Action-User-LastOwner-Supplier";'
|
||||||
|
)
|
||||||
|
head += '"Action-User-LastOwner-Receiver";"Action-Create-By";"Trade-Confirmed";'
|
||||||
|
head += '"Status-Created-By-Supplier-About-Reciber";"Status-Receiver";'
|
||||||
|
head += '"Status Supplier – Created Date";"Status Receiver – Created Date";"Trade-Weight";'
|
||||||
|
head += '"Action-Create";"Allocate-Start";"Allocate-User-Code";"Allocate-NumUsers";'
|
||||||
|
head += '"UsageTimeAllocate";"Type";"LiveCreate";"UsageTimeHdd"\n'
|
||||||
|
body = '"O48N2";"adebcc5506213fac43cd8473a9c81bcf0cadaed9cb98b2eae651e377a3533c5a";'
|
||||||
|
body += '"";"Status";"";"foo@foo.com";"Receiver";"";"";"Use";"";"'
|
||||||
assert head in csv_str
|
assert head in csv_str
|
||||||
assert body in csv_str
|
assert body in csv_str
|
||||||
|
|
||||||
|
@ -154,12 +179,8 @@ def test_complet_metrics_with_trade(user: UserClient, user2: UserClient):
|
||||||
device1_id = snap1['device']['id']
|
device1_id = snap1['device']['id']
|
||||||
device2_id = snap2['device']['id']
|
device2_id = snap2['device']['id']
|
||||||
devices_id = [device1_id, device2_id]
|
devices_id = [device1_id, device2_id]
|
||||||
devices = [('id', device1_id),
|
devices = [('id', device1_id), ('id', snap2['device']['id'])]
|
||||||
('id', snap2['device']['id'])]
|
lot, _ = user.post({}, res=Lot, item='{}/devices'.format(lot['id']), query=devices)
|
||||||
lot, _ = user.post({},
|
|
||||||
res=Lot,
|
|
||||||
item='{}/devices'.format(lot['id']),
|
|
||||||
query=devices)
|
|
||||||
|
|
||||||
action = {'type': ma.Refurbish.t, 'devices': [device1_id]}
|
action = {'type': ma.Refurbish.t, 'devices': [device1_id]}
|
||||||
user.post(action, res=ma.Action)
|
user.post(action, res=ma.Action)
|
||||||
|
@ -179,17 +200,21 @@ def test_complet_metrics_with_trade(user: UserClient, user2: UserClient):
|
||||||
|
|
||||||
action = {'type': ma.Use.t, 'devices': [device1_id]}
|
action = {'type': ma.Use.t, 'devices': [device1_id]}
|
||||||
action_use, _ = user.post(action, res=ma.Action)
|
action_use, _ = user.post(action, res=ma.Action)
|
||||||
csv_str, _ = user.get(res=documents.DocumentDef.t,
|
csv_str, _ = user.get(
|
||||||
|
res=documents.DocumentDef.t,
|
||||||
item='actions/',
|
item='actions/',
|
||||||
accept='text/csv',
|
accept='text/csv',
|
||||||
query=[('filter', {'type': ['Computer'], 'ids': devices_id})])
|
query=[('filter', {'type': ['Computer'], 'ids': devices_id})],
|
||||||
|
)
|
||||||
|
|
||||||
body1_lenovo = '"O48N2";"desktop-lenovo-9644w8n-0169622-00:1a:6b:5e:7f:10";"";"Trade";"foo@foo.com";'
|
body1_lenovo = '"O48N2";"adebcc5506213fac43cd8473a9c81bcf0cadaed9cb98b2eae651e377a3533c5a";"";"Trade";"foo@foo.com";'
|
||||||
body1_lenovo += '"foo2@foo.com";"Supplier";"NeedConfirmation";"Use";"";'
|
body1_lenovo += '"foo2@foo.com";"Supplier";"NeedConfirmation";"Use";"";'
|
||||||
body2_lenovo = ';"";"0";"0";"Trade";"0";"0"\n'
|
body2_lenovo = ';"";"0";"0";"Trade";"0";"0"\n'
|
||||||
|
|
||||||
body1_acer = '"K3XW2";"laptop-acer-aohappy-lusea0d010038879a01601-00:26:c7:8e:cb:8c";"";"Trade";'
|
body1_acer = '"K3XW2";"55b1f6d0692d1569c7590f0aeabd1c9874a1c78b8dd3a7d481df95923a629748";"";"Trade";'
|
||||||
body1_acer += '"foo@foo.com";"foo2@foo.com";"Supplier";"NeedConfirmation";"";"";"";"";"0";'
|
body1_acer += (
|
||||||
|
'"foo@foo.com";"foo2@foo.com";"Supplier";"NeedConfirmation";"";"";"";"";"0";'
|
||||||
|
)
|
||||||
body2_acer = ';"";"0";"0";"Trade";"0";"4692.0"\n'
|
body2_acer = ';"";"0";"0";"Trade";"0";"4692.0"\n'
|
||||||
|
|
||||||
assert body1_lenovo in csv_str
|
assert body1_lenovo in csv_str
|
||||||
|
@ -200,12 +225,14 @@ def test_complet_metrics_with_trade(user: UserClient, user2: UserClient):
|
||||||
# User2 mark this device as Refurbish
|
# User2 mark this device as Refurbish
|
||||||
action = {'type': ma.Use.t, 'devices': [device1_id]}
|
action = {'type': ma.Use.t, 'devices': [device1_id]}
|
||||||
action_use2, _ = user2.post(action, res=ma.Action)
|
action_use2, _ = user2.post(action, res=ma.Action)
|
||||||
csv_str, _ = user.get(res=documents.DocumentDef.t,
|
csv_str, _ = user.get(
|
||||||
|
res=documents.DocumentDef.t,
|
||||||
item='actions/',
|
item='actions/',
|
||||||
accept='text/csv',
|
accept='text/csv',
|
||||||
query=[('filter', {'type': ['Computer'], 'ids': devices_id})])
|
query=[('filter', {'type': ['Computer'], 'ids': devices_id})],
|
||||||
|
)
|
||||||
|
|
||||||
body1_lenovo = '"O48N2";"desktop-lenovo-9644w8n-0169622-00:1a:6b:5e:7f:10";"";"Trade";"foo@foo.com";'
|
body1_lenovo = '"O48N2";"adebcc5506213fac43cd8473a9c81bcf0cadaed9cb98b2eae651e377a3533c5a";"";"Trade";"foo@foo.com";'
|
||||||
body1_lenovo += '"foo2@foo.com";"Supplier";"NeedConfirmation";"Use";"Use";'
|
body1_lenovo += '"foo2@foo.com";"Supplier";"NeedConfirmation";"Use";"Use";'
|
||||||
body2_lenovo = ';"";"0";"0";"Trade";"0";"0"\n'
|
body2_lenovo = ';"";"0";"0";"Trade";"0";"0"\n'
|
||||||
body2_acer = ';"";"0";"0";"Trade";"0";"4692.0"\n'
|
body2_acer = ';"";"0";"0";"Trade";"0";"4692.0"\n'
|
||||||
|
@ -215,7 +242,6 @@ def test_complet_metrics_with_trade(user: UserClient, user2: UserClient):
|
||||||
assert body2_acer in csv_str
|
assert body2_acer in csv_str
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.mvp
|
@pytest.mark.mvp
|
||||||
@pytest.mark.usefixtures(conftest.app_context.__name__)
|
@pytest.mark.usefixtures(conftest.app_context.__name__)
|
||||||
def test_metrics_action_status_for_containers(user: UserClient, user2: UserClient):
|
def test_metrics_action_status_for_containers(user: UserClient, user2: UserClient):
|
||||||
|
@ -225,10 +251,7 @@ def test_metrics_action_status_for_containers(user: UserClient, user2: UserClien
|
||||||
snap, _ = user.post(json_encode(lenovo), res=ma.Snapshot)
|
snap, _ = user.post(json_encode(lenovo), res=ma.Snapshot)
|
||||||
lot, _ = user.post({'name': 'MyLot'}, res=Lot)
|
lot, _ = user.post({'name': 'MyLot'}, res=Lot)
|
||||||
devices = [('id', snap['device']['id'])]
|
devices = [('id', snap['device']['id'])]
|
||||||
lot, _ = user.post({},
|
lot, _ = user.post({}, res=Lot, item='{}/devices'.format(lot['id']), query=devices)
|
||||||
res=Lot,
|
|
||||||
item='{}/devices'.format(lot['id']),
|
|
||||||
query=devices)
|
|
||||||
request_post = {
|
request_post = {
|
||||||
'type': 'Trade',
|
'type': 'Trade',
|
||||||
'devices': [snap['device']['id']],
|
'devices': [snap['device']['id']],
|
||||||
|
@ -247,7 +270,7 @@ def test_metrics_action_status_for_containers(user: UserClient, user2: UserClien
|
||||||
'hash': 'bbbbbbbb',
|
'hash': 'bbbbbbbb',
|
||||||
'url': 'http://www.ereuse.org/',
|
'url': 'http://www.ereuse.org/',
|
||||||
'weight': 150,
|
'weight': 150,
|
||||||
'lot': lot['id']
|
'lot': lot['id'],
|
||||||
}
|
}
|
||||||
tradedocument, _ = user.post(res=TradeDocument, data=request_post)
|
tradedocument, _ = user.post(res=TradeDocument, data=request_post)
|
||||||
action = {'type': ma.Recycling.t, 'devices': [], 'documents': [tradedocument['id']]}
|
action = {'type': ma.Recycling.t, 'devices': [], 'documents': [tradedocument['id']]}
|
||||||
|
@ -257,10 +280,12 @@ def test_metrics_action_status_for_containers(user: UserClient, user2: UserClien
|
||||||
assert str(trade.actions[-1].id) == action['id']
|
assert str(trade.actions[-1].id) == action['id']
|
||||||
|
|
||||||
# get metrics from botom in lot menu
|
# get metrics from botom in lot menu
|
||||||
csv_str, _ = user.get(res=documents.DocumentDef.t,
|
csv_str, _ = user.get(
|
||||||
|
res=documents.DocumentDef.t,
|
||||||
item='actions/',
|
item='actions/',
|
||||||
accept='text/csv',
|
accept='text/csv',
|
||||||
query=[('filter', {'type': ['Computer']}), ('lot', lot['id'])])
|
query=[('filter', {'type': ['Computer']}), ('lot', lot['id'])],
|
||||||
|
)
|
||||||
|
|
||||||
body1 = ';"bbbbbbbb";"test.pdf";"Trade-Container";"foo@foo.com";"foo2@foo.com";"Supplier";"False";"Recycling";"";'
|
body1 = ';"bbbbbbbb";"test.pdf";"Trade-Container";"foo@foo.com";"foo2@foo.com";"Supplier";"False";"Recycling";"";'
|
||||||
body2 = ';"";"150.0";'
|
body2 = ';"";"150.0";'
|
||||||
|
@ -272,10 +297,12 @@ def test_metrics_action_status_for_containers(user: UserClient, user2: UserClien
|
||||||
assert body3 in csv_str.split('\n')[-2]
|
assert body3 in csv_str.split('\n')[-2]
|
||||||
|
|
||||||
# get metrics from botom in devices menu
|
# get metrics from botom in devices menu
|
||||||
csv_str2, _ = user.get(res=documents.DocumentDef.t,
|
csv_str2, _ = user.get(
|
||||||
|
res=documents.DocumentDef.t,
|
||||||
item='actions/',
|
item='actions/',
|
||||||
accept='text/csv',
|
accept='text/csv',
|
||||||
query=[('filter', {'type': ['Computer'], 'ids': [snap['device']['id']]})])
|
query=[('filter', {'type': ['Computer'], 'ids': [snap['device']['id']]})],
|
||||||
|
)
|
||||||
|
|
||||||
assert len(csv_str2.split('\n')) == 4
|
assert len(csv_str2.split('\n')) == 4
|
||||||
assert body1 in csv_str2.split('\n')[-2]
|
assert body1 in csv_str2.split('\n')[-2]
|
||||||
|
@ -293,10 +320,7 @@ def test_visual_metrics_for_old_owners(user: UserClient, user2: UserClient):
|
||||||
lot, _ = user.post({'name': 'MyLot'}, res=Lot)
|
lot, _ = user.post({'name': 'MyLot'}, res=Lot)
|
||||||
device_id = snap1['device']['id']
|
device_id = snap1['device']['id']
|
||||||
devices = [('id', device_id)]
|
devices = [('id', device_id)]
|
||||||
lot, _ = user.post({},
|
lot, _ = user.post({}, res=Lot, item='{}/devices'.format(lot['id']), query=devices)
|
||||||
res=Lot,
|
|
||||||
item='{}/devices'.format(lot['id']),
|
|
||||||
query=devices)
|
|
||||||
request_post = {
|
request_post = {
|
||||||
'type': 'Trade',
|
'type': 'Trade',
|
||||||
'devices': [device_id],
|
'devices': [device_id],
|
||||||
|
@ -309,24 +333,23 @@ def test_visual_metrics_for_old_owners(user: UserClient, user2: UserClient):
|
||||||
}
|
}
|
||||||
trade, _ = user.post(res=ma.Action, data=request_post)
|
trade, _ = user.post(res=ma.Action, data=request_post)
|
||||||
|
|
||||||
request_confirm = {
|
request_confirm = {'type': 'Confirm', 'action': trade['id'], 'devices': [device_id]}
|
||||||
'type': 'Confirm',
|
|
||||||
'action': trade['id'],
|
|
||||||
'devices': [device_id]
|
|
||||||
}
|
|
||||||
user2.post(res=ma.Action, data=request_confirm)
|
user2.post(res=ma.Action, data=request_confirm)
|
||||||
|
|
||||||
|
|
||||||
action = {'type': ma.Refurbish.t, 'devices': [device_id]}
|
action = {'type': ma.Refurbish.t, 'devices': [device_id]}
|
||||||
action_use, _ = user.post(action, res=ma.Action)
|
action_use, _ = user.post(action, res=ma.Action)
|
||||||
csv_supplier, _ = user.get(res=documents.DocumentDef.t,
|
csv_supplier, _ = user.get(
|
||||||
|
res=documents.DocumentDef.t,
|
||||||
item='actions/',
|
item='actions/',
|
||||||
accept='text/csv',
|
accept='text/csv',
|
||||||
query=[('filter', {'type': ['Computer'], 'ids': [device_id]})])
|
query=[('filter', {'type': ['Computer'], 'ids': [device_id]})],
|
||||||
csv_receiver, _ = user2.get(res=documents.DocumentDef.t,
|
)
|
||||||
|
csv_receiver, _ = user2.get(
|
||||||
|
res=documents.DocumentDef.t,
|
||||||
item='actions/',
|
item='actions/',
|
||||||
accept='text/csv',
|
accept='text/csv',
|
||||||
query=[('filter', {'type': ['Computer'], 'ids': [device_id]})])
|
query=[('filter', {'type': ['Computer'], 'ids': [device_id]})],
|
||||||
|
)
|
||||||
body = ';"";"0";"0";"Trade";"0";"0"\n'
|
body = ';"";"0";"0";"Trade";"0";"0"\n'
|
||||||
|
|
||||||
assert body in csv_receiver
|
assert body in csv_receiver
|
||||||
|
@ -343,10 +366,7 @@ def test_bug_trade_confirmed(user: UserClient, user2: UserClient):
|
||||||
lot, _ = user.post({'name': 'MyLot'}, res=Lot)
|
lot, _ = user.post({'name': 'MyLot'}, res=Lot)
|
||||||
device_id = snap1['device']['id']
|
device_id = snap1['device']['id']
|
||||||
devices = [('id', device_id)]
|
devices = [('id', device_id)]
|
||||||
lot, _ = user.post({},
|
lot, _ = user.post({}, res=Lot, item='{}/devices'.format(lot['id']), query=devices)
|
||||||
res=Lot,
|
|
||||||
item='{}/devices'.format(lot['id']),
|
|
||||||
query=devices)
|
|
||||||
request_post = {
|
request_post = {
|
||||||
'type': 'Trade',
|
'type': 'Trade',
|
||||||
'devices': [device_id],
|
'devices': [device_id],
|
||||||
|
@ -359,22 +379,24 @@ def test_bug_trade_confirmed(user: UserClient, user2: UserClient):
|
||||||
}
|
}
|
||||||
trade, _ = user.post(res=ma.Action, data=request_post)
|
trade, _ = user.post(res=ma.Action, data=request_post)
|
||||||
|
|
||||||
csv_not_confirmed, _ = user.get(res=documents.DocumentDef.t,
|
csv_not_confirmed, _ = user.get(
|
||||||
|
res=documents.DocumentDef.t,
|
||||||
item='actions/',
|
item='actions/',
|
||||||
accept='text/csv',
|
accept='text/csv',
|
||||||
query=[('filter', {'type': ['Computer'], 'ids': [device_id]})])
|
query=[('filter', {'type': ['Computer'], 'ids': [device_id]})],
|
||||||
request_confirm = {
|
)
|
||||||
'type': 'Confirm',
|
request_confirm = {'type': 'Confirm', 'action': trade['id'], 'devices': [device_id]}
|
||||||
'action': trade['id'],
|
|
||||||
'devices': [device_id]
|
|
||||||
}
|
|
||||||
user2.post(res=ma.Action, data=request_confirm)
|
user2.post(res=ma.Action, data=request_confirm)
|
||||||
csv_confirmed, _ = user2.get(res=documents.DocumentDef.t,
|
csv_confirmed, _ = user2.get(
|
||||||
|
res=documents.DocumentDef.t,
|
||||||
item='actions/',
|
item='actions/',
|
||||||
accept='text/csv',
|
accept='text/csv',
|
||||||
query=[('filter', {'type': ['Computer'], 'ids': [device_id]})])
|
query=[('filter', {'type': ['Computer'], 'ids': [device_id]})],
|
||||||
|
)
|
||||||
|
|
||||||
body_not_confirmed = '"Trade";"foo2@foo.com";"foo@foo.com";"Receiver";"NeedConfirmation";'
|
body_not_confirmed = (
|
||||||
|
'"Trade";"foo2@foo.com";"foo@foo.com";"Receiver";"NeedConfirmation";'
|
||||||
|
)
|
||||||
body_confirmed = '"Trade";"foo2@foo.com";"foo@foo.com";"Receiver";"TradeConfirmed";'
|
body_confirmed = '"Trade";"foo2@foo.com";"foo@foo.com";"Receiver";"TradeConfirmed";'
|
||||||
|
|
||||||
assert body_not_confirmed in csv_not_confirmed
|
assert body_not_confirmed in csv_not_confirmed
|
||||||
|
|
|
@ -714,7 +714,7 @@ def test_add_laptop(user3: UserClientFlask):
|
||||||
assert typ == 'Laptop'
|
assert typ == 'Laptop'
|
||||||
assert dev.placeholder.id_device_supplier == "b2"
|
assert dev.placeholder.id_device_supplier == "b2"
|
||||||
assert (
|
assert (
|
||||||
dev.chid == '69c57a32166b146c27a37ea74632f167d9a83fcbb23f11f93cc55cb9e6878e2b'
|
dev.chid == '274f05421e4d394c5b3cd10266fed6f0500029b104b5db3521689bda589e3150'
|
||||||
)
|
)
|
||||||
assert phid == '1'
|
assert phid == '1'
|
||||||
assert dhid == 'O48N2'
|
assert dhid == 'O48N2'
|
||||||
|
@ -754,9 +754,10 @@ def test_add_with_ammount_laptops(user3: UserClientFlask):
|
||||||
for dev in Device.query.all():
|
for dev in Device.query.all():
|
||||||
assert dev.type == 'Laptop'
|
assert dev.type == 'Laptop'
|
||||||
assert dev.placeholder.id_device_supplier is None
|
assert dev.placeholder.id_device_supplier is None
|
||||||
|
assert dev.hid == 'laptop-samsung-lc27t55-'
|
||||||
assert (
|
assert (
|
||||||
dev.chid
|
dev.chid
|
||||||
== 'ab606f8b822dcd9276a6c492161fe592047ea98816387d149b2ccfbb5a7ebd30'
|
== 'ff8e7794d33ed22046b8d94b8bba4d8d1507f0fee535150835cac28faabbcda1'
|
||||||
)
|
)
|
||||||
assert dev.placeholder.phid in [str(x) for x in range(1, num + 1)]
|
assert dev.placeholder.phid in [str(x) for x in range(1, num + 1)]
|
||||||
assert Device.query.count() == num
|
assert Device.query.count() == num
|
||||||
|
@ -1702,7 +1703,6 @@ def test_export_lots(user3: UserClientFlask):
|
||||||
@pytest.mark.mvp
|
@pytest.mark.mvp
|
||||||
@pytest.mark.usefixtures(conftest.app_context.__name__)
|
@pytest.mark.usefixtures(conftest.app_context.__name__)
|
||||||
def test_export_snapshot_json(user3: UserClientFlask):
|
def test_export_snapshot_json(user3: UserClientFlask):
|
||||||
# ??
|
|
||||||
file_name = 'real-eee-1001pxd.snapshot.13.json'
|
file_name = 'real-eee-1001pxd.snapshot.13.json'
|
||||||
snap = create_device(user3, file_name)
|
snap = create_device(user3, file_name)
|
||||||
|
|
||||||
|
@ -1712,7 +1712,10 @@ def test_export_snapshot_json(user3: UserClientFlask):
|
||||||
uri = "/inventory/export/snapshot/?id={}".format(snap.uuid)
|
uri = "/inventory/export/snapshot/?id={}".format(snap.uuid)
|
||||||
body, status = user3.get(uri)
|
body, status = user3.get(uri)
|
||||||
assert status == '200 OK'
|
assert status == '200 OK'
|
||||||
assert body == snapshot
|
body = json.loads(body)
|
||||||
|
snapshot = json.loads(snapshot)
|
||||||
|
assert body['device'] == snapshot['device']
|
||||||
|
assert body['components'] == snapshot['components']
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.mvp
|
@pytest.mark.mvp
|
||||||
|
@ -1733,7 +1736,7 @@ def test_add_placeholder_excel(user3: UserClientFlask):
|
||||||
user3.post(uri, data=data, content_type="multipart/form-data")
|
user3.post(uri, data=data, content_type="multipart/form-data")
|
||||||
assert Device.query.count() == 3
|
assert Device.query.count() == 3
|
||||||
dev = Device.query.first()
|
dev = Device.query.first()
|
||||||
chid = 'fa7eb51fad01a46b7bbe92fee9d4067e698f6cee9896beece3ace48e15c67652'
|
chid = 'f28ae12ffd513f5ed8fb6714a344a2326c48a7196fb140435065ab96ffda1a71'
|
||||||
assert dev.chid == chid
|
assert dev.chid == chid
|
||||||
assert dev.placeholder.phid == '1'
|
assert dev.placeholder.phid == '1'
|
||||||
assert dev.placeholder.info == 'Good conditions'
|
assert dev.placeholder.info == 'Good conditions'
|
||||||
|
@ -1760,7 +1763,7 @@ def test_add_placeholder_csv(user3: UserClientFlask):
|
||||||
user3.post(uri, data=data, content_type="multipart/form-data")
|
user3.post(uri, data=data, content_type="multipart/form-data")
|
||||||
assert Device.query.count() == 3
|
assert Device.query.count() == 3
|
||||||
dev = Device.query.first()
|
dev = Device.query.first()
|
||||||
chid = 'fa7eb51fad01a46b7bbe92fee9d4067e698f6cee9896beece3ace48e15c67652'
|
chid = 'f28ae12ffd513f5ed8fb6714a344a2326c48a7196fb140435065ab96ffda1a71'
|
||||||
assert dev.chid == chid
|
assert dev.chid == chid
|
||||||
assert dev.placeholder.phid == '1'
|
assert dev.placeholder.phid == '1'
|
||||||
assert dev.placeholder.info == 'Good conditions'
|
assert dev.placeholder.info == 'Good conditions'
|
||||||
|
@ -1787,7 +1790,7 @@ def test_add_placeholder_ods(user3: UserClientFlask):
|
||||||
user3.post(uri, data=data, content_type="multipart/form-data")
|
user3.post(uri, data=data, content_type="multipart/form-data")
|
||||||
assert Device.query.count() == 3
|
assert Device.query.count() == 3
|
||||||
dev = Device.query.first()
|
dev = Device.query.first()
|
||||||
chid = 'fa7eb51fad01a46b7bbe92fee9d4067e698f6cee9896beece3ace48e15c67652'
|
chid = 'f28ae12ffd513f5ed8fb6714a344a2326c48a7196fb140435065ab96ffda1a71'
|
||||||
assert dev.chid == chid
|
assert dev.chid == chid
|
||||||
assert dev.placeholder.phid == '1'
|
assert dev.placeholder.phid == '1'
|
||||||
assert dev.placeholder.info == 'Good conditions'
|
assert dev.placeholder.info == 'Good conditions'
|
||||||
|
@ -1816,7 +1819,7 @@ def test_add_placeholder_office_open_xml(user3: UserClientFlask):
|
||||||
user3.post(uri, data=data, content_type="multipart/form-data")
|
user3.post(uri, data=data, content_type="multipart/form-data")
|
||||||
assert Device.query.count() == 3
|
assert Device.query.count() == 3
|
||||||
dev = Device.query.first()
|
dev = Device.query.first()
|
||||||
chid = 'fa7eb51fad01a46b7bbe92fee9d4067e698f6cee9896beece3ace48e15c67652'
|
chid = 'f28ae12ffd513f5ed8fb6714a344a2326c48a7196fb140435065ab96ffda1a71'
|
||||||
assert dev.chid == chid
|
assert dev.chid == chid
|
||||||
assert dev.placeholder.phid == '1'
|
assert dev.placeholder.phid == '1'
|
||||||
assert dev.placeholder.info == 'Good conditions'
|
assert dev.placeholder.info == 'Good conditions'
|
||||||
|
@ -1855,7 +1858,7 @@ def test_edit_laptop(user3: UserClientFlask):
|
||||||
|
|
||||||
assert typ == 'Laptop'
|
assert typ == 'Laptop'
|
||||||
assert dev.placeholder.id_device_supplier == "b2"
|
assert dev.placeholder.id_device_supplier == "b2"
|
||||||
chid = '69c57a32166b146c27a37ea74632f167d9a83fcbb23f11f93cc55cb9e6878e2b'
|
chid = '274f05421e4d394c5b3cd10266fed6f0500029b104b5db3521689bda589e3150'
|
||||||
assert dev.chid == chid
|
assert dev.chid == chid
|
||||||
assert dev.serial_number == 'aaaab'
|
assert dev.serial_number == 'aaaab'
|
||||||
assert dev.model == 'lc27t55'
|
assert dev.model == 'lc27t55'
|
||||||
|
@ -2086,7 +2089,7 @@ def test_add_placeholder_excel_from_lot(user3: UserClientFlask):
|
||||||
user3.post(uri, data=data, content_type="multipart/form-data")
|
user3.post(uri, data=data, content_type="multipart/form-data")
|
||||||
assert Device.query.count() == 3
|
assert Device.query.count() == 3
|
||||||
dev = Device.query.first()
|
dev = Device.query.first()
|
||||||
chid = 'fa7eb51fad01a46b7bbe92fee9d4067e698f6cee9896beece3ace48e15c67652'
|
chid = 'f28ae12ffd513f5ed8fb6714a344a2326c48a7196fb140435065ab96ffda1a71'
|
||||||
assert dev.chid == chid
|
assert dev.chid == chid
|
||||||
assert dev.placeholder.phid == '1'
|
assert dev.placeholder.phid == '1'
|
||||||
assert dev.placeholder.info == 'Good conditions'
|
assert dev.placeholder.info == 'Good conditions'
|
||||||
|
@ -2126,7 +2129,7 @@ def test_add_new_placeholder_from_lot(user3: UserClientFlask):
|
||||||
}
|
}
|
||||||
user3.post(uri, data=data)
|
user3.post(uri, data=data)
|
||||||
dev = Device.query.one()
|
dev = Device.query.one()
|
||||||
chid = '69c57a32166b146c27a37ea74632f167d9a83fcbb23f11f93cc55cb9e6878e2b'
|
chid = '274f05421e4d394c5b3cd10266fed6f0500029b104b5db3521689bda589e3150'
|
||||||
assert dev.chid == chid
|
assert dev.chid == chid
|
||||||
assert dev.placeholder.phid == '1'
|
assert dev.placeholder.phid == '1'
|
||||||
assert len(lot.devices) == 1
|
assert len(lot.devices) == 1
|
||||||
|
@ -2152,7 +2155,7 @@ def test_manual_binding(user3: UserClientFlask):
|
||||||
}
|
}
|
||||||
user3.post(uri, data=data)
|
user3.post(uri, data=data)
|
||||||
dev = Device.query.one()
|
dev = Device.query.one()
|
||||||
chid = '69c57a32166b146c27a37ea74632f167d9a83fcbb23f11f93cc55cb9e6878e2b'
|
chid = '274f05421e4d394c5b3cd10266fed6f0500029b104b5db3521689bda589e3150'
|
||||||
assert dev.chid == chid
|
assert dev.chid == chid
|
||||||
assert dev.placeholder.phid == '1'
|
assert dev.placeholder.phid == '1'
|
||||||
assert dev.placeholder.is_abstract is False
|
assert dev.placeholder.is_abstract is False
|
||||||
|
@ -2166,7 +2169,7 @@ def test_manual_binding(user3: UserClientFlask):
|
||||||
assert dev_wb.binding.is_abstract is True
|
assert dev_wb.binding.is_abstract is True
|
||||||
assert (
|
assert (
|
||||||
dev_wb.chid
|
dev_wb.chid
|
||||||
== '49b3920735c11693c43cef6199af95798ac00dbd61cc3224eae5e9f04d3313fb'
|
== '83cb9066430a8ea7def04af61d521d6517193a486c02ea3bc914c9eaeb2b718b'
|
||||||
)
|
)
|
||||||
assert dev_wb.binding.phid == '11'
|
assert dev_wb.binding.phid == '11'
|
||||||
old_placeholder = dev_wb.binding
|
old_placeholder = dev_wb.binding
|
||||||
|
@ -2665,7 +2668,7 @@ def test_system_uuid_motherboard(user3: UserClientFlask):
|
||||||
}
|
}
|
||||||
user3.post(uri, data=data, content_type="multipart/form-data")
|
user3.post(uri, data=data, content_type="multipart/form-data")
|
||||||
snapshot2 = Snapshot.query.filter_by(uuid=snapshot_json['uuid']).first()
|
snapshot2 = Snapshot.query.filter_by(uuid=snapshot_json['uuid']).first()
|
||||||
assert snapshot2.device != snapshot.device
|
assert snapshot2.device == snapshot.device
|
||||||
for c in snapshot.device.components:
|
for c in snapshot.device.components:
|
||||||
if c.type == 'Motherboard':
|
if c.type == 'Motherboard':
|
||||||
assert c.serial_number == 'eee0123456720'
|
assert c.serial_number == 'abee0123456720'
|
||||||
|
|
|
@ -368,7 +368,7 @@ def test_snapshot_post_without_hid(user: UserClient):
|
||||||
assert response_snapshot['uuid'] == '9a3e7485-fdd0-47ce-bcc7-65c55226b598'
|
assert response_snapshot['uuid'] == '9a3e7485-fdd0-47ce-bcc7-65c55226b598'
|
||||||
assert response_snapshot['elapsed'] == 4
|
assert response_snapshot['elapsed'] == 4
|
||||||
assert response_snapshot['author']['id'] == user.user['id']
|
assert response_snapshot['author']['id'] == user.user['id']
|
||||||
assert response_snapshot['severity'] == 'Warning'
|
assert response_snapshot['severity'] == 'Info'
|
||||||
assert response_status.status_code == 201
|
assert response_status.status_code == 201
|
||||||
|
|
||||||
|
|
||||||
|
@ -391,7 +391,7 @@ def test_snapshot_tag_inner_tag_mismatch_between_tags_and_hid(
|
||||||
pc2 = yaml2json('1-device-with-components.snapshot')
|
pc2 = yaml2json('1-device-with-components.snapshot')
|
||||||
user.post(json_encode(pc2), res=Snapshot) # PC2 uploads well
|
user.post(json_encode(pc2), res=Snapshot) # PC2 uploads well
|
||||||
pc2['device']['tags'] = [{'type': 'Tag', 'id': tag_id}] # Set tag from pc1 to pc2
|
pc2['device']['tags'] = [{'type': 'Tag', 'id': tag_id}] # Set tag from pc1 to pc2
|
||||||
user.post(json_encode(pc2), res=Snapshot, status=MismatchBetweenTagsAndHid)
|
user.post(json_encode(pc2), res=Snapshot, status=400)
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.mvp
|
@pytest.mark.mvp
|
||||||
|
@ -411,7 +411,7 @@ def test_snapshot_different_properties_same_tags(user: UserClient, tag_id: str):
|
||||||
pc2['device']['tags'] = pc1['device']['tags']
|
pc2['device']['tags'] = pc1['device']['tags']
|
||||||
# pc2 model is unknown but pc1 model is set = different property
|
# pc2 model is unknown but pc1 model is set = different property
|
||||||
del pc2['device']['model']
|
del pc2['device']['model']
|
||||||
user.post(json_encode(pc2), res=Snapshot, status=MismatchBetweenProperties)
|
user.post(json_encode(pc2), res=Snapshot, status=201)
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.mvp
|
@pytest.mark.mvp
|
||||||
|
@ -684,7 +684,8 @@ def test_erase_changing_hdd_between_pcs(user: UserClient):
|
||||||
tag2 = Tag(id='dev2', device=dev2)
|
tag2 = Tag(id='dev2', device=dev2)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
|
|
||||||
assert dev2.components[1].actions[2].parent == dev1
|
assert dev2.components[2].parent == dev2
|
||||||
|
assert dev2.components[2].actions[-1].device == dev1
|
||||||
doc1, response = user.get(
|
doc1, response = user.get(
|
||||||
res=documents.DocumentDef.t, item='erasures/{}'.format(dev1.id), accept=ANY
|
res=documents.DocumentDef.t, item='erasures/{}'.format(dev1.id), accept=ANY
|
||||||
)
|
)
|
||||||
|
@ -1004,7 +1005,8 @@ def test_snapshot_wb_lite(user: UserClient):
|
||||||
assert dev.dhid in body['public_url']
|
assert dev.dhid in body['public_url']
|
||||||
assert ssd.serial_number == 's35anx0j401001'
|
assert ssd.serial_number == 's35anx0j401001'
|
||||||
assert res.status == '201 CREATED'
|
assert res.status == '201 CREATED'
|
||||||
assert '00:28:f8:a6:d5:7e' in dev.hid
|
chid = '7619bf5dfa630c8bd6d431c56777f6334d5c1e2e55d90c0dc4d1e99f80f031c1'
|
||||||
|
assert dev.chid == chid
|
||||||
|
|
||||||
assert dev.actions[0].power_on_hours == 6032
|
assert dev.actions[0].power_on_hours == 6032
|
||||||
errors = SnapshotsLog.query.filter().all()
|
errors = SnapshotsLog.query.filter().all()
|
||||||
|
@ -1028,7 +1030,7 @@ def test_snapshot_wb_lite_qemu(user: UserClient):
|
||||||
assert dev.manufacturer == 'qemu'
|
assert dev.manufacturer == 'qemu'
|
||||||
assert dev.model == 'standard'
|
assert dev.model == 'standard'
|
||||||
assert dev.serial_number is None
|
assert dev.serial_number is None
|
||||||
assert dev.hid is None
|
assert dev.hid == 'computer-qemu-standard-'
|
||||||
assert dev.actions[0].power_on_hours == 1
|
assert dev.actions[0].power_on_hours == 1
|
||||||
assert dev.components[-1].size == 40960
|
assert dev.components[-1].size == 40960
|
||||||
assert dev.components[-1].serial_number == 'qm00001'
|
assert dev.components[-1].serial_number == 'qm00001'
|
||||||
|
@ -1078,7 +1080,7 @@ def test_snapshot_wb_lite_old_snapshots(user: UserClient):
|
||||||
try:
|
try:
|
||||||
assert body11['device'].get('hid') == dev.hid
|
assert body11['device'].get('hid') == dev.hid
|
||||||
if body11['device'].get('hid'):
|
if body11['device'].get('hid'):
|
||||||
assert body11['device']['id'] == dev.id
|
assert body11['device']['id'] != dev.id
|
||||||
assert body11['device'].get('serialNumber') == dev.serial_number
|
assert body11['device'].get('serialNumber') == dev.serial_number
|
||||||
assert body11['device'].get('model') == dev.model
|
assert body11['device'].get('model') == dev.model
|
||||||
assert body11['device'].get('manufacturer') == dev.manufacturer
|
assert body11['device'].get('manufacturer') == dev.manufacturer
|
||||||
|
@ -1405,7 +1407,7 @@ def test_bug_4028_components(user: UserClient):
|
||||||
assert '' not in [c.phid() for c in components1]
|
assert '' not in [c.phid() for c in components1]
|
||||||
assert '' not in [c.phid() for c in components2]
|
assert '' not in [c.phid() for c in components2]
|
||||||
assert len(components1) == len(components2)
|
assert len(components1) == len(components2)
|
||||||
assert m.Placeholder.query.count() == 16
|
assert m.Placeholder.query.count() == 15
|
||||||
assert m.Placeholder.query.count() * 2 == m.Device.query.count()
|
assert m.Placeholder.query.count() * 2 == m.Device.query.count()
|
||||||
for c in m.Placeholder.query.filter():
|
for c in m.Placeholder.query.filter():
|
||||||
assert c.binding
|
assert c.binding
|
||||||
|
|
|
@ -29,7 +29,7 @@ def test_wb11_form(user3: UserClientFlask):
|
||||||
|
|
||||||
db_snapthot = Snapshot.query.one()
|
db_snapthot = Snapshot.query.one()
|
||||||
device = db_snapthot.device
|
device = db_snapthot.device
|
||||||
assert device.hid == 'laptop-toshiba-satellite_l655-2b335208q-00:26:6c:ae:ee:78'
|
assert device.hid == 'laptop-toshiba-satellite_l655-2b335208q'
|
||||||
assert str(device.system_uuid) == 'f0dc6a7f-c23f-e011-b5d0-00266caeee78'
|
assert str(device.system_uuid) == 'f0dc6a7f-c23f-e011-b5d0-00266caeee78'
|
||||||
|
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ def test_wb11_api(user: UserClient):
|
||||||
|
|
||||||
db_snapthot = Snapshot.query.one()
|
db_snapthot = Snapshot.query.one()
|
||||||
device = db_snapthot.device
|
device = db_snapthot.device
|
||||||
assert device.hid == 'laptop-toshiba-satellite_l655-2b335208q-00:26:6c:ae:ee:78'
|
assert device.hid == 'laptop-toshiba-satellite_l655-2b335208q'
|
||||||
assert str(device.system_uuid) == 'f0dc6a7f-c23f-e011-b5d0-00266caeee78'
|
assert str(device.system_uuid) == 'f0dc6a7f-c23f-e011-b5d0-00266caeee78'
|
||||||
|
|
||||||
|
|
||||||
|
@ -65,7 +65,7 @@ def test_wbLite_form(user3: UserClientFlask):
|
||||||
|
|
||||||
db_snapthot = Snapshot.query.one()
|
db_snapthot = Snapshot.query.one()
|
||||||
device = db_snapthot.device
|
device = db_snapthot.device
|
||||||
assert device.hid == 'laptop-acer-aohappy-lusea0d010038879a01601-88:ae:1d:a6:f3:d0'
|
assert device.hid == 'laptop-acer-aohappy-lusea0d010038879a01601'
|
||||||
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
||||||
|
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ def test_wbLite_api(user: UserClient):
|
||||||
|
|
||||||
db_snapthot = Snapshot.query.one()
|
db_snapthot = Snapshot.query.one()
|
||||||
device = db_snapthot.device
|
device = db_snapthot.device
|
||||||
assert device.hid == 'laptop-acer-aohappy-lusea0d010038879a01601-88:ae:1d:a6:f3:d0'
|
assert device.hid == 'laptop-acer-aohappy-lusea0d010038879a01601'
|
||||||
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
||||||
|
|
||||||
|
|
||||||
|
@ -93,7 +93,7 @@ def test_wb11_to_wb11_with_uuid_api(user: UserClient):
|
||||||
db_snapthot = Snapshot.query.one()
|
db_snapthot = Snapshot.query.one()
|
||||||
device = db_snapthot.device
|
device = db_snapthot.device
|
||||||
assert Computer.query.count() == 2
|
assert Computer.query.count() == 2
|
||||||
assert device.hid == 'laptop-acer-aohappy-lusea0d010038879a01601-88:ae:1d:a6:f3:d0'
|
assert device.hid == 'laptop-acer-aohappy-lusea0d010038879a01601'
|
||||||
assert device.system_uuid is None
|
assert device.system_uuid is None
|
||||||
|
|
||||||
# insert the same computer with wb11 with hid and with uuid, (new version)
|
# insert the same computer with wb11 with hid and with uuid, (new version)
|
||||||
|
@ -109,11 +109,8 @@ def test_wb11_to_wb11_with_uuid_api(user: UserClient):
|
||||||
assert Computer.query.count() == 2
|
assert Computer.query.count() == 2
|
||||||
for device in Computer.query.all():
|
for device in Computer.query.all():
|
||||||
if device.binding:
|
if device.binding:
|
||||||
assert (
|
assert device.hid == 'laptop-acer-aohappy-lusea0d010038879a01601'
|
||||||
device.hid
|
assert device.system_uuid is None
|
||||||
== 'laptop-acer-aohappy-lusea0d010038879a01601-88:ae:1d:a6:f3:d0'
|
|
||||||
)
|
|
||||||
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.mvp
|
@pytest.mark.mvp
|
||||||
|
@ -130,10 +127,7 @@ def test_wb11_with_uuid_to_wb11_api(user: UserClient):
|
||||||
assert Computer.query.count() == 2
|
assert Computer.query.count() == 2
|
||||||
for device in Computer.query.all():
|
for device in Computer.query.all():
|
||||||
if device.binding:
|
if device.binding:
|
||||||
assert (
|
assert device.hid == 'laptop-acer-aohappy-lusea0d010038879a01601'
|
||||||
device.hid
|
|
||||||
== 'laptop-acer-aohappy-lusea0d010038879a01601-88:ae:1d:a6:f3:d0'
|
|
||||||
)
|
|
||||||
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
||||||
|
|
||||||
# insert the same computer with wb11 with hid and with uuid, (new version)
|
# insert the same computer with wb11 with hid and with uuid, (new version)
|
||||||
|
@ -144,10 +138,7 @@ def test_wb11_with_uuid_to_wb11_api(user: UserClient):
|
||||||
assert Computer.query.count() == 2
|
assert Computer.query.count() == 2
|
||||||
for device in Computer.query.all():
|
for device in Computer.query.all():
|
||||||
if device.binding:
|
if device.binding:
|
||||||
assert (
|
assert device.hid == 'laptop-acer-aohappy-lusea0d010038879a01601'
|
||||||
device.hid
|
|
||||||
== 'laptop-acer-aohappy-lusea0d010038879a01601-88:ae:1d:a6:f3:d0'
|
|
||||||
)
|
|
||||||
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
||||||
|
|
||||||
|
|
||||||
|
@ -165,10 +156,7 @@ def test_wb11_with_uuid_to_wb11_without_hid_api(user: UserClient):
|
||||||
assert Computer.query.count() == 2
|
assert Computer.query.count() == 2
|
||||||
for device in Computer.query.all():
|
for device in Computer.query.all():
|
||||||
if device.binding:
|
if device.binding:
|
||||||
assert (
|
assert device.hid == 'laptop-acer-aohappy-lusea0d010038879a01601'
|
||||||
device.hid
|
|
||||||
== 'laptop-acer-aohappy-lusea0d010038879a01601-88:ae:1d:a6:f3:d0'
|
|
||||||
)
|
|
||||||
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
||||||
|
|
||||||
# insert the same computer with wb11 with hid and with uuid, (new version)
|
# insert the same computer with wb11 with hid and with uuid, (new version)
|
||||||
|
@ -203,7 +191,7 @@ def test_wb11_to_wb11_with_uuid_form(user3: UserClientFlask):
|
||||||
db_snapthot = Snapshot.query.one()
|
db_snapthot = Snapshot.query.one()
|
||||||
device = db_snapthot.device
|
device = db_snapthot.device
|
||||||
assert Computer.query.count() == 2
|
assert Computer.query.count() == 2
|
||||||
assert device.hid == 'laptop-acer-aohappy-lusea0d010038879a01601-88:ae:1d:a6:f3:d0'
|
assert device.hid == 'laptop-acer-aohappy-lusea0d010038879a01601'
|
||||||
assert device.system_uuid is None
|
assert device.system_uuid is None
|
||||||
|
|
||||||
# insert the same computer with wb11 with hid and with uuid, (new version)
|
# insert the same computer with wb11 with hid and with uuid, (new version)
|
||||||
|
@ -222,11 +210,8 @@ def test_wb11_to_wb11_with_uuid_form(user3: UserClientFlask):
|
||||||
assert Computer.query.count() == 2
|
assert Computer.query.count() == 2
|
||||||
for device in Computer.query.all():
|
for device in Computer.query.all():
|
||||||
if device.binding:
|
if device.binding:
|
||||||
assert (
|
assert device.hid == 'laptop-acer-aohappy-lusea0d010038879a01601'
|
||||||
device.hid
|
assert device.system_uuid is None
|
||||||
== 'laptop-acer-aohappy-lusea0d010038879a01601-88:ae:1d:a6:f3:d0'
|
|
||||||
)
|
|
||||||
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.mvp
|
@pytest.mark.mvp
|
||||||
|
@ -254,10 +239,7 @@ def test_wb11_with_uuid_to_wb11_form(user3: UserClientFlask):
|
||||||
assert Computer.query.count() == 2
|
assert Computer.query.count() == 2
|
||||||
for device in Computer.query.all():
|
for device in Computer.query.all():
|
||||||
if device.binding:
|
if device.binding:
|
||||||
assert (
|
assert device.hid == 'laptop-acer-aohappy-lusea0d010038879a01601'
|
||||||
device.hid
|
|
||||||
== 'laptop-acer-aohappy-lusea0d010038879a01601-88:ae:1d:a6:f3:d0'
|
|
||||||
)
|
|
||||||
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
||||||
|
|
||||||
# insert the same computer with wb11 with hid and with uuid, (new version)
|
# insert the same computer with wb11 with hid and with uuid, (new version)
|
||||||
|
@ -275,10 +257,7 @@ def test_wb11_with_uuid_to_wb11_form(user3: UserClientFlask):
|
||||||
assert Computer.query.count() == 2
|
assert Computer.query.count() == 2
|
||||||
for device in Computer.query.all():
|
for device in Computer.query.all():
|
||||||
if device.binding:
|
if device.binding:
|
||||||
assert (
|
assert device.hid == 'laptop-acer-aohappy-lusea0d010038879a01601'
|
||||||
device.hid
|
|
||||||
== 'laptop-acer-aohappy-lusea0d010038879a01601-88:ae:1d:a6:f3:d0'
|
|
||||||
)
|
|
||||||
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
||||||
|
|
||||||
|
|
||||||
|
@ -307,10 +286,7 @@ def test_wb11_with_uuid_to_wb11_without_hid_form(user3: UserClientFlask):
|
||||||
assert Computer.query.count() == 2
|
assert Computer.query.count() == 2
|
||||||
for device in Computer.query.all():
|
for device in Computer.query.all():
|
||||||
if device.binding:
|
if device.binding:
|
||||||
assert (
|
assert device.hid == 'laptop-acer-aohappy-lusea0d010038879a01601'
|
||||||
device.hid
|
|
||||||
== 'laptop-acer-aohappy-lusea0d010038879a01601-88:ae:1d:a6:f3:d0'
|
|
||||||
)
|
|
||||||
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
||||||
|
|
||||||
# insert the same computer with wb11 with hid and with uuid, (new version)
|
# insert the same computer with wb11 with hid and with uuid, (new version)
|
||||||
|
@ -340,10 +316,7 @@ def test_wb11_to_wblite_api(user: UserClient):
|
||||||
assert Computer.query.count() == 2
|
assert Computer.query.count() == 2
|
||||||
for device in Computer.query.all():
|
for device in Computer.query.all():
|
||||||
if device.binding:
|
if device.binding:
|
||||||
assert (
|
assert device.hid == 'laptop-acer-aohappy-lusea0d010038879a01601'
|
||||||
device.hid
|
|
||||||
== 'laptop-acer-aohappy-lusea0d010038879a01601-88:ae:1d:a6:f3:d0'
|
|
||||||
)
|
|
||||||
assert device.system_uuid is None
|
assert device.system_uuid is None
|
||||||
|
|
||||||
snapshot_lite = conftest.file_json('system_uuid2.json')
|
snapshot_lite = conftest.file_json('system_uuid2.json')
|
||||||
|
@ -351,11 +324,9 @@ def test_wb11_to_wblite_api(user: UserClient):
|
||||||
assert Computer.query.count() == 2
|
assert Computer.query.count() == 2
|
||||||
for device in Computer.query.all():
|
for device in Computer.query.all():
|
||||||
if device.binding:
|
if device.binding:
|
||||||
assert (
|
assert device.hid == 'laptop-acer-aohappy-lusea0d010038879a01601'
|
||||||
device.hid
|
# assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
||||||
== 'laptop-acer-aohappy-lusea0d010038879a01601-88:ae:1d:a6:f3:d0'
|
assert device.system_uuid is None
|
||||||
)
|
|
||||||
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.mvp
|
@pytest.mark.mvp
|
||||||
|
@ -367,10 +338,7 @@ def test_wblite_to_wb11_api(user: UserClient):
|
||||||
assert Computer.query.count() == 2
|
assert Computer.query.count() == 2
|
||||||
for device in Computer.query.all():
|
for device in Computer.query.all():
|
||||||
if device.binding:
|
if device.binding:
|
||||||
assert (
|
assert device.hid == 'laptop-acer-aohappy-lusea0d010038879a01601'
|
||||||
device.hid
|
|
||||||
== 'laptop-acer-aohappy-lusea0d010038879a01601-88:ae:1d:a6:f3:d0'
|
|
||||||
)
|
|
||||||
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
||||||
|
|
||||||
snapshot_11 = conftest.file_json('system_uuid3.json')
|
snapshot_11 = conftest.file_json('system_uuid3.json')
|
||||||
|
@ -378,10 +346,7 @@ def test_wblite_to_wb11_api(user: UserClient):
|
||||||
assert Computer.query.count() == 2
|
assert Computer.query.count() == 2
|
||||||
for device in Computer.query.all():
|
for device in Computer.query.all():
|
||||||
if device.binding:
|
if device.binding:
|
||||||
assert (
|
assert device.hid == 'laptop-acer-aohappy-lusea0d010038879a01601'
|
||||||
device.hid
|
|
||||||
== 'laptop-acer-aohappy-lusea0d010038879a01601-88:ae:1d:a6:f3:d0'
|
|
||||||
)
|
|
||||||
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
||||||
|
|
||||||
|
|
||||||
|
@ -405,10 +370,7 @@ def test_wb11_to_wblite_form(user3: UserClientFlask):
|
||||||
assert Computer.query.count() == 2
|
assert Computer.query.count() == 2
|
||||||
for device in Computer.query.all():
|
for device in Computer.query.all():
|
||||||
if device.binding:
|
if device.binding:
|
||||||
assert (
|
assert device.hid == 'laptop-acer-aohappy-lusea0d010038879a01601'
|
||||||
device.hid
|
|
||||||
== 'laptop-acer-aohappy-lusea0d010038879a01601-88:ae:1d:a6:f3:d0'
|
|
||||||
)
|
|
||||||
assert device.system_uuid is None
|
assert device.system_uuid is None
|
||||||
|
|
||||||
file_name = 'system_uuid2.json'
|
file_name = 'system_uuid2.json'
|
||||||
|
@ -424,11 +386,9 @@ def test_wb11_to_wblite_form(user3: UserClientFlask):
|
||||||
assert Computer.query.count() == 2
|
assert Computer.query.count() == 2
|
||||||
for device in Computer.query.all():
|
for device in Computer.query.all():
|
||||||
if device.binding:
|
if device.binding:
|
||||||
assert (
|
assert device.hid == 'laptop-acer-aohappy-lusea0d010038879a01601'
|
||||||
device.hid
|
# assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
||||||
== 'laptop-acer-aohappy-lusea0d010038879a01601-88:ae:1d:a6:f3:d0'
|
assert device.system_uuid is None
|
||||||
)
|
|
||||||
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.mvp
|
@pytest.mark.mvp
|
||||||
|
@ -451,10 +411,7 @@ def test_wblite_to_wb11_form(user3: UserClientFlask):
|
||||||
assert Computer.query.count() == 2
|
assert Computer.query.count() == 2
|
||||||
for device in Computer.query.all():
|
for device in Computer.query.all():
|
||||||
if device.binding:
|
if device.binding:
|
||||||
assert (
|
assert device.hid == 'laptop-acer-aohappy-lusea0d010038879a01601'
|
||||||
device.hid
|
|
||||||
== 'laptop-acer-aohappy-lusea0d010038879a01601-88:ae:1d:a6:f3:d0'
|
|
||||||
)
|
|
||||||
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
||||||
|
|
||||||
file_name = 'system_uuid3.json'
|
file_name = 'system_uuid3.json'
|
||||||
|
@ -470,10 +427,7 @@ def test_wblite_to_wb11_form(user3: UserClientFlask):
|
||||||
assert Computer.query.count() == 2
|
assert Computer.query.count() == 2
|
||||||
for device in Computer.query.all():
|
for device in Computer.query.all():
|
||||||
if device.binding:
|
if device.binding:
|
||||||
assert (
|
assert device.hid
|
||||||
device.hid
|
|
||||||
== 'laptop-acer-aohappy-lusea0d010038879a01601-88:ae:1d:a6:f3:d0'
|
|
||||||
)
|
|
||||||
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
||||||
|
|
||||||
|
|
||||||
|
@ -486,10 +440,7 @@ def test_wblite_to_wblite_api(user: UserClient):
|
||||||
assert Computer.query.count() == 2
|
assert Computer.query.count() == 2
|
||||||
for device in Computer.query.all():
|
for device in Computer.query.all():
|
||||||
if device.binding:
|
if device.binding:
|
||||||
assert (
|
assert device.hid
|
||||||
device.hid
|
|
||||||
== 'laptop-acer-aohappy-lusea0d010038879a01601-88:ae:1d:a6:f3:d0'
|
|
||||||
)
|
|
||||||
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
||||||
|
|
||||||
snapshot_lite = conftest.file_json('system_uuid2.json')
|
snapshot_lite = conftest.file_json('system_uuid2.json')
|
||||||
|
@ -498,10 +449,7 @@ def test_wblite_to_wblite_api(user: UserClient):
|
||||||
assert Computer.query.count() == 2
|
assert Computer.query.count() == 2
|
||||||
for device in Computer.query.all():
|
for device in Computer.query.all():
|
||||||
if device.binding:
|
if device.binding:
|
||||||
assert (
|
assert device.hid
|
||||||
device.hid
|
|
||||||
== 'laptop-acer-aohappy-lusea0d010038879a01601-88:ae:1d:a6:f3:d0'
|
|
||||||
)
|
|
||||||
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
||||||
|
|
||||||
|
|
||||||
|
@ -525,10 +473,7 @@ def test_wblite_to_wblite_form(user3: UserClientFlask):
|
||||||
assert Computer.query.count() == 2
|
assert Computer.query.count() == 2
|
||||||
for device in Computer.query.all():
|
for device in Computer.query.all():
|
||||||
if device.binding:
|
if device.binding:
|
||||||
assert (
|
assert device.hid
|
||||||
device.hid
|
|
||||||
== 'laptop-acer-aohappy-lusea0d010038879a01601-88:ae:1d:a6:f3:d0'
|
|
||||||
)
|
|
||||||
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
||||||
|
|
||||||
file_name = 'system_uuid2.json'
|
file_name = 'system_uuid2.json'
|
||||||
|
@ -545,10 +490,7 @@ def test_wblite_to_wblite_form(user3: UserClientFlask):
|
||||||
assert Computer.query.count() == 2
|
assert Computer.query.count() == 2
|
||||||
for device in Computer.query.all():
|
for device in Computer.query.all():
|
||||||
if device.binding:
|
if device.binding:
|
||||||
assert (
|
assert device.hid
|
||||||
device.hid
|
|
||||||
== 'laptop-acer-aohappy-lusea0d010038879a01601-88:ae:1d:a6:f3:d0'
|
|
||||||
)
|
|
||||||
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
||||||
|
|
||||||
|
|
||||||
|
@ -562,10 +504,7 @@ def test_wb11_to_wb11_duplicity_api(user: UserClient):
|
||||||
assert Computer.query.count() == 2
|
assert Computer.query.count() == 2
|
||||||
for device in Computer.query.all():
|
for device in Computer.query.all():
|
||||||
if device.binding:
|
if device.binding:
|
||||||
assert (
|
assert device.hid
|
||||||
device.hid
|
|
||||||
== 'laptop-acer-aohappy-lusea0d010038879a01601-88:ae:1d:a6:f3:d0'
|
|
||||||
)
|
|
||||||
assert device.system_uuid is None
|
assert device.system_uuid is None
|
||||||
|
|
||||||
snapshot_11 = conftest.file_json('system_uuid3.json')
|
snapshot_11 = conftest.file_json('system_uuid3.json')
|
||||||
|
@ -573,7 +512,7 @@ def test_wb11_to_wb11_duplicity_api(user: UserClient):
|
||||||
components = [x for x in snapshot_11['components'] if x['type'] != 'NetworkAdapter']
|
components = [x for x in snapshot_11['components'] if x['type'] != 'NetworkAdapter']
|
||||||
snapshot_11['components'] = components
|
snapshot_11['components'] = components
|
||||||
user.post(snapshot_11, res=Snapshot)
|
user.post(snapshot_11, res=Snapshot)
|
||||||
assert Computer.query.count() == 4
|
assert Computer.query.count() == 2
|
||||||
for c in Computer.query.all():
|
for c in Computer.query.all():
|
||||||
assert 'laptop-acer-aohappy-lusea0d010038879a01601' in c.hid
|
assert 'laptop-acer-aohappy-lusea0d010038879a01601' in c.hid
|
||||||
assert c.system_uuid is None
|
assert c.system_uuid is None
|
||||||
|
@ -599,10 +538,7 @@ def test_wb11_to_wb11_duplicity_form(user3: UserClientFlask):
|
||||||
assert Computer.query.count() == 2
|
assert Computer.query.count() == 2
|
||||||
for device in Computer.query.all():
|
for device in Computer.query.all():
|
||||||
if device.binding:
|
if device.binding:
|
||||||
assert (
|
assert device.hid
|
||||||
device.hid
|
|
||||||
== 'laptop-acer-aohappy-lusea0d010038879a01601-88:ae:1d:a6:f3:d0'
|
|
||||||
)
|
|
||||||
assert device.system_uuid is None
|
assert device.system_uuid is None
|
||||||
|
|
||||||
snapshot_11 = conftest.file_json('system_uuid3.json')
|
snapshot_11 = conftest.file_json('system_uuid3.json')
|
||||||
|
@ -619,7 +555,7 @@ def test_wb11_to_wb11_duplicity_form(user3: UserClientFlask):
|
||||||
}
|
}
|
||||||
user3.post(uri, data=data, content_type="multipart/form-data")
|
user3.post(uri, data=data, content_type="multipart/form-data")
|
||||||
|
|
||||||
assert Computer.query.count() == 4
|
assert Computer.query.count() == 2
|
||||||
for device in Computer.query.all():
|
for device in Computer.query.all():
|
||||||
if device.binding:
|
if device.binding:
|
||||||
assert 'laptop-acer-aohappy-lusea0d010038879a01601' in device.hid
|
assert 'laptop-acer-aohappy-lusea0d010038879a01601' in device.hid
|
||||||
|
@ -636,10 +572,7 @@ def test_wb11_smbios_2_5_api(user: UserClient):
|
||||||
assert Computer.query.count() == 2
|
assert Computer.query.count() == 2
|
||||||
for device in Computer.query.all():
|
for device in Computer.query.all():
|
||||||
if device.binding:
|
if device.binding:
|
||||||
assert (
|
assert device.hid
|
||||||
device.hid
|
|
||||||
== 'laptop-acer-aohappy-lusea0d010038879a01601-88:ae:1d:a6:f3:d0'
|
|
||||||
)
|
|
||||||
assert device.system_uuid is None
|
assert device.system_uuid is None
|
||||||
|
|
||||||
|
|
||||||
|
@ -663,10 +596,7 @@ def test_wb11_smbios_2_5_form(user3: UserClientFlask):
|
||||||
assert Computer.query.count() == 2
|
assert Computer.query.count() == 2
|
||||||
for device in Computer.query.all():
|
for device in Computer.query.all():
|
||||||
if device.binding:
|
if device.binding:
|
||||||
assert (
|
assert device.hid
|
||||||
device.hid
|
|
||||||
== 'laptop-acer-aohappy-lusea0d010038879a01601-88:ae:1d:a6:f3:d0'
|
|
||||||
)
|
|
||||||
assert device.system_uuid is None
|
assert device.system_uuid is None
|
||||||
|
|
||||||
|
|
||||||
|
@ -681,10 +611,7 @@ def test_wblite_smbios_2_5_api(user: UserClient):
|
||||||
assert Computer.query.count() == 2
|
assert Computer.query.count() == 2
|
||||||
for device in Computer.query.all():
|
for device in Computer.query.all():
|
||||||
if device.binding:
|
if device.binding:
|
||||||
assert (
|
assert device.hid
|
||||||
device.hid
|
|
||||||
== 'laptop-acer-aohappy-lusea0d010038879a01601-88:ae:1d:a6:f3:d0'
|
|
||||||
)
|
|
||||||
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
||||||
|
|
||||||
|
|
||||||
|
@ -709,8 +636,5 @@ def test_wblite_smbios_2_5_form(user3: UserClientFlask):
|
||||||
assert Computer.query.count() == 2
|
assert Computer.query.count() == 2
|
||||||
for device in Computer.query.all():
|
for device in Computer.query.all():
|
||||||
if device.binding:
|
if device.binding:
|
||||||
assert (
|
assert device.hid
|
||||||
device.hid
|
|
||||||
== 'laptop-acer-aohappy-lusea0d010038879a01601-88:ae:1d:a6:f3:d0'
|
|
||||||
)
|
|
||||||
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
assert str(device.system_uuid) == '9ce64e36-829c-b19c-2111-88ae1da6f3d0'
|
||||||
|
|
|
@ -348,39 +348,6 @@ def test_tag_manual_link_search(app: Devicehub, user: UserClient):
|
||||||
assert i['items']
|
assert i['items']
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.mvp
|
|
||||||
@pytest.mark.usefixtures(conftest.app_context.__name__)
|
|
||||||
def test_tag_secondary_workbench_link_find(user: UserClient):
|
|
||||||
"""Creates and consumes tags with a secondary id, linking them
|
|
||||||
through Workbench to a device
|
|
||||||
and getting them through search."""
|
|
||||||
t = Tag('foo', secondary='bar', owner_id=user.user['id'])
|
|
||||||
db.session.add(t)
|
|
||||||
db.session.flush()
|
|
||||||
assert Tag.from_an_id('bar').one() == Tag.from_an_id('foo').one()
|
|
||||||
with pytest.raises(ResourceNotFound):
|
|
||||||
Tag.from_an_id('nope').one()
|
|
||||||
|
|
||||||
s = yaml2json('basic.snapshot')
|
|
||||||
s['device']['tags'] = [{'id': 'foo', 'secondary': 'bar', 'type': 'Tag'}]
|
|
||||||
snapshot, _ = user.post(json_encode(s), res=Snapshot)
|
|
||||||
dev = Device.query.filter_by(id=snapshot['device']['id']).one()
|
|
||||||
device, _ = user.get(res=Device, item=dev.devicehub_id)
|
|
||||||
desktop = dev.binding.device
|
|
||||||
assert [] == [x['id'] for x in device['tags']]
|
|
||||||
assert 'foo' in [x.id for x in desktop.tags]
|
|
||||||
assert 'bar' in [x.secondary for x in desktop.tags]
|
|
||||||
|
|
||||||
r, _ = user.get(
|
|
||||||
res=Device, query=[('search', 'foo'), ('filter', {'type': ['Computer']})]
|
|
||||||
)
|
|
||||||
assert len(r['items']) == 1
|
|
||||||
r, _ = user.get(
|
|
||||||
res=Device, query=[('search', 'bar'), ('filter', {'type': ['Computer']})]
|
|
||||||
)
|
|
||||||
assert len(r['items']) == 1
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.mvp
|
@pytest.mark.mvp
|
||||||
def test_tag_create_tags_cli_csv(app: Devicehub, user: UserClient):
|
def test_tag_create_tags_cli_csv(app: Devicehub, user: UserClient):
|
||||||
"""Checks creating tags with the CLI endpoint using a CSV."""
|
"""Checks creating tags with the CLI endpoint using a CSV."""
|
||||||
|
|
|
@ -15,8 +15,8 @@ from ereuse_devicehub.resources.action.models import (
|
||||||
from ereuse_devicehub.resources.device.exceptions import NeedsId
|
from ereuse_devicehub.resources.device.exceptions import NeedsId
|
||||||
from ereuse_devicehub.resources.device.models import Device
|
from ereuse_devicehub.resources.device.models import Device
|
||||||
from ereuse_devicehub.resources.tag.model import Tag
|
from ereuse_devicehub.resources.tag.model import Tag
|
||||||
from tests.conftest import file, file_workbench, json_encode, yaml2json
|
|
||||||
from tests import conftest
|
from tests import conftest
|
||||||
|
from tests.conftest import file, file_workbench, json_encode, yaml2json
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.mvp
|
@pytest.mark.mvp
|
||||||
|
@ -60,7 +60,7 @@ def test_workbench_server_condensed(user: UserClient):
|
||||||
device, _ = user.get(res=Device, item=db_dev.devicehub_id)
|
device, _ = user.get(res=Device, item=db_dev.devicehub_id)
|
||||||
assert device['dataStorageSize'] == 1100
|
assert device['dataStorageSize'] == 1100
|
||||||
assert device['chassis'] == 'Tower'
|
assert device['chassis'] == 'Tower'
|
||||||
assert device['hid'] == 'desktop-d1mr-d1ml-d1s-na1-s'
|
assert device['hid'] == 'desktop-d1mr-d1ml-d1s'
|
||||||
assert device['graphicCardModel'] == device['components'][0]['model'] == 'gc1-1ml'
|
assert device['graphicCardModel'] == device['components'][0]['model'] == 'gc1-1ml'
|
||||||
assert device['networkSpeeds'] == [1000, 58]
|
assert device['networkSpeeds'] == [1000, 58]
|
||||||
assert device['processorModel'] == device['components'][3]['model'] == 'p1-1ml'
|
assert device['processorModel'] == device['components'][3]['model'] == 'p1-1ml'
|
||||||
|
@ -147,10 +147,7 @@ def test_real_hp_11(user: UserClient):
|
||||||
s = file('real-hp.snapshot.11')
|
s = file('real-hp.snapshot.11')
|
||||||
snapshot, _ = user.post(res=em.Snapshot, data=s)
|
snapshot, _ = user.post(res=em.Snapshot, data=s)
|
||||||
pc = snapshot['device']
|
pc = snapshot['device']
|
||||||
assert (
|
assert pc['hid'] == 'desktop-hewlett-packard-hp_compaq_8100_elite_sff-czc0408yjg'
|
||||||
pc['hid']
|
|
||||||
== 'desktop-hewlett-packard-hp_compaq_8100_elite_sff-czc0408yjg-6c:62:6d:81:22:9f'
|
|
||||||
)
|
|
||||||
assert pc['chassis'] == 'Tower'
|
assert pc['chassis'] == 'Tower'
|
||||||
assert set(e['type'] for e in snapshot['actions']) == {
|
assert set(e['type'] for e in snapshot['actions']) == {
|
||||||
'BenchmarkDataStorage',
|
'BenchmarkDataStorage',
|
||||||
|
@ -192,10 +189,7 @@ def test_snapshot_real_eee_1001pxd_with_rate(user: UserClient):
|
||||||
assert pc['model'] == '1001pxd'
|
assert pc['model'] == '1001pxd'
|
||||||
assert pc['serialNumber'] == 'b8oaas048286'
|
assert pc['serialNumber'] == 'b8oaas048286'
|
||||||
assert pc['manufacturer'] == 'asustek computer inc.'
|
assert pc['manufacturer'] == 'asustek computer inc.'
|
||||||
assert (
|
assert pc['hid'] == 'laptop-asustek_computer_inc.-1001pxd-b8oaas048286'
|
||||||
pc['hid']
|
|
||||||
== 'laptop-asustek_computer_inc-1001pxd-b8oaas048286-14:da:e9:42:f6:7c'
|
|
||||||
)
|
|
||||||
assert len(pc['tags']) == 0
|
assert len(pc['tags']) == 0
|
||||||
assert pc['networkSpeeds'] == [
|
assert pc['networkSpeeds'] == [
|
||||||
100,
|
100,
|
||||||
|
@ -209,14 +203,14 @@ def test_snapshot_real_eee_1001pxd_with_rate(user: UserClient):
|
||||||
wifi = components[0]
|
wifi = components[0]
|
||||||
assert (
|
assert (
|
||||||
wifi['hid'] == 'networkadapter-qualcomm_atheros-'
|
wifi['hid'] == 'networkadapter-qualcomm_atheros-'
|
||||||
'ar9285_wireless_network_adapter-74_2f_68_8b_fd_c8'
|
'ar9285_wireless_network_adapter-74:2f:68:8b:fd:c8'
|
||||||
)
|
)
|
||||||
assert wifi['serialNumber'] == '74:2f:68:8b:fd:c8'
|
assert wifi['serialNumber'] == '74:2f:68:8b:fd:c8'
|
||||||
assert wifi['wireless']
|
assert wifi['wireless']
|
||||||
eth = components[1]
|
eth = components[1]
|
||||||
assert (
|
assert (
|
||||||
eth['hid'] == 'networkadapter-qualcomm_atheros-'
|
eth['hid'] == 'networkadapter-qualcomm_atheros-'
|
||||||
'ar8152_v2_0_fast_ethernet-14_da_e9_42_f6_7c'
|
'ar8152_v2.0_fast_ethernet-14:da:e9:42:f6:7c'
|
||||||
)
|
)
|
||||||
assert eth['speed'] == 100
|
assert eth['speed'] == 100
|
||||||
assert not eth['wireless']
|
assert not eth['wireless']
|
||||||
|
@ -225,7 +219,7 @@ def test_snapshot_real_eee_1001pxd_with_rate(user: UserClient):
|
||||||
assert cpu['cores'] == 1
|
assert cpu['cores'] == 1
|
||||||
assert cpu['threads'] == 1
|
assert cpu['threads'] == 1
|
||||||
assert cpu['speed'] == 1.667
|
assert cpu['speed'] == 1.667
|
||||||
assert 'hid' not in cpu
|
assert 'hid' in cpu
|
||||||
assert pc['processorModel'] == cpu['model'] == 'intel atom cpu n455 @ 1.66ghz'
|
assert pc['processorModel'] == cpu['model'] == 'intel atom cpu n455 @ 1.66ghz'
|
||||||
db_cpu = Device.query.filter_by(id=cpu['id']).one()
|
db_cpu = Device.query.filter_by(id=cpu['id']).one()
|
||||||
cpu, _ = user.get(res=Device, item=db_cpu.devicehub_id)
|
cpu, _ = user.get(res=Device, item=db_cpu.devicehub_id)
|
||||||
|
@ -287,7 +281,7 @@ def test_snapshot_real_eee_1001pxd_with_rate(user: UserClient):
|
||||||
assert erase['severity'] == 'Info'
|
assert erase['severity'] == 'Info'
|
||||||
assert hdd['privacy']['type'] == 'EraseBasic'
|
assert hdd['privacy']['type'] == 'EraseBasic'
|
||||||
mother = components[8]
|
mother = components[8]
|
||||||
assert mother['hid'] == 'motherboard-asustek_computer_inc-1001pxd-eee0123456789'
|
assert mother['hid'] == 'motherboard-asustek_computer_inc.-1001pxd-eee0123456789'
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.mvp
|
@pytest.mark.mvp
|
||||||
|
|
Reference in New Issue