From 3712ad6ddcb5e6dd9329e4c5d8df267326aa9579 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Tue, 19 Dec 2017 11:09:45 +0100 Subject: [PATCH] Added test for store.py --- tests/test_store.py | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 tests/test_store.py diff --git a/tests/test_store.py b/tests/test_store.py new file mode 100644 index 0000000..0345552 --- /dev/null +++ b/tests/test_store.py @@ -0,0 +1,45 @@ +import requests.exceptions +import responses + +from abstract_cloud_test import AbstractCloudTest + + +class SubscriptionInfoTest(AbstractCloudTest): + def setUp(self, **kwargs): + super().setUp(**kwargs) + self.enter_app_context() + self.srv = self.app.config['EXTERNAL_SUBSCRIPTIONS_MANAGEMENT_SERVER'] + + @responses.activate + def test_happy(self): + api_payload = {"shop_id": 14447, + "cloud_access": 1, + "paid_balance": 198, + "balance_currency": "USD", + "start_date": "2016-01-09 17:24:27", + "expiration_date": "2018-01-09 16:25:04", + "subscription_status": "wc-active"} + responses.add('GET', self.srv, json=api_payload) + + from cloud.store import fetch_subscription_info + + resp = fetch_subscription_info('exampleuser@example.com') + self.assertEqual(resp, api_payload) + + @responses.activate + def test_trouble_connecting(self): + responses.add('GET', self.srv, body=requests.exceptions.ConnectionError('mocked i/o err')) + + from cloud.store import fetch_subscription_info + + resp = fetch_subscription_info('exampleuser@example.com') + self.assertIsNone(resp) # should not bubble the exception but just return None + + @responses.activate + def test_bad_response_code(self): + responses.add('GET', self.srv, status=500) + + from cloud.store import fetch_subscription_info + + resp = fetch_subscription_info('exampleuser@example.com') + self.assertIsNone(resp) # should not raise exception but just return None