Passed
Push — main ( 283ae9...2f4122 )
by Jochen
02:02
created

tests.http.conftest.server()   A

Complexity

Conditions 1

Size

Total Lines 3
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 3
nop 1
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
"""
2
:Copyright: 2007-2022 Jochen Kupperschmidt
3
:License: MIT, see LICENSE for details.
4
"""
5
6
from threading import Thread
7
8
import pytest
9
10
from weitersager.config import HttpConfig
11
from weitersager.http import create_server
12
13
14
@pytest.fixture
15
def make_server():
16
    # Per default, bind to localhost on random user port.
17
    def _wrapper(host='', port=0, *, api_tokens=None):
18
        if api_tokens is None:
19
            api_tokens = set()
20
        config = HttpConfig(host, port, api_tokens=api_tokens)
21
22
        server = create_server(config)
23
24
        thread = Thread(target=server.handle_request)
25
        thread.start()
26
27
        return server
28
29
    return _wrapper
30