def test_add_envs_dont_call_set_when_variables_dont_change(self): plugin = ApprcWatcher("", "", 1) envs = copy.deepcopy(NOPATH_OUTPUT) envs["options"]["env"].update(os.environ) plugin.call, kw = create_fake_call(None, envs) plugin.add_envs(name="name", envs=NOPATH_OUTPUT["options"]["env"]) self.assertEqual([], kw)
def test_add_envs(self): plugin = ApprcWatcher("", "", 1) plugin.call, kw = create_fake_call(None) plugin.add_envs(name="name", envs={"foo": "bar"}) env = copy.deepcopy(os.environ) env["foo"] = "bar" expected = [{"name": "name", "options": {"env": env}}] self.assertEqual(expected, kw)
def test_add_env_doesnt_ignore_PYTHONPATH_from_apprc(self): plugin = ApprcWatcher("", "", 1) plugin.call, kw = create_fake_call(None) plugin.add_envs(name="name", envs={"foo": "bar", "PYTHONPATH": "/usr/lib/python"}) env = copy.deepcopy(os.environ) env["foo"] = "bar" env["PYTHONPATH"] = "/usr/lib/python" expected = [{"name": "name", "options": {"env": env}}] self.assertEqual(expected, kw)
def test_add_env_ignores_PYTHONPATH_from_os_environ(self): os.environ["PYTHONPATH"] = "/home/user/python" self.addCleanup(remove_env, "PYTHONPATH") plugin = ApprcWatcher("", "", 1) plugin.call, kw = create_fake_call(None) plugin.add_envs(name="name", envs={"foo": "bar"}) env = copy.deepcopy(os.environ) env["foo"] = "bar" del env["PYTHONPATH"] expected = [{"name": "name", "options": {"env": env}}] self.assertEqual(expected, kw)
def test_add_envs_may_override_os_environ(self): os.environ["SOMETHING_UNKNOWN"] = "123" self.addCleanup(remove_env, "SOMETHING_UNKNOWN") plugin = ApprcWatcher("", "", 1) plugin.call, kw = create_fake_call(None) plugin.add_envs(name="name", envs={"foo": "bar", "SOMETHING_UNKNOWN": "456"}) env = copy.deepcopy(os.environ) env["SOMETHING_UNKNOWN"] = "456" env["foo"] = "bar" expected = [{"name": "name", "options": {"env": env}}] self.assertEqual(expected, kw)
def test_add_env_doesnt_ignore_PYTHONPATH_from_apprc(self): plugin = ApprcWatcher("", "", 1) plugin.call, kw = create_fake_call(None) plugin.add_envs(name="name", envs={ "foo": "bar", "PYTHONPATH": "/usr/lib/python" }) env = copy.deepcopy(os.environ) env["foo"] = "bar" env["PYTHONPATH"] = "/usr/lib/python" expected = [{"name": "name", "options": {"env": env}}] self.assertEqual(expected, kw)
def test_add_envs_may_override_os_environ(self): os.environ["SOMETHING_UNKNOWN"] = "123" self.addCleanup(remove_env, "SOMETHING_UNKNOWN") plugin = ApprcWatcher("", "", 1) plugin.call, kw = create_fake_call(None) plugin.add_envs(name="name", envs={ "foo": "bar", "SOMETHING_UNKNOWN": "456" }) env = copy.deepcopy(os.environ) env["SOMETHING_UNKNOWN"] = "456" env["foo"] = "bar" expected = [{"name": "name", "options": {"env": env}}] self.assertEqual(expected, kw)