예제 #1
0
 def test_string_representation(self):
     runner = AbstractRunner("foo", self._tmp_dir)
     result = runner.__str__()
     expected = "Runner for project foo in path {} (type " "AbstractRunner)".format(
         self._tmp_dir
     )
     self.assertEqual(expected, result)
예제 #2
0
    def test_extract_dev_packages_from_pipfile(self):
        with open(os.path.join(self._tmp_dir, "Pipfile"), "w") as f:
            f.write("""[dev-packages]
"flake8" = ">=3.3.0,<4"
pipenv = {path = ".", editable = true}
            """)

        runner = AbstractRunner("foo", self._tmp_dir)
        result = runner._extract_packages_from_pipfile()
        self.assertListEqual(["flake8", "pipenv"], result)
예제 #3
0
    def test_extract_packages_from_pipfile(self):
        with open(os.path.join(self._tmp_dir, "Pipfile"), "w") as f:
            f.write("""[packages]
mock = "*"
sphinx = "<=1.5.5"
            """)

        runner = AbstractRunner("foo", self._tmp_dir)
        result = runner._extract_packages_from_pipfile()
        self.assertListEqual(["mock", "sphinx"], result)
예제 #4
0
    def test_extract_packages_from_empty_pipfile(self):
        with open(os.path.join(self._tmp_dir, "Pipfile"), "w") as f:
            f.write("""
[scripts]
tests = "bash ./run-tests.sh"
            """)

        runner = AbstractRunner("foo", self._tmp_dir)
        result = runner._extract_packages_from_pipfile()
        self.assertListEqual([], result)
예제 #5
0
 def test_empty_project_name(self):
     with self.assertRaises(IllegalArgumentException) as context:
         AbstractRunner("", "bar")
     self.assertTrue(isinstance(context.exception,
                                IllegalArgumentException))
     self.assertTrue(
         "Project name must not be empty!" in str(context.exception))
예제 #6
0
 def test_extract_necessary_packages(self):
     runner = AbstractRunner("foo", self._tmp_dir)
     result = runner._extract_necessary_packages()
     self.assertTrue("foo" in result)
     self.assertTrue("bar" in result)
     self.assertTrue("baz" in result)
예제 #7
0
 def test_empty_path(self):
     with self.assertRaises(IllegalArgumentException) as context:
         AbstractRunner("foo", "")
     self.assertTrue(isinstance(context.exception, IllegalArgumentException))
     self.assertTrue("Path must not be empty!" in str(context.exception))
예제 #8
0
 def test_cannot_instantiate(self):
     """Showing we normally cannot instantiate an abstract class"""
     with self.assertRaises(TypeError):
         AbstractRunner("foo", "bar")