summaryrefslogtreecommitdiff
path: root/tests/test_scripts/test_pcreate.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_scripts/test_pcreate.py')
-rw-r--r--tests/test_scripts/test_pcreate.py409
1 files changed, 0 insertions, 409 deletions
diff --git a/tests/test_scripts/test_pcreate.py b/tests/test_scripts/test_pcreate.py
deleted file mode 100644
index 6ac082b41..000000000
--- a/tests/test_scripts/test_pcreate.py
+++ /dev/null
@@ -1,409 +0,0 @@
-import unittest
-
-
-class TestPCreateCommand(unittest.TestCase):
- def setUp(self):
- from pyramid.compat import NativeIO
-
- self.out_ = NativeIO()
-
- def out(self, msg):
- self.out_.write(msg)
-
- def _getTargetClass(self):
- from pyramid.scripts.pcreate import PCreateCommand
-
- return PCreateCommand
-
- def _makeOne(self, *args, **kw):
- effargs = ['pcreate']
- effargs.extend(args)
- tgt_class = kw.pop('target_class', self._getTargetClass())
- cmd = tgt_class(effargs, **kw)
- cmd.out = self.out
- return cmd
-
- def test_run_show_scaffolds_exist(self):
- cmd = self._makeOne('-l')
- result = cmd.run()
- self.assertEqual(result, 0)
- out = self.out_.getvalue()
- self.assertTrue(out.count('Available scaffolds'))
-
- def test_run_show_scaffolds_none_exist(self):
- cmd = self._makeOne('-l')
- cmd.scaffolds = []
- result = cmd.run()
- self.assertEqual(result, 0)
- out = self.out_.getvalue()
- self.assertTrue(out.count('No scaffolds available'))
-
- def test_run_no_scaffold_no_args(self):
- cmd = self._makeOne(quiet=True)
- result = cmd.run()
- self.assertEqual(result, 2)
-
- def test_run_no_scaffold_name(self):
- cmd = self._makeOne('dummy')
- result = cmd.run()
- self.assertEqual(result, 2)
- out = self.out_.getvalue()
- self.assertTrue(
- out.count('You must provide at least one scaffold name')
- )
-
- def test_no_project_name(self):
- cmd = self._makeOne('-s', 'dummy')
- result = cmd.run()
- self.assertEqual(result, 2)
- out = self.out_.getvalue()
- self.assertTrue(out.count('You must provide a project name'))
-
- def test_unknown_scaffold_name(self):
- cmd = self._makeOne('-s', 'dummyXX', 'distro')
- result = cmd.run()
- self.assertEqual(result, 2)
- out = self.out_.getvalue()
- self.assertTrue(out.count('Unavailable scaffolds'))
-
- def test_known_scaffold_single_rendered(self):
- import os
-
- cmd = self._makeOne('-s', 'dummy', 'Distro')
- scaffold = DummyScaffold('dummy')
- cmd.scaffolds = [scaffold]
- cmd.pyramid_dist = DummyDist("0.1")
- result = cmd.run()
- self.assertEqual(result, 0)
- self.assertEqual(
- scaffold.output_dir,
- os.path.normpath(os.path.join(os.getcwd(), 'Distro')),
- )
- self.assertEqual(
- scaffold.vars,
- {
- 'project': 'Distro',
- 'egg': 'Distro',
- 'package': 'distro',
- 'pyramid_version': '0.1',
- 'pyramid_docs_branch': '0.1-branch',
- },
- )
-
- def test_scaffold_with_package_name(self):
- import os
-
- cmd = self._makeOne(
- '-s', 'dummy', '--package-name', 'dummy_package', 'Distro'
- )
- scaffold = DummyScaffold('dummy')
- cmd.scaffolds = [scaffold]
- cmd.pyramid_dist = DummyDist("0.1")
- result = cmd.run()
-
- self.assertEqual(result, 0)
- self.assertEqual(
- scaffold.output_dir,
- os.path.normpath(os.path.join(os.getcwd(), 'Distro')),
- )
- self.assertEqual(
- scaffold.vars,
- {
- 'project': 'Distro',
- 'egg': 'dummy_package',
- 'package': 'dummy_package',
- 'pyramid_version': '0.1',
- 'pyramid_docs_branch': '0.1-branch',
- },
- )
-
- def test_scaffold_with_hyphen_in_project_name(self):
- import os
-
- cmd = self._makeOne('-s', 'dummy', 'Distro-')
- scaffold = DummyScaffold('dummy')
- cmd.scaffolds = [scaffold]
- cmd.pyramid_dist = DummyDist("0.1")
- result = cmd.run()
- self.assertEqual(result, 0)
- self.assertEqual(
- scaffold.output_dir,
- os.path.normpath(os.path.join(os.getcwd(), 'Distro-')),
- )
- self.assertEqual(
- scaffold.vars,
- {
- 'project': 'Distro-',
- 'egg': 'Distro_',
- 'package': 'distro_',
- 'pyramid_version': '0.1',
- 'pyramid_docs_branch': '0.1-branch',
- },
- )
-
- def test_known_scaffold_absolute_path(self):
- import os
-
- path = os.path.abspath('Distro')
- cmd = self._makeOne('-s', 'dummy', path)
- cmd.pyramid_dist = DummyDist("0.1")
- scaffold = DummyScaffold('dummy')
- cmd.scaffolds = [scaffold]
- cmd.pyramid_dist = DummyDist("0.1")
- result = cmd.run()
- self.assertEqual(result, 0)
- self.assertEqual(
- scaffold.output_dir,
- os.path.normpath(os.path.join(os.getcwd(), 'Distro')),
- )
- self.assertEqual(
- scaffold.vars,
- {
- 'project': 'Distro',
- 'egg': 'Distro',
- 'package': 'distro',
- 'pyramid_version': '0.1',
- 'pyramid_docs_branch': '0.1-branch',
- },
- )
-
- def test_known_scaffold_multiple_rendered(self):
- import os
-
- cmd = self._makeOne('-s', 'dummy1', '-s', 'dummy2', 'Distro')
- scaffold1 = DummyScaffold('dummy1')
- scaffold2 = DummyScaffold('dummy2')
- cmd.scaffolds = [scaffold1, scaffold2]
- cmd.pyramid_dist = DummyDist("0.1")
- result = cmd.run()
- self.assertEqual(result, 0)
- self.assertEqual(
- scaffold1.output_dir,
- os.path.normpath(os.path.join(os.getcwd(), 'Distro')),
- )
- self.assertEqual(
- scaffold1.vars,
- {
- 'project': 'Distro',
- 'egg': 'Distro',
- 'package': 'distro',
- 'pyramid_version': '0.1',
- 'pyramid_docs_branch': '0.1-branch',
- },
- )
- self.assertEqual(
- scaffold2.output_dir,
- os.path.normpath(os.path.join(os.getcwd(), 'Distro')),
- )
- self.assertEqual(
- scaffold2.vars,
- {
- 'project': 'Distro',
- 'egg': 'Distro',
- 'package': 'distro',
- 'pyramid_version': '0.1',
- 'pyramid_docs_branch': '0.1-branch',
- },
- )
-
- def test_known_scaffold_with_path_as_project_target_rendered(self):
- import os
-
- cmd = self._makeOne('-s', 'dummy', '/tmp/foo/Distro/')
- scaffold = DummyScaffold('dummy')
- cmd.scaffolds = [scaffold]
- cmd.pyramid_dist = DummyDist("0.1")
- result = cmd.run()
- self.assertEqual(result, 0)
- self.assertEqual(
- scaffold.output_dir,
- os.path.normpath(os.path.join(os.getcwd(), '/tmp/foo/Distro')),
- )
- self.assertEqual(
- scaffold.vars,
- {
- 'project': 'Distro',
- 'egg': 'Distro',
- 'package': 'distro',
- 'pyramid_version': '0.1',
- 'pyramid_docs_branch': '0.1-branch',
- },
- )
-
- def test_scaffold_with_prod_pyramid_version(self):
- cmd = self._makeOne('-s', 'dummy', 'Distro')
- scaffold = DummyScaffold('dummy')
- cmd.scaffolds = [scaffold]
- cmd.pyramid_dist = DummyDist("0.2")
- result = cmd.run()
- self.assertEqual(result, 0)
- self.assertEqual(
- scaffold.vars,
- {
- 'project': 'Distro',
- 'egg': 'Distro',
- 'package': 'distro',
- 'pyramid_version': '0.2',
- 'pyramid_docs_branch': '0.2-branch',
- },
- )
-
- def test_scaffold_with_prod_pyramid_long_version(self):
- cmd = self._makeOne('-s', 'dummy', 'Distro')
- scaffold = DummyScaffold('dummy')
- cmd.scaffolds = [scaffold]
- cmd.pyramid_dist = DummyDist("0.2.1")
- result = cmd.run()
- self.assertEqual(result, 0)
- self.assertEqual(
- scaffold.vars,
- {
- 'project': 'Distro',
- 'egg': 'Distro',
- 'package': 'distro',
- 'pyramid_version': '0.2.1',
- 'pyramid_docs_branch': '0.2-branch',
- },
- )
-
- def test_scaffold_with_prod_pyramid_unparsable_version(self):
- cmd = self._makeOne('-s', 'dummy', 'Distro')
- scaffold = DummyScaffold('dummy')
- cmd.scaffolds = [scaffold]
- cmd.pyramid_dist = DummyDist("abc")
- result = cmd.run()
- self.assertEqual(result, 0)
- self.assertEqual(
- scaffold.vars,
- {
- 'project': 'Distro',
- 'egg': 'Distro',
- 'package': 'distro',
- 'pyramid_version': 'abc',
- 'pyramid_docs_branch': 'latest',
- },
- )
-
- def test_scaffold_with_dev_pyramid_version(self):
- cmd = self._makeOne('-s', 'dummy', 'Distro')
- scaffold = DummyScaffold('dummy')
- cmd.scaffolds = [scaffold]
- cmd.pyramid_dist = DummyDist("0.12dev")
- result = cmd.run()
- self.assertEqual(result, 0)
- self.assertEqual(
- scaffold.vars,
- {
- 'project': 'Distro',
- 'egg': 'Distro',
- 'package': 'distro',
- 'pyramid_version': '0.12dev',
- 'pyramid_docs_branch': 'master',
- },
- )
-
- def test_scaffold_with_dev_pyramid_long_version(self):
- cmd = self._makeOne('-s', 'dummy', 'Distro')
- scaffold = DummyScaffold('dummy')
- cmd.scaffolds = [scaffold]
- cmd.pyramid_dist = DummyDist("0.10.1dev")
- result = cmd.run()
- self.assertEqual(result, 0)
- self.assertEqual(
- scaffold.vars,
- {
- 'project': 'Distro',
- 'egg': 'Distro',
- 'package': 'distro',
- 'pyramid_version': '0.10.1dev',
- 'pyramid_docs_branch': 'master',
- },
- )
-
- def test_confirm_override_conflicting_name(self):
- from pyramid.scripts.pcreate import PCreateCommand
-
- class YahInputPCreateCommand(PCreateCommand):
- def confirm_bad_name(self, pkg_name):
- return True
-
- cmd = self._makeOne(
- '-s', 'dummy', 'Unittest', target_class=YahInputPCreateCommand
- )
- scaffold = DummyScaffold('dummy')
- cmd.scaffolds = [scaffold]
- cmd.pyramid_dist = DummyDist("0.10.1dev")
- result = cmd.run()
- self.assertEqual(result, 0)
- self.assertEqual(
- scaffold.vars,
- {
- 'project': 'Unittest',
- 'egg': 'Unittest',
- 'package': 'unittest',
- 'pyramid_version': '0.10.1dev',
- 'pyramid_docs_branch': 'master',
- },
- )
-
- def test_force_override_conflicting_name(self):
- cmd = self._makeOne(
- '-s', 'dummy', 'Unittest', '--ignore-conflicting-name'
- )
- scaffold = DummyScaffold('dummy')
- cmd.scaffolds = [scaffold]
- cmd.pyramid_dist = DummyDist("0.10.1dev")
- result = cmd.run()
- self.assertEqual(result, 0)
- self.assertEqual(
- scaffold.vars,
- {
- 'project': 'Unittest',
- 'egg': 'Unittest',
- 'package': 'unittest',
- 'pyramid_version': '0.10.1dev',
- 'pyramid_docs_branch': 'master',
- },
- )
-
- def test_force_override_site_name(self):
- from pyramid.scripts.pcreate import PCreateCommand
-
- class NayInputPCreateCommand(PCreateCommand):
- def confirm_bad_name(self, pkg_name):
- return False
-
- cmd = self._makeOne(
- '-s', 'dummy', 'Site', target_class=NayInputPCreateCommand
- )
- scaffold = DummyScaffold('dummy')
- cmd.scaffolds = [scaffold]
- cmd.pyramid_dist = DummyDist("0.10.1dev")
- result = cmd.run()
- self.assertEqual(result, 2)
-
-
-class Test_main(unittest.TestCase):
- def _callFUT(self, argv):
- from pyramid.scripts.pcreate import main
-
- return main(argv, quiet=True)
-
- def test_it(self):
- result = self._callFUT(['pcreate'])
- self.assertEqual(result, 2)
-
-
-class DummyScaffold(object):
- def __init__(self, name):
- self.name = name
-
- def run(self, command, output_dir, vars):
- self.command = command
- self.output_dir = output_dir
- self.vars = vars
-
-
-class DummyDist(object):
- def __init__(self, version):
- self.version = version