Mercurial > hg > simpypi
view tests/doctest.txt @ 52:59368c0bbd8d
* addition sdist tests
* stub extracting the tarball
author | Jeff Hammel <jhammel@mozilla.com> |
---|---|
date | Thu, 01 Mar 2012 14:44:16 -0800 |
parents | 6a8071eab89e |
children | a40f050812cb |
line wrap: on
line source
Test simpypi ============ The obligatory imports:: >>> import os >>> import pkginfo >>> import shutil >>> import simpypi >>> import tarfile >>> import tempfile >>> from paste.fixture import TestApp The directory is initially empty:: >>> os.listdir(directory) [] Make a test application:: >>> app = simpypi.SimPyPI(directory) >>> testapp = TestApp(app) Upload a package:: >>> field = 'package' >>> filename = 'HelloWorld-0.0.tar.gz' >>> contents = file(os.path.join(here, filename)).read() >>> response = testapp.post('/', upload_files=[(field, filename, contents)]) Ensure that package is in the right place:: >>> os.listdir(directory) ['HelloWorld'] >>> os.listdir(os.path.join(directory, 'HelloWorld')) ['HelloWorld-0.0.tar.gz'] Ensure the package is what you expect it to be:: >>> path = os.path.join(directory, 'HelloWorld', 'HelloWorld-0.0.tar.gz') >>> sdist = pkginfo.sdist.SDist(path) >>> sdist.name 'HelloWorld' >>> sdist.version '0.0' >>> sdist.home_page 'http://helloworld.example.com/' >>> sdist.author 'Jeff Hammel' Install the package and inspect the installation:: >>> tmpdir = tempfile.mkdtemp() >>> archive = tarfile.TarFile.open(path) >>> shutil.rmtree(tmpdir) Upload the same package but with the wrong name:: >>> shutil.rmtree(os.path.join(directory, 'HelloWorld')) >>> os.listdir(directory) [] >>> response = testapp.post('/', upload_files=[(field, 'MisleadingName.tar.gz', contents)]) >>> os.listdir(directory) ['HelloWorld'] >>> os.listdir(os.path.join(directory, 'HelloWorld')) ['HelloWorld-0.0.tar.gz'] >>> shutil.rmtree(os.path.join(directory, 'HelloWorld')) >>> os.listdir(directory) [] >>> filename = 'MisleadingFilename.tar.gz' >>> contents = file(os.path.join(here, filename)).read() >>> response = testapp.post('/', upload_files=[(field, filename, contents)]) >>> os.listdir(directory) ['HelloWorld'] >>> os.listdir(os.path.join(directory, 'HelloWorld')) ['HelloWorld-0.0.tar.gz']