Projekt

Obecné

Profil

Stáhnout (1.14 KB) Statistiky
| Větev: | Tag: | Revize:
1
from client.src.usb_detector import api_client
2

    
3

    
4
class CacheMock:
5

    
6
    def __init__(self):
7
        self._data = []
8

    
9
    def pop(self):
10
        return self._data.pop()
11

    
12
    def append(self, payload):
13
        self._data.append(payload)
14

    
15
    def __len__(self):
16
        return len(self._data)
17

    
18

    
19
class ConfigMock:
20

    
21
    def __init__(self):
22
        self.cache_max_entries = 5
23

    
24

    
25
def test_cache_failed_payload_1():
26
    payload_mock = {
27
        "vendor_id": 1,
28
        "product_id": 2
29
    }
30
    cache = CacheMock()
31
    config = ConfigMock()
32

    
33
    api_client._cache = cache
34
    api_client._config = config
35

    
36
    for _ in range(0, config.cache_max_entries + 1):
37
        api_client._cache_failed_payload(payload_mock)
38

    
39
    assert len(api_client._cache) == config.cache_max_entries
40

    
41

    
42
def test_cache_failed_payload_2():
43
    payload_mock = {
44
        "vendor_id": 1,
45
        "product_id": 2
46
    }
47
    cache = CacheMock()
48
    config = ConfigMock()
49

    
50
    api_client._cache = cache
51
    api_client._config = config
52
    count = int(config.cache_max_entries / 2)
53

    
54
    for _ in range(0, count):
55
        api_client._cache_failed_payload(payload_mock)
56

    
57
    assert len(api_client._cache) == count
58

    
(2-2/4)