def test_port_not_provided_by_default(self): main(["echo"]) self.assertNotIn("PORT", self.execvpe.call_args[0][2])
from crab.cli import main main()
def test_port_provided_if_explicitly_requested(self): os.environ["CRAB_PROVIDE_PORT"] = "true" main(["echo"]) provided_port = self.execvpe.call_args[0][2].get("PORT") self.assertTrue(provided_port and provided_port.isdigit()) del os.environ["CRAB_PROVIDE_PORT"]
def test_port_provided_for_command_containing_port(self): main(["echo", "$PORT"]) provided_port = self.execvpe.call_args[0][2].get("PORT") self.assertTrue(provided_port and provided_port.isdigit())
def test_port_provided_for_web_command_in_procfile(self): os.environ["PROC_FILE"] = "tests/Procfile" main(["web"]) provided_port = self.execvpe.call_args[0][2].get("PORT") self.assertTrue(provided_port and provided_port.isdigit()) del os.environ["PROC_FILE"]
def test_has_updated_path(self): main(["env"]) self.assertEqual(self.execvpe.call_count, 1) path = self.execvpe.call_args[0][2]["PATH"].split(":") self.assertEqual(path[0], "env/bin") self.assertEqual(path[1], os.getcwd())
def test_calls_correctly(self): main(["echo", "hello"]) self.assertEqual(self.execvpe.call_count, 1) self.assertEqual(self.execvpe.call_args[0][0], "echo") self.assertEqual(self.execvpe.call_args[0][1], ["echo", "hello"])