~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/plugins/launchpad/test_register.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2010-05-28 00:25:32 UTC
  • mfrom: (5264.1.2 command-help-bug-177500)
  • Revision ID: pqm@pqm.ubuntu.com-20100528002532-9bzj1fajyxckd1rg
(lifeless) Stop raising at runtime when a command has no help,
 instead have a test in the test suite that checks all known command objects.
 (Robert Collins)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2006-2011 Canonical Ltd
 
1
# Copyright (C) 2006 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
15
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
16
 
17
17
import base64
 
18
import os
18
19
from StringIO import StringIO
19
20
import urlparse
20
21
import xmlrpclib
21
22
 
22
23
from bzrlib import (
23
24
    config,
 
25
    osutils,
24
26
    tests,
25
27
    ui,
26
28
    )
27
 
from bzrlib.tests import TestCaseWithTransport
 
29
from bzrlib.tests import TestCaseWithTransport, TestSkipped
28
30
 
29
31
# local import
30
32
from bzrlib.plugins.launchpad.lp_registration import (
59
61
        """
60
62
        return (200, 'OK', [])
61
63
 
62
 
    def getresponse(self, buffering=True):
63
 
        """Fake the http reply.
64
 
 
65
 
        This is used when running on Python 2.7, where xmlrpclib uses
66
 
        httplib.HTTPConnection in a different way than before.
67
 
        """
68
 
        class FakeHttpResponse(object):
69
 
 
70
 
            def __init__(self, status, reason, body):
71
 
                self.status = status
72
 
                self.reason = reason
73
 
                self.body = body
74
 
 
75
 
            def read(self, size=-1):
76
 
                return self.body.read(size)
77
 
 
78
 
            def getheader(self, name, default):
79
 
                # We don't have headers
80
 
                return default
81
 
 
82
 
        return FakeHttpResponse(200, 'OK', self.getfile())
83
 
 
84
64
    def getfile(self):
85
65
        """Return a fake file containing the response content."""
86
66
        return StringIO('''\
105
85
    def __init__(self, testcase, expect_auth):
106
86
        self.testcase = testcase
107
87
        self.expect_auth = expect_auth
108
 
        self._connection = (None, None)
109
88
 
110
89
    def make_connection(self, host):
111
90
        host, http_headers, x509 = self.get_host_info(host)
154
133
 
155
134
 
156
135
class TestBranchRegistration(TestCaseWithTransport):
 
136
    SAMPLE_URL = 'http://bazaar-vcs.org/bzr/bzr.dev/'
 
137
    SAMPLE_OWNER = 'jhacker@foo.com'
 
138
    SAMPLE_BRANCH_ID = 'bzr.dev'
157
139
 
158
140
    def setUp(self):
159
141
        super(TestBranchRegistration, self).setUp()
160
142
        # make sure we have a reproducible standard environment
161
 
        self.overrideEnv('BZR_LP_XMLRPC_URL', None)
 
143
        self._captureVar('BZR_LP_XMLRPC_URL', None)
162
144
 
163
145
    def test_register_help(self):
164
146
        """register-branch accepts --help"""
193
175
        self.assertEquals(out, 'Branch registered.\n')
194
176
 
195
177
    def test_onto_transport(self):
196
 
        """How the request is sent by transmitting across a mock Transport"""
 
178
        """Test how the request is sent by transmitting across a mock Transport"""
197
179
        # use a real transport, but intercept at the http/xml layer
198
180
        transport = InstrumentedXMLRPCTransport(self, expect_auth=True)
199
181
        service = LaunchpadService(transport)
218
200
        self.assertTrue(transport.got_request)
219
201
 
220
202
    def test_onto_transport_unauthenticated(self):
221
 
        """An unauthenticated request is transmitted across a mock Transport"""
 
203
        """Test how an unauthenticated request is transmitted across a mock Transport"""
222
204
        transport = InstrumentedXMLRPCTransport(self, expect_auth=False)
223
205
        service = LaunchpadService(transport)
224
206
        resolve = ResolveLaunchpadPathRequest('bzr')
317
299
    def setUp(self):
318
300
        super(TestGatherUserCredentials, self).setUp()
319
301
        # make sure we have a reproducible standard environment
320
 
        self.overrideEnv('BZR_LP_XMLRPC_URL', None)
 
302
        self._captureVar('BZR_LP_XMLRPC_URL', None)
321
303
 
322
304
    def test_gather_user_credentials_has_password(self):
323
305
        service = LaunchpadService()