]> git.ipfire.org Git - thirdparty/fastapi/sqlmodel.git/blob
863a84eb1c876ea9ab91e2aefa2eb1880777b1ec
[thirdparty/fastapi/sqlmodel.git] /
1 from unittest.mock import patch
2
3 from sqlmodel import create_engine
4
5 from ....conftest import get_testing_print_function
6
7
8 def test_tutorial(clear_sqlmodel):
9 from docs_src.tutorial.relationship_attributes.cascade_delete_relationships import (
10 tutorial001 as mod,
11 )
12
13 mod.sqlite_url = "sqlite://"
14 mod.engine = create_engine(mod.sqlite_url)
15 calls = []
16
17 new_print = get_testing_print_function(calls)
18
19 with patch("builtins.print", new=new_print):
20 mod.main()
21 assert calls == [
22 [
23 "Created hero:",
24 {
25 "name": "Deadpond",
26 "secret_name": "Dive Wilson",
27 "team_id": 1,
28 "id": 1,
29 "age": None,
30 },
31 ],
32 [
33 "Created hero:",
34 {
35 "name": "Rusty-Man",
36 "secret_name": "Tommy Sharp",
37 "team_id": 2,
38 "id": 2,
39 "age": 48,
40 },
41 ],
42 [
43 "Created hero:",
44 {
45 "name": "Spider-Boy",
46 "secret_name": "Pedro Parqueador",
47 "team_id": None,
48 "id": 3,
49 "age": None,
50 },
51 ],
52 [
53 "Updated hero:",
54 {
55 "name": "Spider-Boy",
56 "secret_name": "Pedro Parqueador",
57 "team_id": 2,
58 "id": 3,
59 "age": None,
60 },
61 ],
62 [
63 "Team Wakaland:",
64 {"name": "Wakaland", "id": 3, "headquarters": "Wakaland Capital City"},
65 ],
66 [
67 "Deleted team:",
68 {"name": "Wakaland", "id": 3, "headquarters": "Wakaland Capital City"},
69 ],
70 ["Black Lion not found:", None],
71 ["Princess Sure-E not found:", None],
72 ]