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)
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)
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)
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)
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))
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)
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))
def test_cannot_instantiate(self): """Showing we normally cannot instantiate an abstract class""" with self.assertRaises(TypeError): AbstractRunner("foo", "bar")