Ejemplo n.º 1
0
    async def run_script(self, script, *args):
        argv = [script] + list(args)
        inputs = "\n".join(self.inputs) + "\n"
        with capture_output(argv, inputs) as (out, err):
            udns_port = str(self.fake_udns.port)
            with patch.dict("os.environ", {"PYATV_UDNS_PORT": udns_port}):
                with fake_udns.stub_multicast(self.fake_udns, self.loop):
                    with faketime("pyatv", 0):
                        # Stub away port knocking and ignore result (not tested here)
                        with patch("pyatv.support.knock.knock") as mock_knock:

                            async def _no_action(*args):
                                pass

                            mock_knock.side_effect = _no_action

                            module = import_module(f"pyatv.scripts.{script}")
                            self.retcode = await module.appstart(self.loop)
                            self.stdout = out.getvalue()
                            self.stderr = err.getvalue()
Ejemplo n.º 2
0
 async def _scan(timeout=1, identifier=None, protocol=None):
     with fake_udns.stub_multicast(udns_server, event_loop):
         return await pyatv.scan(event_loop,
                                 identifier=identifier,
                                 protocol=protocol,
                                 timeout=timeout)