Fix bug when device rate is low
This commit is contained in:
parent
2aaa79e8b4
commit
97536c5ce1
|
@ -563,8 +563,9 @@ class EreusePrice(Price):
|
||||||
def __init__(self, device, rating_range, role, price) -> None:
|
def __init__(self, device, rating_range, role, price) -> None:
|
||||||
cls = device.__class__ if device.__class__ != Server else Desktop
|
cls = device.__class__ if device.__class__ != Server else Desktop
|
||||||
rate = self.SCHEMA[cls][rating_range]
|
rate = self.SCHEMA[cls][rating_range]
|
||||||
self.standard = EreusePrice.Type(rate['STD'][role], price)
|
self.standard = EreusePrice.Type(rate[self.STANDARD][role], price)
|
||||||
self.warranty2 = EreusePrice.Type(rate['WR2'][role], price)
|
if self.WARRANTY2 in rate:
|
||||||
|
self.warranty2 = EreusePrice.Type(rate[self.WARRANTY2][role], price)
|
||||||
|
|
||||||
def __init__(self, rating: AggregateRate, **kwargs) -> None:
|
def __init__(self, rating: AggregateRate, **kwargs) -> None:
|
||||||
if rating.rating_range == RatingRange.VERY_LOW:
|
if rating.rating_range == RatingRange.VERY_LOW:
|
||||||
|
@ -584,6 +585,7 @@ class EreusePrice(Price):
|
||||||
self.refurbisher = self._service(self.Service.REFURBISHER)
|
self.refurbisher = self._service(self.Service.REFURBISHER)
|
||||||
self.retailer = self._service(self.Service.RETAILER)
|
self.retailer = self._service(self.Service.RETAILER)
|
||||||
self.platform = self._service(self.Service.PLATFORM)
|
self.platform = self._service(self.Service.PLATFORM)
|
||||||
|
if hasattr(self.refurbisher, 'warranty2'):
|
||||||
self.warranty2 = round(self.refurbisher.warranty2.amount
|
self.warranty2 = round(self.refurbisher.warranty2.amount
|
||||||
+ self.retailer.warranty2.amount
|
+ self.retailer.warranty2.amount
|
||||||
+ self.platform.warranty2.amount, 2)
|
+ self.platform.warranty2.amount, 2)
|
||||||
|
|
|
@ -262,7 +262,7 @@ class EreusePrice(Price):
|
||||||
MULTIPLIER = ... # type: Dict
|
MULTIPLIER = ... # type: Dict
|
||||||
|
|
||||||
class Type:
|
class Type:
|
||||||
def __init__(self) -> None:
|
def __init__(self, percentage, price) -> None:
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.amount = ... # type: float
|
self.amount = ... # type: float
|
||||||
self.percentage = ... # type: float
|
self.percentage = ... # type: float
|
||||||
|
|
134
tests/files/asus-1001pxd.snapshot.yaml
Normal file
134
tests/files/asus-1001pxd.snapshot.yaml
Normal file
|
@ -0,0 +1,134 @@
|
||||||
|
{
|
||||||
|
"closed": true,
|
||||||
|
"components": [
|
||||||
|
{
|
||||||
|
"events": [],
|
||||||
|
"manufacturer": "Intel Corporation",
|
||||||
|
"model": "NM10/ICH7 Family High Definition Audio Controller",
|
||||||
|
"serialNumber": null,
|
||||||
|
"type": "SoundCard"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"events": [],
|
||||||
|
"manufacturer": "Azurewave",
|
||||||
|
"model": "USB 2.0 UVC VGA WebCam",
|
||||||
|
"serialNumber": "0x0001",
|
||||||
|
"type": "SoundCard"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"events": [],
|
||||||
|
"format": "DIMM",
|
||||||
|
"interface": "DDR2",
|
||||||
|
"manufacturer": null,
|
||||||
|
"model": null,
|
||||||
|
"serialNumber": null,
|
||||||
|
"size": 1024,
|
||||||
|
"speed": 667.0,
|
||||||
|
"type": "RamModule"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"address": 64,
|
||||||
|
"cores": 1,
|
||||||
|
"events": [
|
||||||
|
{
|
||||||
|
"elapsed": 165,
|
||||||
|
"rate": 164.8342,
|
||||||
|
"type": "BenchmarkProcessorSysbench"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"elapsed": 0,
|
||||||
|
"rate": 6665.7,
|
||||||
|
"type": "BenchmarkProcessor"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"manufacturer": "Intel Corp.",
|
||||||
|
"model": "Intel Atom CPU N455 @ 1.66GHz",
|
||||||
|
"serialNumber": null,
|
||||||
|
"speed": 1.667,
|
||||||
|
"threads": 2,
|
||||||
|
"type": "Processor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"events": [
|
||||||
|
{
|
||||||
|
"elapsed": 16,
|
||||||
|
"readSpeed": 66.2,
|
||||||
|
"type": "BenchmarkDataStorage",
|
||||||
|
"writeSpeed": 21.8
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"interface": "ATA",
|
||||||
|
"manufacturer": "Hitachi",
|
||||||
|
"model": "HTS54322",
|
||||||
|
"serialNumber": "E2024242CV86HJ",
|
||||||
|
"size": 238475,
|
||||||
|
"type": "HardDrive"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"events": [],
|
||||||
|
"manufacturer": "Qualcomm Atheros",
|
||||||
|
"model": "AR9285 Wireless Network Adapter",
|
||||||
|
"serialNumber": "74:2f:68:8b:fd:c8",
|
||||||
|
"type": "NetworkAdapter",
|
||||||
|
"wireless": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"events": [],
|
||||||
|
"manufacturer": "Qualcomm Atheros",
|
||||||
|
"model": "AR8152 v2.0 Fast Ethernet",
|
||||||
|
"serialNumber": "14:da:e9:42:f6:7c",
|
||||||
|
"speed": 100,
|
||||||
|
"type": "NetworkAdapter",
|
||||||
|
"wireless": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"events": [],
|
||||||
|
"manufacturer": "Intel Corporation",
|
||||||
|
"memory": 256.0,
|
||||||
|
"model": "Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller",
|
||||||
|
"serialNumber": null,
|
||||||
|
"type": "GraphicCard"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"events": [],
|
||||||
|
"firewire": 0,
|
||||||
|
"manufacturer": "ASUSTeK Computer INC.",
|
||||||
|
"model": "1001PXD",
|
||||||
|
"pcmcia": 0,
|
||||||
|
"serial": 1,
|
||||||
|
"serialNumber": "Eee0123456789",
|
||||||
|
"slots": 2,
|
||||||
|
"type": "Motherboard",
|
||||||
|
"usb": 5
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"device": {
|
||||||
|
"chassis": "Netbook",
|
||||||
|
"events": [
|
||||||
|
{
|
||||||
|
"elapsed": 16,
|
||||||
|
"rate": 15.8978,
|
||||||
|
"type": "BenchmarkRamSysbench"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"appearanceRange": "A",
|
||||||
|
"biosRange": "A",
|
||||||
|
"functionalityRange": "A",
|
||||||
|
"type": "WorkbenchRate"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"manufacturer": "ASUSTeK Computer INC.",
|
||||||
|
"model": "1001PXD",
|
||||||
|
"serialNumber": "B8OAAS048286",
|
||||||
|
"type": "Laptop"
|
||||||
|
},
|
||||||
|
"elapsed": 6,
|
||||||
|
"endTime": "2018-10-14T21:22:14.777235+00:00",
|
||||||
|
"expectedEvents": [
|
||||||
|
"Benchmark"
|
||||||
|
],
|
||||||
|
"software": "Workbench",
|
||||||
|
"type": "Snapshot",
|
||||||
|
"uuid": "7dc4d19c-914e-4652-a381-d641325fb9c2",
|
||||||
|
"version": "11.0a6"
|
||||||
|
}
|
|
@ -294,3 +294,9 @@ def test_workbench_fixtures(file: pathlib.Path, user: UserClient):
|
||||||
user.post(res=em.Snapshot,
|
user.post(res=em.Snapshot,
|
||||||
data=s,
|
data=s,
|
||||||
status=201 if file.name not in SNAPSHOTS_NEED_ID else NeedsId)
|
status=201 if file.name not in SNAPSHOTS_NEED_ID else NeedsId)
|
||||||
|
|
||||||
|
|
||||||
|
def test_workbench_asus_1001pxd_rate_low(user: UserClient):
|
||||||
|
"""Tests an Asus 1001pxd with a low rate."""
|
||||||
|
s = file('asus-1001pxd.snapshot')
|
||||||
|
snapshot, _ = user.post(res=em.Snapshot, data=s)
|
||||||
|
|
Reference in a new issue