Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
85 lines (65 loc) · 3.6 KB

File metadata and controls

85 lines (65 loc) · 3.6 KB
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import shopify
from test.test_helper import TestCase
from pyactiveresource.activeresource import ActiveResource
from mock import patch
import threading
class BaseTest(TestCase):
@classmethod
def setUpClass(self):
self.session1 = shopify.Session('shop1.myshopify.com', 'token1')
self.session2 = shopify.Session('shop2.myshopify.com', 'token2')
def setUp(self):
super(BaseTest, self).setUp()
def tearDown(self):
shopify.ShopifyResource.clear_session()
def test_activate_session_should_set_site_and_headers_for_given_session(self):
shopify.ShopifyResource.activate_session(self.session1)
self.assertIsNone(ActiveResource.site)
self.assertEqual('https://shop1.myshopify.com/admin', shopify.ShopifyResource.site)
self.assertEqual('https://shop1.myshopify.com/admin', shopify.Shop.site)
self.assertIsNone(ActiveResource.headers)
self.assertEqual('token1', shopify.ShopifyResource.headers['X-Shopify-Access-Token'])
self.assertEqual('token1', shopify.Shop.headers['X-Shopify-Access-Token'])
def test_clear_session_should_clear_site_and_headers_from_Base(self):
shopify.ShopifyResource.activate_session(self.session1)
shopify.ShopifyResource.clear_session()
self.assertIsNone(ActiveResource.site)
self.assertIsNone(shopify.ShopifyResource.site)
self.assertIsNone(shopify.Shop.site)
self.assertIsNone(ActiveResource.headers)
self.assertFalse('X-Shopify-Access-Token' in shopify.ShopifyResource.headers)
self.assertFalse('X-Shopify-Access-Token' in shopify.Shop.headers)
def test_activate_session_with_one_session_then_clearing_and_activating_with_another_session_shoul_request_to_correct_shop(self):
shopify.ShopifyResource.activate_session(self.session1)
shopify.ShopifyResource.clear_session()
shopify.ShopifyResource.activate_session(self.session2)
self.assertIsNone(ActiveResource.site)
self.assertEqual('https://shop2.myshopify.com/admin', shopify.ShopifyResource.site)
self.assertEqual('https://shop2.myshopify.com/admin', shopify.Shop.site)
self.assertIsNone(ActiveResource.headers)
self.assertEqual('token2', shopify.ShopifyResource.headers['X-Shopify-Access-Token'])
self.assertEqual('token2', shopify.Shop.headers['X-Shopify-Access-Token'])
def test_delete_should_send_custom_headers_with_request(self):
shopify.ShopifyResource.activate_session(self.session1)
org_headers=shopify.ShopifyResource.headers
shopify.ShopifyResource.set_headers({'X-Custom': 'abc'})
with patch('shopify.ShopifyResource.connection.delete') as mock:
url = shopify.ShopifyResource._custom_method_collection_url('1', {})
shopify.ShopifyResource.delete('1')
mock.assert_called_with(url, {'X-Custom': 'abc'})
shopify.ShopifyResource.set_headers(org_headers)
def test_headers_includes_user_agent(self):
self.assertTrue('User-Agent' in shopify.ShopifyResource.headers)
t = threading.Thread(target=lambda: self.assertTrue('User-Agent' in shopify.ShopifyResource.headers))
t.start()
t.join()
def test_headers_is_thread_safe(self):
def testFunc():
shopify.ShopifyResource.headers['X-Custom'] = 'abc'
self.assertTrue('X-Custom' in shopify.ShopifyResource.headers)
t1 = threading.Thread(target=testFunc)
t1.start()
t1.join()
t2 = threading.Thread(target=lambda: self.assertFalse('X-Custom' in shopify.ShopifyResource.headers))
t2.start()
t2.join()
Morty Proxy This is a proxified and sanitized view of the page, visit original site.