~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/transport/ftp/__init__.py

Prepare test framework for pyftpdlib injection.

* bzrlib/tests/ftp_server/__init__.py:
Provide a single front-end for ftp test servers.

* bzrlib/tests/test_ftp_transport.py: 
Use ftp_server import.

* bzrlib/transport/ftp/__init__.py:
(get_test_permutations): Simplified.

* bzrlib/tests/__init__.py:
(FTPServerFeature): Moved to bzrlib/tests/ftp_server/__init__.py.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005, 2006, 2007 Canonical Ltd
 
1
# Copyright (C) 2005, 2006, 2007, 2008, 2009 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
597
597
 
598
598
def get_test_permutations():
599
599
    """Return the permutations to be used in testing."""
600
 
    from bzrlib import tests
601
 
    if tests.FTPServerFeature.available():
602
 
        from bzrlib.tests import ftp_server
603
 
        return [(FtpTransport, ftp_server.FTPServer)]
604
 
    else:
605
 
        # Dummy server to have the test suite report the number of tests
606
 
        # needing that feature. We raise UnavailableFeature from methods before
607
 
        # the test server is being used. Doing so in the setUp method has bad
608
 
        # side-effects (tearDown is never called).
609
 
        class UnavailableFTPServer(object):
610
 
 
611
 
            def setUp(self, vfs_server=None):
612
 
                pass
613
 
 
614
 
            def tearDown(self):
615
 
                pass
616
 
 
617
 
            def get_url(self):
618
 
                raise tests.UnavailableFeature(tests.FTPServerFeature)
619
 
 
620
 
            def get_bogus_url(self):
621
 
                raise tests.UnavailableFeature(tests.FTPServerFeature)
622
 
 
623
 
        return [(FtpTransport, UnavailableFTPServer)]
 
600
    from bzrlib.tests import ftp_server
 
601
    return [(FtpTransport, ftp_server.FTPServer)]