Beispiel #1
0
def test_multitest_drivers_in_testplan(runpath):
    """TODO."""
    for idx, opts in enumerate((dict(name="MyPlan",
                                     runpath=runpath), dict(name="MyPlan"))):
        plan = TestplanMock(**opts)
        server = TCPServer(name="server")
        client = TCPClient(
            name="client",
            host=context(server.cfg.name, "{{host}}"),
            port=context(server.cfg.name, "{{port}}"),
        )
        mtest = MultiTest(
            name="Mtest",
            suites=[MySuite()],
            environment=[server, client],
            initial_context={"test_key": "test_value"},
        )

        plan.add(mtest)
        assert server.status.tag == ResourceStatus.NONE
        assert client.status.tag == ResourceStatus.NONE

        plan.run()
        res = plan.result

        assert res.run is True
        assert res.report.passed
        if idx == 0:
            assert plan.runpath == runpath
        assert mtest.runpath == os.path.join(plan.runpath,
                                             slugify(mtest.uid()))
        assert server.runpath == os.path.join(mtest.runpath, server.uid())
        assert client.runpath == os.path.join(mtest.runpath, client.uid())
        assert server.status.tag == ResourceStatus.STOPPED
        assert client.status.tag == ResourceStatus.STOPPED
def test_multitest_drivers_in_testplan():
    """TODO."""
    for idx, opts in enumerate((dict(name='MyPlan',
                                     parse_cmdline=False,
                                     runpath=runpath_maker),
                                dict(name='MyPlan', parse_cmdline=False))):
        plan = Testplan(**opts)
        server = TCPServer(name='server')
        client = TCPClient(name='client',
                           host=context(server.cfg.name, '{{host}}'),
                           port=context(server.cfg.name, '{{port}}'))
        mtest = MultiTest(name='Mtest',
                          suites=[MySuite()],
                          environment=[server, client],
                          initial_context={'test_key': 'test_value'})

        plan.add(mtest)
        assert server.status.tag == ResourceStatus.NONE
        assert client.status.tag == ResourceStatus.NONE

        with log_propagation_disabled(TESTPLAN_LOGGER):
            plan.run()

        res = plan.result
        assert res.run is True
        if idx == 0:
            assert plan.runpath == runpath_maker(None)
        else:
            assert plan.runpath == default_runpath(plan._runnable)
        assert mtest.runpath == os.path.join(plan.runpath, mtest.uid())
        assert server.runpath == os.path.join(mtest.runpath, server.uid())
        assert client.runpath == os.path.join(mtest.runpath, client.uid())
        assert server.status.tag == ResourceStatus.STOPPED
        assert client.status.tag == ResourceStatus.STOPPED