From ba5574f5674138c3332f4220951d8e51d560dc1e Mon Sep 17 00:00:00 2001 From: Filipp Lepalaan Date: Mon, 21 Mar 2016 15:19:34 +0200 Subject: Adding comms support --- gsxws/comms.py | 24 ++++++++++++++++++++++-- tests/test_gsxws.py | 16 +++++++++++++--- 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): -- cgit v1.2.3