@@ -13,43 +13,92 @@ def test_constructor(request_builder):
13
13
assert request_builder .path == "/example_table"
14
14
15
15
16
- def test_select (request_builder ):
17
- builder = request_builder .select ("col1" , "col2" )
16
+ class TestSelect :
17
+ def test_select (self , request_builder : RequestBuilder ):
18
+ builder = request_builder .select ("col1" , "col2" )
18
19
19
- assert builder .session .params ["select" ] == "col1,col2"
20
- assert builder .http_method == "GET"
21
- assert builder .json == {}
20
+ assert builder .session .params ["select" ] == "col1,col2"
21
+ assert builder .session .headers .get ("prefer" ) == None
22
+ assert builder .http_method == "GET"
23
+ assert builder .json == {}
24
+
25
+ def test_select_with_count (self , request_builder : RequestBuilder ):
26
+ builder = request_builder .select (count = "exact" )
27
+
28
+ assert builder .session .params .get ("select" ) == None
29
+ assert builder .session .headers ["prefer" ] == "count=exact"
30
+ assert builder .http_method == "HEAD"
31
+ assert builder .json == {}
22
32
23
33
24
34
class TestInsert :
25
- def test_insert (self , request_builder ):
35
+ def test_insert (self , request_builder : RequestBuilder ):
26
36
builder = request_builder .insert ({"key1" : "val1" })
27
37
28
- assert builder .session .headers ["prefer" ] == "return=representation"
38
+ assert builder .session .headers .get_list ("prefer" , True ) == [
39
+ "return=representation"
40
+ ]
41
+ assert builder .http_method == "POST"
42
+ assert builder .json == {"key1" : "val1" }
43
+
44
+ def test_insert_with_count (self , request_builder : RequestBuilder ):
45
+ builder = request_builder .insert ({"key1" : "val1" }, count = "exact" )
46
+
47
+ assert builder .session .headers .get_list ("prefer" , True ) == [
48
+ "return=representation" ,
49
+ "count=exact" ,
50
+ ]
29
51
assert builder .http_method == "POST"
30
52
assert builder .json == {"key1" : "val1" }
31
53
32
- def test_upsert (self , request_builder ):
54
+ def test_upsert (self , request_builder : RequestBuilder ):
33
55
builder = request_builder .insert ({"key1" : "val1" }, upsert = True )
34
56
35
- assert (
36
- builder . session . headers [ "prefer" ]
37
- == "return=representation, resolution=merge-duplicates"
38
- )
57
+ assert builder . session . headers . get_list ( "prefer" , True ) == [
58
+ "return=representation" ,
59
+ " resolution=merge-duplicates",
60
+ ]
39
61
assert builder .http_method == "POST"
40
62
assert builder .json == {"key1" : "val1" }
41
63
42
64
43
- def test_update (request_builder ):
44
- builder = request_builder .update ({"key1" : "val1" })
65
+ class TestUpdate :
66
+ def test_update (self , request_builder : RequestBuilder ):
67
+ builder = request_builder .update ({"key1" : "val1" })
68
+
69
+ assert builder .session .headers .get_list ("prefer" , True ) == [
70
+ "return=representation"
71
+ ]
72
+ assert builder .http_method == "PATCH"
73
+ assert builder .json == {"key1" : "val1" }
74
+
75
+ def test_update_with_count (self , request_builder : RequestBuilder ):
76
+ builder = request_builder .update ({"key1" : "val1" }, count = "exact" )
77
+
78
+ assert builder .session .headers .get_list ("prefer" , True ) == [
79
+ "return=representation" ,
80
+ "count=exact" ,
81
+ ]
82
+ assert builder .http_method == "PATCH"
83
+ assert builder .json == {"key1" : "val1" }
84
+
45
85
46
- assert builder . session . headers [ "prefer" ] == "return=representation"
47
- assert builder . http_method == "PATCH"
48
- assert builder . json == { "key1" : "val1" }
86
+ class TestDelete :
87
+ def test_delete ( self , request_builder : RequestBuilder ):
88
+ builder = request_builder . delete ()
49
89
90
+ assert builder .session .headers .get_list ("prefer" , True ) == [
91
+ "return=representation"
92
+ ]
93
+ assert builder .http_method == "DELETE"
94
+ assert builder .json == {}
50
95
51
- def test_delete ( request_builder ):
52
- builder = request_builder .delete ()
96
+ def test_delete_with_count ( self , request_builder : RequestBuilder ):
97
+ builder = request_builder .delete (count = "exact" )
53
98
54
- assert builder .http_method == "DELETE"
55
- assert builder .json == {}
99
+ assert builder .session .headers .get_list ("prefer" , True ) == [
100
+ "return=representation" ,
101
+ "count=exact" ,
102
+ ]
103
+ assert builder .http_method == "DELETE"
104
+ assert builder .json == {}
0 commit comments