aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFilipp Lepalaan <filipp@mac.com>2016-03-21 15:19:34 +0200
committerFilipp Lepalaan <filipp@mac.com>2016-03-21 15:19:34 +0200
commitba5574f5674138c3332f4220951d8e51d560dc1e (patch)
treeb28651b95370a5282e3c675a898d79c4630c9d04
parentcc38b441e308b709d6ee118d8f4d5aa50a7d05ed (diff)
downloadpy-gsxws-ba5574f5674138c3332f4220951d8e51d560dc1e.tar.gz
py-gsxws-ba5574f5674138c3332f4220951d8e51d560dc1e.tar.bz2
py-gsxws-ba5574f5674138c3332f4220951d8e51d560dc1e.zip
Adding comms support
-rw-r--r--gsxws/comms.py24
-rw-r--r--tests/test_gsxws.py16
2 files changed, 35 insertions, 5 deletions
diff --git a/gsxws/comms.py b/gsxws/comms.py
index c2896fb..6a9bf4f 100644
--- a/gsxws/comms.py
+++ b/gsxws/comms.py
@@ -4,14 +4,34 @@ from core import GsxObject
class Communication(GsxObject):
- def get_content():
+
+ _namespace = "glob:"
+
+ def get_content(self):
"""
The Fetch Communication Content API allows the service providers/depot/carriers
to fetch the communication content by article ID from the service news channel.
"""
- def get_articles():
+ def get_articles(self):
"""
The Fetch Communication Articles API allows the service partners
to fetch all the active communication message IDs.
"""
+ doc = self._submit("lookupRequestData", "FetchCommunicationArticles",
+ "communicationMessage")
+ print(doc)
+
+
+def fetch():
+ """Shortcut for fetching CompTIA data from GSX"""
+ return Communication(priority="HIGH", readStatus=True).get_articles()
+
+
+if __name__ == '__main__':
+ import sys
+ import doctest
+ from core import connect
+ logging.basicConfig(level=logging.DEBUG)
+ connect(*sys.argv[1:4])
+ doctest.testmod()
diff --git a/tests/test_gsxws.py b/tests/test_gsxws.py
index c4924da..cff04d9 100644
--- a/tests/test_gsxws.py
+++ b/tests/test_gsxws.py
@@ -10,13 +10,23 @@ from gsxws.core import validate
from gsxws.objectify import parse, gsx_diags_timestamp
from gsxws.products import Product
from gsxws import (repairs, escalations, lookups, returns,
- GsxError, ServicePart, diagnostics, comptia,)
+ GsxError, ServicePart, diagnostics, comptia,
+ comms,)
def empty(a):
return a in [None, '', ' ']
+class CommsTestCase(TestCase):
+ def setUp(self):
+ from gsxws.core import connect
+ connect(os.getenv('GSX_USER'), os.getenv('GSX_SOLDTO'), os.getenv('GSX_ENV'))
+
+ def test_fetch(self):
+ comms.fetch()
+
+
class RemoteTestCase(TestCase):
def setUp(self):
from gsxws.core import connect
@@ -177,9 +187,9 @@ class TestErrorFunctions(TestCase):
from gsxws.core import GsxResponse
xml = open('tests/fixtures/error_ca_fmip.xml', 'r').read()
with self.assertRaisesRegexp(GsxError, 'A repair cannot be created'):
- GsxResponse(xml=xml, el_method='CreateCarryInResponse',
+ GsxResponse(xml=xml, el_method='CreateCarryInResponse',
el_response='repairConfirmation')
-
+
class TestLookupFunctions(RemoteTestCase):
def test_component_check(self):