Exemplo n.º 1
0
 def test_one_closed(self):
     adapter = MultiAdapter(*[ListAdapter() for adapter in range(10)])
     assert adapter.closed is True
     adapter.open()
     assert adapter.closed is False
     adapter.adapters[5].close()
     assert adapter.closed is True
Exemplo n.º 2
0
 def test_errors_emit_no_adapters(self):
     adapter = MultiAdapter()
     assert adapter.closed is True
     with pytest.raises(AdapterEmitError):
         with adapter:
             adapter.emit(tevent().json)
     assert adapter.closed is True
Exemplo n.º 3
0
    def test_errors_emit(self):
        adapter = MultiAdapter(RaisingAdapter(AdapterClosedError))
        assert adapter.closed is True

        with pytest.raises(AdapterClosedError):
            adapter.emit(tevent().json)
        assert adapter.closed is True
Exemplo n.º 4
0
    def test_errors_flush(self):
        adapter = MultiAdapter(RaisingAdapter(AdapterClosedError))
        assert adapter.closed is True

        with pytest.raises(AdapterClosedError):
            adapter.flush()
        assert adapter.closed is True
Exemplo n.º 5
0
 def test_errors_close_still_calls_on_adapters(self):
     t = ListAdapter()
     adapter = MultiAdapter(t, RaisingAdapter(AdapterClosedError))
     t.open()
     assert adapter.closed is True
     assert t.closed is False
     with pytest.raises(AdapterClosedError):
         adapter.open()
     assert adapter.closed is True
     assert t.closed is True
Exemplo n.º 6
0
    def test_multi_real_adapter(self):
        for i in range(1, 3):
            adapters = [Adapter() for adapter in range(i)]
            adapter = MultiAdapter(*adapters)
            expect = tevent().json

            assert all(chk_adapter.closed is True for chk_adapter in adapters)
            assert adapter.closed is True

            with adapter:
                assert all(chk_adapter.closed is False
                           for chk_adapter in adapters)
                assert adapter.closed is False
                assert adapter.emit(expect) is None
            assert all(chk_adapter.closed is True for chk_adapter in adapters)
            assert adapter.closed is True
Exemplo n.º 7
0
    def test_errors_open(self):
        adapter = MultiAdapter(RaisingAdapter(AdapterClosedError))
        assert adapter.closed is True

        with pytest.raises(AdapterClosedError):
            with adapter:
                pass
        assert adapter.closed is True
Exemplo n.º 8
0
    def test_multi(self):
        for i in range(1, 10):
            adapters = [ListAdapter() for adapter in range(i)]
            adapter = MultiAdapter(*adapters)
            expect = tevent().json

            assert all(chk_adapter.closed is True for chk_adapter in adapters)
            assert adapter.closed is True

            with adapter:
                assert all(chk_adapter.closed is False
                           for chk_adapter in adapters)
                assert adapter.closed is False
                adapter.emit(expect)

                for chk_adapter in adapters:
                    got = chk_adapter.pop()
                    assert expect == got
            assert all(chk_adapter.closed is True for chk_adapter in adapters)
            assert adapter.closed is True
            for chk_adapter in adapters:
                assert len(chk_adapter) == 0
Exemplo n.º 9
0
    def test_close_has_error(self):
        t = ListAdapter()
        tr = RaisingAdapter(AdapterClosedError, raising=False)
        adapter = MultiAdapter(t, tr)

        with adapter:
            assert adapter.closed is False
            assert tr.closed is False
            assert t.closed is False
            tr.raising = True
        assert adapter.closed is True
        assert tr.closed is True
        assert t.closed is True
Exemplo n.º 10
0
 def adapter_factory():
     return MultiAdapter(ListAdapter())