@@ -36,8 +36,8 @@ pip install apitist
3636### Example usage
3737
3838``` python
39- from apitist.hooks import PrepRequestInfoLoggingHook, ResponseInfoLoggingHook
40- from apitist.requests import session
39+ from apitist import PrepRequestInfoLoggingHook, ResponseInfoLoggingHook
40+ from apitist import session
4141
4242
4343s = session()
@@ -54,7 +54,7 @@ s.post("https://httpbin.org/post", params={"q": "test"})
5454``` python
5555from requests import Request, PreparedRequest, Response
5656
57- from apitist.requests import session, RequestHook, PreparedRequestHook, ResponseHook
57+ from apitist import session, RequestHook, PreparedRequestHook, ResponseHook
5858
5959s = session()
6060
@@ -90,9 +90,12 @@ s.get("https://ya.ru", params={"q": "test"})
9090import attr
9191import typing
9292
93- from apitist.constructor import converter
94- from apitist.hooks import RequestConverterHook, ResponseConverterHook
95- from apitist.requests import session
93+ from apitist import (
94+ converter,
95+ RequestConverterHook,
96+ ResponseConverterHook,
97+ session,
98+ )
9699
97100
98101class ExampleType :
@@ -143,7 +146,7 @@ print(res.structured.json.test.test) # test
143146First of all create an instance of random class:
144147
145148``` python
146- from apitist.random import Randomer
149+ from apitist import Randomer
147150rand = Randomer()
148151```
149152
@@ -209,3 +212,51 @@ By this you could create different data for different `str` fields.
209212
210213Also, using with ` RequestConverterHook ` and ` ResponseConverterHook `
211214you could easily create random json objects which would be send to server.
215+
216+ ## Predefined random types
217+
218+ ``` python
219+ from apitist import Randomer
220+ from apitist.random import Username, FirstName, LastName, Date
221+ from dataclasses import dataclass
222+
223+
224+ @dataclass
225+ class LoginModel :
226+ username: Username
227+ password: str
228+
229+
230+ @dataclass
231+ class BookingDates :
232+ checkin: Date
233+ checkout: Date
234+
235+
236+ @dataclass
237+ class BookingModel :
238+ firstname: FirstName
239+ lastname: LastName
240+ totalprice: int
241+ depositpaid: bool
242+ bookingdates: BookingDates
243+ additionalneeds: str
244+
245+
246+ rand = Randomer()
247+ rand.add_predefined(locale = " es-ES" )
248+ rand.object(LoginModel)
249+ # LoginModel(
250+ # username='wfeliu',
251+ # password='VjHoHtLSjdoxXhtitaXU'
252+ # )
253+ rand.object(BookingModel)
254+ # BookingModel(
255+ # firstname='Pedro',
256+ # lastname='Luz',
257+ # totalprice=931,
258+ # depositpaid=True,
259+ # bookingdates=BookingDates(checkin='1972-08-29', checkout='1971-05-19'),
260+ # additionalneeds='EFggHSpnzRSJATKtUmOm'
261+ # )
262+ ```
0 commit comments