@@ -58,10 +58,48 @@ describe('Camel policy', function()
5858
5959 it (" invalid protocol" , function ()
6060 proxy :rewrite (context )
61- local result = context :get_http_proxy (
62- {}, {scheme = " invalid" })
61+ local result = context .get_http_proxy ({scheme = " invalid" })
6362 assert .is_nil (result )
6463 end )
6564
65+ it (" nil scheme" , function ()
66+ proxy :rewrite (context )
67+ local result = context .get_http_proxy ({})
68+ assert .is_nil (result )
69+ end )
70+
71+ end )
72+
73+ describe (" .access" , function ()
74+ it (" sets skip_https_connect_on_proxy on context" , function ()
75+ local proxy = camel_policy .new ({ all_proxy = all_proxy_val })
76+
77+ local mock_upstream = { set_skip_https_connect_on_proxy = stub .new () }
78+ context .get_upstream = function () return mock_upstream end
79+
80+ proxy :access (context )
81+
82+ assert .is_true (context .skip_https_connect_on_proxy )
83+ end )
84+
85+ it (" calls set_skip_https_connect_on_proxy on upstream" , function ()
86+ local proxy = camel_policy .new ({ all_proxy = all_proxy_val })
87+
88+ local mock_upstream = { set_skip_https_connect_on_proxy = stub .new () }
89+ context .get_upstream = function () return mock_upstream end
90+
91+ proxy :access (context )
92+
93+ assert .stub (mock_upstream .set_skip_https_connect_on_proxy ).was_called ()
94+ end )
95+
96+ it (" does not error when get_upstream returns nil" , function ()
97+ local proxy = camel_policy .new ({ all_proxy = all_proxy_val })
98+
99+ context .get_upstream = function () return nil end
100+
101+ assert .has_no .errors (function () proxy :access (context ) end )
102+ assert .is_true (context .skip_https_connect_on_proxy )
103+ end )
66104 end )
67105end )
0 commit comments