def test__allows_pipe_input(self): parser = ArgumentParser() add_arguments(parser) args = parser.parse_args(['--input-file', '-']) output = io.StringIO() run(args, output=output, stdin=[self.test_input_str]) self.assertThat(output.getvalue(), Not(HasLength(0)))
def test__calls_subprocess_by_default(self): parser = ArgumentParser() add_arguments(parser) args = parser.parse_args([]) popen = self.patch(avahi_module.subprocess, "Popen") popen.return_value.stdout = io.BytesIO(self.test_input_bytes) popen.return_value.wait.return_value = 0 popen.return_value.returncode = 0 output = io.StringIO() run(args, output=output) self.assertThat( popen, MockCalledOnceWith( [ "/usr/bin/avahi-browse", "--all", "--resolve", "--no-db-lookup", "--parsable", "--no-fail", ], stdin=subprocess.DEVNULL, stdout=subprocess.PIPE, ), )
def test__allows_file_input(self): with NamedTemporaryFile('w') as f: parser = ArgumentParser() add_arguments(parser) f.write(self.test_input_str) f.flush() args = parser.parse_args(['--input-file', f.name]) output = io.StringIO() run(args, output=output)
def test__raises_systemexit(self): parser = ArgumentParser() add_arguments(parser) args = parser.parse_args([]) popen = self.patch(avahi_module.subprocess, 'Popen') popen.return_value.wait.return_value = 42 popen.return_value.returncode = 42 popen.return_value.stdout = io.BytesIO(self.test_input_bytes) output = io.StringIO() with ExpectedException(SystemExit, '.*42.*'): run(args, output=output)