143
143
auth_scheme_scenarios)
144
144
tests.multiply_tests(tpa_tests, tpa_scenarios, result)
146
# activity: activity on all http versions on all implementations
146
# activity: on all http[s] versions on all implementations
147
147
tpact_tests, remaining_tests = tests.split_suite_by_condition(
148
148
remaining_tests, tests.condition_isinstance((
151
151
activity_scenarios = [
152
152
('http', dict(_activity_server=ActivityHTTPServer)),
154
act_transport_scenarios = [
155
('urllib', dict(_transport=_urllib.HttpTransport_urllib,)),
154
157
if tests.HTTPSServerFeature.available():
155
158
activity_scenarios.append(
156
159
('https', dict(_activity_server=ActivityHTTPSServer)))
157
tpact_scenarios = tests.multiply_scenarios(tp_scenarios,
161
from bzrlib.tests import (
164
# FIXME: Until we have a better way to handle self-signed
165
# certificates (like allowing them in a test specific
166
# authentication.conf for example), we need some specialized pycurl
167
# transport for tests.
168
class HTTPS_pycurl_transport(PyCurlTransport):
170
def __init__(self, base, _from_transport=None):
171
super(HTTPS_pycurl_transport, self).__init__(
172
base, _from_transport)
173
self.cabundle = str(ssl_certs.build_path('ca.crt'))
175
act_transport_scenarios.append(
176
('pycurl', dict(_transport=HTTPS_pycurl_transport,)))
178
tpact_scenarios = tests.multiply_scenarios(
179
tests.multiply_scenarios(act_transport_scenarios,
158
181
activity_scenarios)
159
182
tests.multiply_tests(tpact_tests, tpact_scenarios, result)