~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_config.py

  • Committer: Vincent Ladeuil
  • Date: 2007-10-23 08:51:09 UTC
  • mto: (2961.1.1 trunk)
  • mto: This revision was merged to the branch mainline in revision 2962.
  • Revision ID: v.ladeuil+lp@free.fr-20071023085109-60tarfj3wg23yd2a
Mention proxy and https in the password prompts, with tests.

* bzrlib/transport/http/_urllib2_wrappers.py:
(AbstractAuthHandler.get_password): Use our specific prompt
building to address proxy and https needs.
(AbstractAuthHandler._build_password_prompt): New method, helper
to build the prompt.
(HTTPAuthHandler.build_password_prompt): Default implementation is
ok.
(ProxyAuthHandler.build_password_prompt): Prefix with 'Proxy '.

* bzrlib/tests/test_http.py:
(TestAuth.test_prompt_for_password): Check the prompt too.

* bzrlib/tests/test_config.py:
(TestAuthenticationConfig.test_default_prompts): Delete HTTP tests
which need special handling.

* bzrlib/transport/http/_urllib2_wrappers.py:
(AbstractAuthHandler.build_password_prompt): New method to build
the prompt and mention the protocol sed (http or https).
(ProxyAuthHandler.build_password_prompt): Put proxy in front of
the prompt.

* bzrlib/config.py:
(AuthenticationConfig.get_password): Simplified by taking out http
specifics (which were not enough to address all the cases anyway).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1310
1310
        self.assertEquals(stdout.getvalue(), expected_prompt)
1311
1311
 
1312
1312
    def test_default_prompts(self):
 
1313
        # HTTP prompts can't be tested here, see test_http.py
1313
1314
        self._check_default_prompt('FTP %(user)s@%(host)s password: ', 'ftp')
1314
1315
        self._check_default_prompt('FTP %(user)s@%(host)s:%(port)d password: ',
1315
1316
                                   'ftp', port=10020)
1327
1328
            'SMTP %(user)s@%(host)s:%(port)d password: ',
1328
1329
            'smtp', port=10025)
1329
1330
 
1330
 
        self._check_default_prompt('HTTP %(user)s@%(host)s password: ',
1331
 
                                   'http')
1332
 
        self._check_default_prompt(
1333
 
            "HTTP %(user)s@%(host)s, Realm: '%(realm)s' password: ",
1334
 
            'http', realm='bzr')
1335
 
        self._check_default_prompt(
1336
 
            "HTTP %(user)s@%(host)s:%(port)d, Realm: '%(realm)s' password: ",
1337
 
            'http', realm='bzr', port=10080)
1338
 
 
1339
 
        # FIXME: the following pass but the real implementation
1340
 
        # (_urllib2_wrappers) do not use the default prompt and displays HTTP
1341
 
        # instead of HTTPS
1342
 
        self._check_default_prompt('HTTPS %(user)s@%(host)s password: ',
1343
 
                                   'https')
1344
1331
 
1345
1332
# FIXME: Once we have a way to declare authentication to all test servers, we
1346
1333
# can implement generic tests.