• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mindflayer / python-mocket / 9841431065

08 Jul 2024 02:23PM CUT coverage: 98.824%. Remained the same
9841431065

Pull #242

github

web-flow
Merge 2fb1e1212 into 6e3fbad16
Pull Request #242: Testing Python 3.13

840 of 850 relevant lines covered (98.82%)

3.94 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

100.0
/mocket/plugins/pook_mock_engine.py
1
from pook.engine import MockEngine
4✔
2
from pook.interceptors.base import BaseInterceptor
4✔
3

4
from mocket.mocket import Mocket
4✔
5
from mocket.mockhttp import Entry, Response
4✔
6

7

8
class MocketPookEntry(Entry):
4✔
9
    pook_request = None
4✔
10
    pook_engine = None
4✔
11

12
    def can_handle(self, data):
4✔
13
        can_handle = super().can_handle(data)
4✔
14

15
        if can_handle:
4✔
16
            self.pook_engine.match(self.pook_request)
4✔
17
        return can_handle
4✔
18

19
    @classmethod
4✔
20
    def single_register(
4✔
21
        cls,
22
        method,
23
        uri,
24
        body="",
25
        status=200,
26
        headers=None,
27
        match_querystring=True,
28
        exception=None,
29
    ):
30
        entry = cls(
4✔
31
            uri,
32
            method,
33
            [Response(body=body, status=status, headers=headers)],
34
            match_querystring=match_querystring,
35
        )
36
        Mocket.register(entry)
4✔
37
        return entry
4✔
38

39

40
class MocketInterceptor(BaseInterceptor):
4✔
41
    @staticmethod
4✔
42
    def activate():
4✔
43
        Mocket.disable()
4✔
44
        Mocket.enable()
4✔
45

46
    @staticmethod
4✔
47
    def disable():
4✔
48
        Mocket.disable()
4✔
49

50

51
class MocketEngine(MockEngine):
4✔
52
    def __init__(self, engine):
4✔
53
        def mocket_mock_fun(*args, **kwargs):
4✔
54
            mock = self.pook_mock_fun(*args, **kwargs)
4✔
55

56
            request = mock._request
4✔
57
            method = request.method
4✔
58
            url = request.rawurl
4✔
59

60
            response = mock._response
4✔
61
            body = response._body
4✔
62
            status = response._status
4✔
63
            headers = response._headers
4✔
64

65
            entry = MocketPookEntry.single_register(method, url, body, status, headers)
4✔
66
            entry.pook_engine = self.engine
4✔
67
            entry.pook_request = request
4✔
68

69
            return mock
4✔
70

71
        # Store plugins engine
72
        self.engine = engine
4✔
73
        # Store HTTP client interceptors
74
        self.interceptors = []
4✔
75
        # Self-register MocketInterceptor
76
        self.add_interceptor(MocketInterceptor)
4✔
77

78
        # mocking pook.mock()
79
        self.pook_mock_fun = self.engine.mock
4✔
80
        self.engine.mock = mocket_mock_fun
4✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc