diff options
author | Filipp Lepalaan <filipp@mac.com> | 2016-03-21 17:59:36 +0200 |
---|---|---|
committer | Filipp Lepalaan <filipp@mac.com> | 2016-03-21 17:59:36 +0200 |
commit | 5d5a8eae87bc7249ab01a63fadfd87f5e0739fe0 (patch) | |
tree | 96e3e6c7e648596a9c1bf1f2943a29d0da135540 | |
parent | ba5574f5674138c3332f4220951d8e51d560dc1e (diff) | |
download | py-gsxws-5d5a8eae87bc7249ab01a63fadfd87f5e0739fe0.tar.gz py-gsxws-5d5a8eae87bc7249ab01a63fadfd87f5e0739fe0.tar.bz2 py-gsxws-5d5a8eae87bc7249ab01a63fadfd87f5e0739fe0.zip |
Fixed comms
-rw-r--r-- | gsxws/comms.py | 30 | ||||
-rw-r--r-- | tests/test_gsxws.py | 20 |
2 files changed, 42 insertions, 8 deletions
diff --git a/gsxws/comms.py b/gsxws/comms.py index 6a9bf4f..dc37e9b 100644 --- a/gsxws/comms.py +++ b/gsxws/comms.py @@ -12,20 +12,38 @@ class Communication(GsxObject): The Fetch Communication Content API allows the service providers/depot/carriers to fetch the communication content by article ID from the service news channel. """ + return self._submit("lookupRequestData", "FetchCommunicationContent", + "communicationMessage") 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) + return self._submit("lookupRequestData", "FetchCommunicationArticles", + "communicationMessage") + + def acknowledge(self): + """ + The Acknowledge Communication API allows the service providers/depot/carriers to + update the status as Read/UnRead. + """ + return self._submit("communicationRequest", "AcknowledgeCommunication", + "communicationResponse") + + +def fetch(**kwargs): + return Communication(**kwargs).get_articles() + + +def content(id): + return Communication(articleID=id).get_content() -def fetch(): - """Shortcut for fetching CompTIA data from GSX""" - return Communication(priority="HIGH", readStatus=True).get_articles() +def ack(id, status): + ack = GsxObject(articleID=id) + ack.acknowledgeType = status + return Communication(acknowledgement=ack).acknowledge() if __name__ == '__main__': diff --git a/tests/test_gsxws.py b/tests/test_gsxws.py index cff04d9..164c90c 100644 --- a/tests/test_gsxws.py +++ b/tests/test_gsxws.py @@ -21,10 +21,26 @@ def empty(a): class CommsTestCase(TestCase): def setUp(self): from gsxws.core import connect + self.priority = 'HIGH' + self.article_id = 'SN3133' connect(os.getenv('GSX_USER'), os.getenv('GSX_SOLDTO'), os.getenv('GSX_ENV')) + self.articles = comms.fetch(priority=self.priority, readStatus=False) - def test_fetch(self): - comms.fetch() + def test_priority(self): + for a in self.articles: + self.assertEqual(a.priority, self.priority) + + def test_date(self): + for a in self.articles: + self.assertIsInstance(a.createdDate, date) + + def test_content(self): + content = comms.content(self.article_id) + self.assertEqual(content.languageCode, 'en') + + def test_ack(self): + result = comms.ack(self.article_id, 'UNREAD') + self.assertEqual(result.acknowledgeType, 'UNREAD') class RemoteTestCase(TestCase): |