def test_setup_interactive(fake_inter): """Ensure we can build the connection pool of interactive hosts.""" runner = Bladerunner() assert runner.interactive_hosts == {} with patch.object(runner, "interactive", return_value=fake_inter) as inter: runner.setup_interactive("fake_place", connect=False) assert fake_inter.server in runner.interactive_hosts inter.assert_called_once_with("fake_place", False)
def test_setup_interactive(fake_inter): """Ensure we can build the connection pool of interactive hosts.""" runner = Bladerunner() assert runner.interactive_hosts == {} with patch.object(runner, "interactive", return_value=fake_inter) as inter: runner.setup_interactive("fake_place", connect=False) assert fake_inter.server in runner.interactive_hosts inter.assert_called_once_with("fake_place", False)
def test_setup_interactive_many(fake_inter): """We can initialize many hosts interactively at once.""" runner = Bladerunner() assert runner.interactive_hosts == {} with patch.object(runner, "interactive", return_value=fake_inter) as inter: runner.setup_interactive(["fake", "place", "fake"], connect=False) assert inter.call_count == 2 inter.assert_any_call("fake", False) inter.assert_any_call("place", False)
def test_setup_interactive_many(fake_inter): """We can initialize many hosts interactively at once.""" runner = Bladerunner() assert runner.interactive_hosts == {} with patch.object(runner, "interactive", return_value=fake_inter) as inter: runner.setup_interactive(["fake", "place", "fake"], connect=False) assert inter.call_count == 2 inter.assert_any_call("fake", False) inter.assert_any_call("place", False)
def test_end_interactive_file(): """The end_interactive method can also be passed a file of hostnames.""" runner = Bladerunner() runner.setup_interactive( ["one", "two", "three", "four", "five", "six"], connect=False, ) hostfp = tempfile.mktemp() with open(hostfp, "w") as hostsfile: hostsfile.write("one\nfour\nsix\n") runner.end_interactive(hostfp) for host in runner.interactive_hosts.keys(): assert host in ["two", "three", "five"] assert len(runner.interactive_hosts) == 3 os.remove(hostfp)
def test_interactive_hostsfile(): """If passed a string file path as an arg, read the hosts per line.""" hostsfp = tempfile.mktemp() test_hosts = ["something", "some", "thing", "else", "stuff"] with open(hostsfp, "w") as hostsfile: for test_host in test_hosts: hostsfile.write("{0}\n".format(test_host)) runner = Bladerunner() runner.setup_interactive(hostsfp, connect=False) setup_hosts = runner.interactive_hosts.keys() for test_host in test_hosts: assert test_host in setup_hosts for setup_host in setup_hosts: assert setup_host in test_hosts os.remove(hostsfp)
def test_end_interactive_file(): """The end_interactive method can also be passed a file of hostnames.""" runner = Bladerunner() runner.setup_interactive( ["one", "two", "three", "four", "five", "six"], connect=False, ) hostfp = tempfile.mktemp() with open(hostfp, "w") as hostsfile: hostsfile.write("one\nfour\nsix\n") runner.end_interactive(hostfp) for host in runner.interactive_hosts.keys(): assert host in ["two", "three", "five"] assert len(runner.interactive_hosts) == 3 os.remove(hostfp)
def test_interactive_hostsfile(): """If passed a string file path as an arg, read the hosts per line.""" hostsfp = tempfile.mktemp() test_hosts = ["something", "some", "thing", "else", "stuff"] with open(hostsfp, "w") as hostsfile: for test_host in test_hosts: hostsfile.write("{0}\n".format(test_host)) runner = Bladerunner() runner.setup_interactive(hostsfp, connect=False) setup_hosts = runner.interactive_hosts.keys() for test_host in test_hosts: assert test_host in setup_hosts for setup_host in setup_hosts: assert setup_host in test_hosts os.remove(hostsfp)