def test_to_swift_req_subrequest_proxy_access_log(self): container = 'bucket' obj = 'obj' method = 'GET' # force_swift_request_proxy_log is True req = Request.blank('/%s/%s' % (container, obj), environ={ 'REQUEST_METHOD': method, 'swift.proxy_access_log_made': True }, headers={ 'Authorization': 'OSS test:tester:hmac', 'Date': self.get_date_header() }) with nested(patch.object(Request, 'get_response'), patch.object(Request, 'remote_user', 'authorized'), patch('oss2swift.cfg.CONF.force_swift_request_proxy_log', True)) \ as (m_swift_resp, m_remote_user, m_cfg): m_swift_resp.return_value = FakeSwiftResponse() oss_req = Oss_Request(req.environ, MagicMock()) sw_req = oss_req.to_swift_req(method, container, obj) self.assertFalse(sw_req.environ['swift.proxy_access_log_made']) # force_swift_request_proxy_log is False req = Request.blank('/%s/%s' % (container, obj), environ={ 'REQUEST_METHOD': method, 'swift.proxy_access_log_made': True }, headers={ 'Authorization': 'OSS test:tester:hmac', 'Date': self.get_date_header() }) with nested(patch.object(Request, 'get_response'), patch.object(Request, 'remote_user', 'authorized')) \ as (m_swift_resp, m_remote_user): m_swift_resp.return_value = FakeSwiftResponse() oss_req = Oss_Request(req.environ, MagicMock()) sw_req = oss_req.to_swift_req(method, container, obj) self.assertTrue(sw_req.environ['swift.proxy_access_log_made'])
def test_to_swift_req_Authorization_not_exist_in_swreq_headers(self): container = 'bucket' obj = 'obj' method = 'GET' req = Request.blank('/%s/%s' % (container, obj), environ={'REQUEST_METHOD': method}, headers={ 'Authorization': 'OSS test:tester:hmac', 'Date': self.get_date_header() }) with nested(patch.object(Request, 'get_response'), patch.object(Request, 'remote_user', 'authorized')) \ as (m_swift_resp, m_remote_user): m_swift_resp.return_value = FakeSwiftResponse() oss_req = Oss_Request(req.environ, MagicMock()) sw_req = oss_req.to_swift_req(method, container, obj) self.assertIn('HTTP_AUTHORIZATION', sw_req.environ) self.assertIn('Authorization', sw_req.headers)