Skip to content

Commit 0c8b2ab

Browse files
committed
Opt env variable and add some unittests
1 parent 4eb7761 commit 0c8b2ab

File tree

3 files changed

+17
-2
lines changed

3 files changed

+17
-2
lines changed

reqable/main.py

+2
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ def onRequest(request):
2424
with open(request + '.cb', 'w', encoding='UTF-8') as callback:
2525
callback.write(json.dumps({
2626
'request': result.serialize(),
27+
'env': context.env,
2728
'shared': context.shared,
2829
}))
2930

@@ -36,6 +37,7 @@ def onResponse(response):
3637
with open(response + '.cb', 'w', encoding='UTF-8') as callback:
3738
callback.write(json.dumps({
3839
'response': result.serialize(),
40+
'env': context.env,
3941
'shared': context.shared,
4042
}))
4143

reqable/reqable.py

+7-2
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ def __init__(self, json: dict):
1414
self._ctime = json['ctime']
1515
self._sid = json['sid']
1616
self._stime = json['stime']
17+
self._env = json.get('env')
1718
self.shared = json.get('shared')
18-
self.env = json.get('env')
1919

2020
def __str__(self):
2121
return self.toJson()
@@ -71,6 +71,11 @@ def stime(self) -> int:
7171
def uid(self) -> str:
7272
return f"{self.ctime}-{self.cid}-{self.sid}"
7373

74+
# Environment variables.
75+
@property
76+
def env(self) -> Dict[str, str]:
77+
return self._env
78+
7479
def toJson(self) -> str:
7580
return json.dumps({
7681
'url': self._url,
@@ -81,8 +86,8 @@ def toJson(self) -> str:
8186
'ctime': self._ctime,
8287
'sid': self._sid,
8388
'stime': self._stime,
89+
'env': self._env,
8490
'shared': self.shared,
85-
'env': self.env,
8691
})
8792

8893
class CaptureHttpQueries:

test/reqable_context_test.py

+8
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ def testContextConstructor(self):
1313
'ctime': 1686556178335,
1414
'sid': 7,
1515
'stime': 1686556256263,
16+
'env': {
17+
'foo': 'bar',
18+
'abc': '123',
19+
'$randomEmail': 'random@reqable.com'
20+
}
1621
})
1722
self.assertEqual(context.url, 'https://reqable.com')
1823
self.assertEqual(context.scheme, 'https')
@@ -23,6 +28,9 @@ def testContextConstructor(self):
2328
self.assertEqual(context.sid, 7)
2429
self.assertEqual(context.stime, 1686556256263)
2530
self.assertEqual(context.uid, '1686556178335-32-7')
31+
self.assertEqual(context.env['foo'], 'bar')
32+
self.assertEqual(context.env['abc'], '123')
33+
self.assertEqual(context.env['$randomEmail'], 'random@reqable.com')
2634

2735
if __name__ == '__main__':
2836
unittest.main()

0 commit comments

Comments
 (0)