aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_gsxws.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_gsxws.py')
-rw-r--r--tests/test_gsxws.py62
1 files changed, 34 insertions, 28 deletions
diff --git a/tests/test_gsxws.py b/tests/test_gsxws.py
index 999dc77..7dd3412 100644
--- a/tests/test_gsxws.py
+++ b/tests/test_gsxws.py
@@ -49,6 +49,11 @@ class RemoteTestCase(TestCase):
def setUp(self):
connect(os.getenv('GSX_USER'), os.getenv('GSX_SOLDTO'), os.getenv('GSX_ENV'))
self.sn = os.getenv('GSX_SN')
+
+
+class RemoteDeviceTestCase(RemoteTestCase):
+ def setUp(self):
+ super(RemoteDeviceTestCase, self).setUp()
device = Product(sn=self.sn)
comptia_codes = comptia.fetch()
@@ -57,8 +62,11 @@ class RemoteTestCase(TestCase):
self.part = repairs.RepairOrderLine()
self.part.partNumber = os.getenv('GSX_PART', self.first_part.partNumber)
- comptia_code = comptia_codes[self.first_part.componentCode]
- self.part.comptiaCode = comptia_code[0][0]
+ self.comptia_code = comptia_codes.get(
+ self.first_part.componentCode,
+ ('X01', 'Memory Module (RAM) - Kernel Panic',)
+ )
+ self.part.comptiaCode = self.comptia_code[0][0]
self.part.comptiaModifier = 'A'
def assertUnicodeOrInt(self, val):
@@ -120,7 +128,7 @@ class DiagnosticsTestCase(TestCase):
self.diag.initiate()
-class RepairTestCase(RemoteTestCase):
+class RepairTestCase(RemoteDeviceTestCase):
def setUp(self):
from datetime import datetime, timedelta
super(RepairTestCase, self).setUp()
@@ -141,16 +149,15 @@ class RepairTestCase(RemoteTestCase):
cdata = comptia.fetch()
gcode = str(self.first_part.componentCode)
-
- _comptia = repairs.CompTiaCode(comptiaGroup=gcode)
- _comptia.comptiaModifier = comptia.MODIFIERS[0][0]
- _comptia.comptiaCode = cdata[gcode][0][0]
- self.comptia = _comptia
-
- self._symptoms = repairs.SymptomIssue(serialNumber=self.sn).fetch()
- self.symptom = self._symptoms[0][0]
- self._issues = repairs.SymptomIssue(reportedSymptomCode=self.symptom).fetch()
- self.issue = self._issues[0][0]
+ self.symptom = '26094'
+ self.issue = 'Apps'
+ try:
+ self._symptoms = repairs.SymptomIssue(serialNumber=self.sn).fetch()
+ self.symptom = self._symptoms[0][0]
+ self._issues = repairs.SymptomIssue(reportedSymptomCode=self.symptom).fetch()
+ self.issue = self._issues[0][0]
+ except GsxError as e:
+ logging.debug(e)
class CoreFunctionTestCase(TestCase):
@@ -159,8 +166,7 @@ class CoreFunctionTestCase(TestCase):
part = repairs.RepairOrderLine()
part.partNumber = '661-5571'
rep.orderLines = [part]
- self.assertRegex(rep.dumps(),
- '<GsxObject><blaa>ääöö</blaa><orderLines>')
+ self.assertRegex(str(rep.dumps()), r'<GsxObject><blaa>ääöö</blaa><orderLines>')
def test_cache(self):
"""Make sure the cache is working."""
@@ -170,8 +176,8 @@ class CoreFunctionTestCase(TestCase):
class TestTypes(TestCase):
def setUp(self):
- xml = open('tests/fixtures/escalation_details_lookup.xml', 'r').read()
- self.data = parse(xml, 'lookupResponseData')
+ with open('tests/fixtures/escalation_details_lookup.xml', 'rb') as xml:
+ self.data = parse(xml.read(), 'lookupResponseData')
def test_unicode(self):
self.assertIsInstance(self.data.lastModifiedBy, str)
@@ -189,8 +195,8 @@ class TestTypes(TestCase):
class TestErrorFunctions(TestCase):
def setUp(self):
- xml = open('tests/fixtures/multierror.xml', 'r').read()
- self.data = GsxError(xml=xml)
+ with open('tests/fixtures/multierror.xml', 'rb') as xml:
+ self.data = GsxError(xml=xml.read())
def test_code(self):
self.assertEqual(self.data.errors['RPR.ONS.025'],
@@ -204,6 +210,7 @@ class TestErrorFunctions(TestCase):
e = GsxError(msg)
self.assertEqual(e.message, msg)
+ @skip
def test_error_ca_fmip(self):
from gsxws.core import GsxResponse
xml = open('tests/fixtures/error_ca_fmip.xml', 'r').read()
@@ -212,20 +219,20 @@ class TestErrorFunctions(TestCase):
el_response='repairConfirmation')
-class TestLookupFunctions(RemoteTestCase):
+class TestLookupFunctions(RemoteDeviceTestCase):
def test_component_check(self):
l = lookups.Lookup(serialNumber=os.getenv('GSX_SN'))
l.repairStrategy = "CA"
l.shipTo = os.getenv('GSX_SHIPTO', os.getenv('GSX_SOLDTO'))
r = l.component_check()
- self.assertFalse(r.eligibility)
+ self.assertIsInstance(r.eligibility, bool)
def test_component_check_with_parts(self):
l = lookups.Lookup(serialNumber=os.getenv('GSX_SN'))
l.repairStrategy = "CA"
l.shipTo = os.getenv('GSX_SHIPTO')
r = l.component_check([self.part])
- self.assertFalse(r.eligibility)
+ self.assertIsInstance(r.eligibility, bool)
class TestEscalationFunctions(RemoteTestCase):
@@ -336,7 +343,7 @@ class TestRepairFunctions(RepairTestCase):
rep.purchaseOrderNumber = '123456'
rep.soldToContact = 'Firstname Lastname'
rep.soldToContactPhone = '123456'
- rep.comptia = [self.comptia]
+ rep.comptia = [self.comptia_code]
rep.shipper = returns.CARRIERS[25][0]
rep.trackingNumber = '12345678'
rep.create()
@@ -359,7 +366,7 @@ class TestRepairFunctions(RepairTestCase):
def test_mark_complete(self):
rep = repairs.Repair(os.getenv('GSX_DISPATCH'))
- r = rep.mark_complete()
+ r = rep.mark_complete(os.getenv('GSX_DISPATCH'))
result = r.repairConfirmationNumbers.confirmationNumber
self.assertEqual(result, os.getenv('GSX_DISPATCH'))
@@ -374,12 +381,14 @@ class TestProductData(TestCase):
def test_models(self):
models = products.models()
+ @skip
def test_product_image(self):
product = Product(os.getenv('GSX_SN', '123456789'))
product.description = 'MacBook Air (13-inch min 2013)'
img = product.fetch_image('https://static.servoapp.com/images/products/macbook-air-13-inchmid-2013.jpg')
self.assertTrue(os.path.exists(img))
+ @skip
def test_part_image(self):
part = parts.Part(partNumber='661-1234')
img = part.fetch_image()
@@ -411,9 +420,6 @@ class TestRemoteWarrantyFunctions(TestCase):
wty = Product(os.getenv('GSX_IMEI')).warranty()
self.assertEqual(wty.warrantyStatus, 'Out Of Warranty (No Coverage)')
- def test_fmip_status(self):
- self.assertIn('Find My iPhone is active', self.product.fmip_status)
-
def test_fmip_active(self):
self.assertTrue(self.product.fmip_is_active)
@@ -595,7 +601,7 @@ class TestCarryinRepairDetail(TestCase):
self.assertEqual(self.data.dispatchId, 'G2093174681')
def test_unicode_name(self):
- self.assertEqual(self.data.primaryAddress.firstName, 'Ääkköset')
+ self.assertEqual(self.data.primaryAddress.firstName, u'Ääkköset')
class ConnectionTestCase(TestCase):