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

mindflayer / python-mocket / 12095558571

30 Nov 2024 10:11AM UTC coverage: 97.727% (-1.0%) from 98.68%
12095558571

Pull #276

github

web-flow
Merge a69d07eba into 9cfad4cdb
Pull Request #276: refactor: rework Entry, Request and Response classes

732 of 752 new or added lines in 30 files covered. (97.34%)

1 existing line in 1 file now uncovered.

1204 of 1232 relevant lines covered (97.73%)

6.8 hits per line

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

98.44
/mocket/plugins/httpretty/__init__.py
1
from __future__ import annotations
7✔
2

3
from mocket.async_mocket import async_mocketize
7✔
4
from mocket.http import (
7✔
5
    MocketHttpEntry,
6
    MocketHttpMethod,
7
    MocketHttpRequest,
8
    MocketHttpResponse,
9
)
10
from mocket.mocket import Mocket
7✔
11
from mocket.mocketizer import mocketize
7✔
12

13

14
class MocketHttprettyResponse(MocketHttpResponse):
7✔
15
    server = "Python/HTTPretty"
7✔
16

17
    def __init__(
7✔
18
        self,
19
        body: str | bytes = "",
20
        status: int = 200,
21
        headers: dict[str, str] | None = None,
22
    ) -> None:
23
        super().__init__(
7✔
24
            status_code=status,
25
            headers=headers,
26
            body=body,
27
        )
28

29
    @property
7✔
30
    def status(self) -> int:
7✔
NEW
UNCOV
31
        return self.status_code
×
32

33
    @classmethod
7✔
34
    def _format_header_key(cls, key: str) -> str:
7✔
35
        return key.lower().replace("_", "-")
7✔
36

37

38
class MocketHttprettyEntry(MocketHttpEntry):
7✔
39
    response_cls = MocketHttprettyResponse
7✔
40

41

42
class MocketHTTPretty:
7✔
43
    Response = MocketHttprettyResponse
7✔
44

45
    CONNECT = MocketHttpMethod.CONNECT
7✔
46
    DELETE = MocketHttpMethod.DELETE
7✔
47
    GET = MocketHttpMethod.GET
7✔
48
    HEAD = MocketHttpMethod.HEAD
7✔
49
    OPTIONS = MocketHttpMethod.OPTIONS
7✔
50
    PATCH = MocketHttpMethod.PATCH
7✔
51
    POST = MocketHttpMethod.POST
7✔
52
    PUT = MocketHttpMethod.PUT
7✔
53
    TRACE = MocketHttpMethod.TRACE
7✔
54

55
    @property
7✔
56
    def latest_requests(self) -> list[MocketHttpRequest]:
7✔
57
        return Mocket.request_list()
7✔
58

59
    @property
7✔
60
    def last_request(self) -> MocketHttpRequest:
7✔
61
        return Mocket.last_request()
7✔
62

63
    def register_uri(
7✔
64
        self,
65
        method: MocketHttpMethod,
66
        uri: str,
67
        body: str | bytes = "HTTPretty :)",
68
        adding_headers: dict[str, str] | None = None,
69
        forcing_headers: dict[str, str] | None = None,
70
        status: int = 200,
71
        responses: list[MocketHttpResponse] | None = None,
72
        match_querystring: bool = False,
73
        priority: int = 0,
74
        **headers: str,
75
    ) -> None:
76
        if adding_headers is not None:
7✔
77
            headers.update(adding_headers)
7✔
78

79
        if responses is None:
7✔
80
            response = MocketHttprettyResponse(
7✔
81
                body=body,
82
                status=status,
83
                headers=headers,
84
            )
85
            responses = [response]
7✔
86

87
        if forcing_headers is not None:
7✔
88
            for r in responses:
7✔
89
                r.set_headers(forcing_headers)
7✔
90

91
        MocketHttpEntry.register_responses(
7✔
92
            method=method,
93
            uri=uri,
94
            responses=responses,
95
            match_querystring=match_querystring,
96
        )
97

98

99
HTTPretty = MocketHTTPretty()
7✔
100
httpretty = HTTPretty
7✔
101

102
Response = HTTPretty.Response
7✔
103

104
CONNECT = HTTPretty.CONNECT
7✔
105
DELETE = HTTPretty.DELETE
7✔
106
GET = HTTPretty.GET
7✔
107
HEAD = HTTPretty.HEAD
7✔
108
OPTIONS = HTTPretty.OPTIONS
7✔
109
PATCH = HTTPretty.PATCH
7✔
110
POST = HTTPretty.POST
7✔
111
PUT = HTTPretty.PUT
7✔
112
TRACE = HTTPretty.TRACE
7✔
113

114
activate = mocketize
7✔
115
httprettified = mocketize
7✔
116
async_httprettified = async_mocketize
7✔
117
register_uri = HTTPretty.register_uri
7✔
118

119
enable = Mocket.enable
7✔
120
disable = Mocket.disable
7✔
121
reset = Mocket.reset
7✔
122

123

124
__all__ = [
7✔
125
    "HTTPretty",
126
    "httpretty",
127
    "activate",
128
    "httprettified",
129
    "async_httprettified",
130
    "register_uri",
131
    "enable",
132
    "disable",
133
    "reset",
134
    "CONNECT",
135
    "DELETE",
136
    "GET",
137
    "HEAD",
138
    "OPTIONS",
139
    "PATCH",
140
    "POST",
141
    "PUT",
142
    "TRACE",
143
    "Response",
144
]
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

© 2026 Coveralls, Inc