Skip to content

Commit b5f7f6b

Browse files
committed
fix(models): changed wrong keyword argument for parameters schema and usages
1 parent a932163 commit b5f7f6b

11 files changed

+504
-43
lines changed

pygitguardian/client.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
CreateTeam,
3232
CreateTeamInvitation,
3333
CreateTeamMember,
34+
CreateTeamMemberParameter,
3435
CursorPaginatedResponse,
3536
DeleteMember,
3637
Detail,
@@ -1011,9 +1012,10 @@ def list_teams(
10111012
parameters: Optional[TeamsParameter] = None,
10121013
extra_headers: Optional[Dict[str, str]] = None,
10131014
) -> Union[Detail, CursorPaginatedResponse[Team]]:
1015+
params = parameters.to_dict() if parameters else {}
10141016
response = self.get(
10151017
endpoint="teams",
1016-
data=parameters.to_dict() if parameters else {},
1018+
params=params,
10171019
extra_headers=extra_headers,
10181020
)
10191021

@@ -1189,11 +1191,13 @@ def create_team_member(
11891191
self,
11901192
team_id: int,
11911193
member: CreateTeamMember,
1194+
parameters: Optional[CreateTeamMemberParameter] = None,
11921195
extra_headers: Optional[Dict[str, str]] = None,
11931196
) -> Union[Detail, TeamMember]:
11941197
response = self.post(
11951198
endpoint=f"teams/{team_id}/team_memberships",
11961199
data=CreateTeamMember.to_dict(member),
1200+
params=parameters.to_dict() if parameters else {},
11971201
extra_headers=extra_headers,
11981202
)
11991203

pygitguardian/models.py

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -985,7 +985,7 @@ class Feedback(Base, FromDictMixin):
985985
@dataclass
986986
class SecretIncidentStats(Base, FromDictMixin):
987987
total: int
988-
severity_breakdown: dict[Severity, int]
988+
severity_breakdown: Dict[Severity, int]
989989

990990

991991
@dataclass
@@ -1165,7 +1165,7 @@ class SearchParameter(ToDictMixin):
11651165
@dataclass
11661166
class CursorPaginatedResponse(Generic[PaginatedData]):
11671167
status_code: int
1168-
data: list[PaginatedData]
1168+
data: List[PaginatedData]
11691169
prev: Optional[str] = None
11701170
next: Optional[str] = None
11711171

@@ -1174,7 +1174,7 @@ def from_response(
11741174
cls, response: "requests.Response", data_type: Type[PaginatedData]
11751175
) -> "CursorPaginatedResponse[PaginatedData]":
11761176
data = cast(
1177-
list[PaginatedData], data_type.from_dict(response.json(), many=True)
1177+
List[PaginatedData], data_type.from_dict(response.json(), many=True)
11781178
)
11791179
paginated_response = cls(status_code=response.status_code, data=data)
11801180

@@ -1205,7 +1205,7 @@ class MembersParametersSchema(BaseSchema):
12051205
ordering = fields.Str(allow_none=True)
12061206

12071207
@post_load
1208-
def return_members_parameters(self, data: dict[str, Any], **kwargs: dict[str, Any]):
1208+
def return_members_parameters(self, data: Dict[str, Any], **kwargs: Dict[str, Any]):
12091209
return MembersParameters(**data)
12101210

12111211

@@ -1239,10 +1239,9 @@ class MemberSchema(BaseSchema):
12391239
@post_load
12401240
def return_member(
12411241
self,
1242-
data: list[dict[str, Any]] | dict[str, Any],
1243-
**kwargs: dict[str, Any],
1242+
data: Dict[str, Any],
1243+
**kwargs: Dict[str, Any],
12441244
):
1245-
data = cast(dict[str, Any], data)
12461245
return Member(**data)
12471246

12481247

@@ -1256,8 +1255,8 @@ class UpdateMemberSchema(BaseSchema):
12561255

12571256
@post_dump
12581257
def access_level_value(
1259-
self, data: dict[str, Any], **kwargs: dict[str, Any]
1260-
) -> dict[str, Any]:
1258+
self, data: Dict[str, Any], **kwargs: Dict[str, Any]
1259+
) -> Dict[str, Any]:
12611260
if "access_level" in data:
12621261
data["access_level"] = AccessLevel(data["access_level"]).value
12631262
return data
@@ -1290,13 +1289,14 @@ class DeleteMember(Base, FromDictMixin):
12901289
DeleteMember.SCHEMA = DeleteMemberSchema()
12911290

12921291

1293-
class TeamsParameter(PaginationParameter, SearchParameter, ToDictMixin):
1292+
@dataclass
1293+
class TeamsParameter(PaginationParameter, SearchParameter, FromDictMixin, ToDictMixin):
12941294
is_global: Optional[bool] = None
12951295

12961296

12971297
TeamsParameterSchema = cast(
12981298
Type[BaseSchema],
1299-
marshmallow_dataclass.class_schema(DeleteMember, base_schema=BaseSchema),
1299+
marshmallow_dataclass.class_schema(TeamsParameter, base_schema=BaseSchema),
13001300
)
13011301
TeamsParameter.SCHEMA = TeamsParameterSchema()
13021302

@@ -1368,7 +1368,6 @@ class TeamInvitationParameter(PaginationParameter, ToDictMixin):
13681368
incident_permission: Optional[IncidentPermission] = None
13691369

13701370

1371-
@dataclass
13721371
class TeamInvitationParameterSchema(BaseSchema):
13731372
invitation_id = fields.Int(allow_none=True)
13741373
is_team_leader = fields.Bool(allow_none=True)
@@ -1404,8 +1403,8 @@ class TeamInvitationSchema(BaseSchema):
14041403
@post_load
14051404
def return_member(
14061405
self,
1407-
data: dict[str, Any],
1408-
**kwargs: dict[str, Any],
1406+
data: Dict[str, Any],
1407+
**kwargs: Dict[str, Any],
14091408
):
14101409
return TeamInvitation(**data)
14111410

@@ -1428,7 +1427,7 @@ class CreateTeamInvitationSchema(BaseSchema):
14281427
incident_permission = fields.Enum(IncidentPermission, by_value=True, required=True)
14291428

14301429
@post_load
1431-
def return_team_invitation(self, data: dict[str, Any], **kwargs: dict[str, Any]):
1430+
def return_team_invitation(self, data: Dict[str, Any], **kwargs: Dict[str, Any]):
14321431
return CreateTeamInvitation(**data)
14331432

14341433
class Meta:
@@ -1438,6 +1437,7 @@ class Meta:
14381437
CreateTeamInvitation.SCHEMA = CreateTeamInvitationSchema()
14391438

14401439

1440+
@dataclass
14411441
class TeamMemberParameter(PaginationParameter, SearchParameter, ToDictMixin):
14421442
is_team_leader: Optional[bool] = None
14431443
incident_permission: Optional[IncidentPermission] = None
@@ -1453,7 +1453,7 @@ class TeamMembershipParameterSchema(BaseSchema):
14531453

14541454
@post_load
14551455
def return_team_membership_parameter(
1456-
self, data: dict[str, Any], **kwargs: dict[str, Any]
1456+
self, data: Dict[str, Any], **kwargs: Dict[str, Any]
14571457
):
14581458
return TeamMemberParameter(**data)
14591459

@@ -1483,7 +1483,7 @@ class TeamMemberSchema(BaseSchema):
14831483
incident_permission = fields.Enum(IncidentPermission, by_value=True, required=True)
14841484

14851485
@post_load
1486-
def return_team_membership(self, data: dict[str, Any], **kwargs: dict[str, Any]):
1486+
def return_team_membership(self, data: Dict[str, Any], **kwargs: Dict[str, Any]):
14871487
return TeamMember(**data)
14881488

14891489

@@ -1520,7 +1520,7 @@ class CreateTeamMemberSchema(BaseSchema):
15201520

15211521
@post_load
15221522
def return_create_team_membership(
1523-
self, data: dict[str, Any], **kwargs: dict[str, Any]
1523+
self, data: Dict[str, Any], **kwargs: Dict[str, Any]
15241524
):
15251525
return CreateTeamMember(**data)
15261526

@@ -1549,8 +1549,8 @@ class TeamSourceParameters(PaginationParameter, SearchParameter, ToDictMixin):
15491549
@dataclass
15501550
class UpdateTeamSource(Base, FromDictMixin):
15511551
team_id: int
1552-
sources_to_add: list[int]
1553-
sources_to_remove: list[int]
1552+
sources_to_add: List[int]
1553+
sources_to_remove: List[int]
15541554

15551555

15561556
UpdateTeamSourceSchema = cast(
@@ -1595,7 +1595,7 @@ class InvitationSchema(BaseSchema):
15951595
date = fields.DateTime(required=True)
15961596

15971597
@post_load
1598-
def return_invitation(self, data: dict[str, Any], **kwargs: dict[str, Any]):
1598+
def return_invitation(self, data: Dict[str, Any], **kwargs: Dict[str, Any]):
15991599
return Invitation(**data)
16001600

16011601

@@ -1627,7 +1627,7 @@ class CreateInvitationSchema(BaseSchema):
16271627
access_level = fields.Enum(AccessLevel, by_value=True, required=True)
16281628

16291629
@post_load
1630-
def return_invitation(self, data: dict[str, Any], **kwargs: dict[str, Any]):
1630+
def return_invitation(self, data: Dict[str, Any], **kwargs: Dict[str, Any]):
16311631
return CreateInvitation(**data)
16321632

16331633

tests/cassettes/test_add_team_sources.yaml

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ interactions:
3131
Cross-Origin-Opener-Policy:
3232
- same-origin
3333
Date:
34-
- Fri, 06 Dec 2024 12:46:14 GMT
34+
- Fri, 06 Dec 2024 15:56:34 GMT
3535
Referrer-Policy:
3636
- same-origin
3737
Server:
@@ -45,7 +45,7 @@ interactions:
4545
X-Frame-Options:
4646
- DENY
4747
X-Request-ID:
48-
- 05e58838d26c922add8312a362dba69c
48+
- 22643c94715fcf85df077d4b68ab6541
4949
X-SCA-Engine-Version:
5050
- 2.2.0
5151
X-Secrets-Engine-Version:
@@ -54,22 +54,18 @@ interactions:
5454
code: 204
5555
message: No Content
5656
- request:
57-
body: type=azure_devops
57+
body: null
5858
headers:
5959
Accept:
6060
- '*/*'
6161
Accept-Encoding:
6262
- gzip, deflate
6363
Connection:
6464
- keep-alive
65-
Content-Length:
66-
- '17'
67-
Content-Type:
68-
- application/x-www-form-urlencoded
6965
User-Agent:
7066
- pygitguardian/1.18.0 (Darwin;py3.11.8)
7167
method: GET
72-
uri: https://api.gitguardian.com/v1/teams/9/sources
68+
uri: https://api.gitguardian.com/v1/teams/9/sources?type=azure_devops
7369
response:
7470
body:
7571
string: '[{"id":124,"type":"azure_devops","full_name":"gg-integration-test /
@@ -93,7 +89,7 @@ interactions:
9389
Cross-Origin-Opener-Policy:
9490
- same-origin
9591
Date:
96-
- Fri, 06 Dec 2024 12:46:14 GMT
92+
- Fri, 06 Dec 2024 15:56:34 GMT
9793
Link:
9894
- ''
9995
Referrer-Policy:
@@ -111,7 +107,7 @@ interactions:
111107
X-Per-Page:
112108
- '20'
113109
X-Request-ID:
114-
- 235112590e3f298f700971bb283acb6c
110+
- 69887de8037bf0eba9dadb62171e5889
115111
X-SCA-Engine-Version:
116112
- 2.2.0
117113
X-Secrets-Engine-Version:
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
interactions:
2+
- request:
3+
body: '{"member_id": 12, "is_team_leader": false, "incident_permission": "can_view"}'
4+
headers:
5+
Accept:
6+
- '*/*'
7+
Accept-Encoding:
8+
- gzip, deflate
9+
Connection:
10+
- keep-alive
11+
Content-Length:
12+
- '77'
13+
Content-Type:
14+
- application/json
15+
User-Agent:
16+
- pygitguardian/1.18.0 (Darwin;py3.11.8)
17+
method: POST
18+
uri: https://api.gitguardian.com/v1/teams/9/team_memberships?send_email=False
19+
response:
20+
body:
21+
string: '{"id":11,"team_id":9,"member_id":12,"is_team_leader":false,"team_permission":"cannot_manage","incident_permission":"can_view"}'
22+
headers:
23+
Access-Control-Expose-Headers:
24+
- X-App-Version
25+
Allow:
26+
- GET, POST, HEAD, OPTIONS
27+
Connection:
28+
- keep-alive
29+
Content-Length:
30+
- '126'
31+
Content-Type:
32+
- application/json
33+
Cross-Origin-Opener-Policy:
34+
- same-origin
35+
Date:
36+
- Fri, 06 Dec 2024 14:37:57 GMT
37+
Referrer-Policy:
38+
- same-origin
39+
Server:
40+
- nginx/1.24.0
41+
Vary:
42+
- Cookie
43+
X-App-Version:
44+
- dev
45+
X-Content-Type-Options:
46+
- nosniff
47+
X-Frame-Options:
48+
- DENY
49+
X-Request-ID:
50+
- 9bdfa17e97c34bd4496abfdc27eb8553
51+
X-SCA-Engine-Version:
52+
- 2.2.0
53+
X-Secrets-Engine-Version:
54+
- 2.127.0
55+
status:
56+
code: 201
57+
message: Created
58+
version: 1

tests/cassettes/test_delete_team_sources.yaml

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ interactions:
3131
Cross-Origin-Opener-Policy:
3232
- same-origin
3333
Date:
34-
- Fri, 06 Dec 2024 12:45:18 GMT
34+
- Fri, 06 Dec 2024 15:53:15 GMT
3535
Referrer-Policy:
3636
- same-origin
3737
Server:
@@ -45,7 +45,7 @@ interactions:
4545
X-Frame-Options:
4646
- DENY
4747
X-Request-ID:
48-
- a22388028c540a672a7f0b9f9ee63406
48+
- c40c97ffa8505619495c4656de9772e8
4949
X-SCA-Engine-Version:
5050
- 2.2.0
5151
X-Secrets-Engine-Version:
@@ -54,22 +54,18 @@ interactions:
5454
code: 204
5555
message: No Content
5656
- request:
57-
body: type=azure_devops
57+
body: null
5858
headers:
5959
Accept:
6060
- '*/*'
6161
Accept-Encoding:
6262
- gzip, deflate
6363
Connection:
6464
- keep-alive
65-
Content-Length:
66-
- '17'
67-
Content-Type:
68-
- application/x-www-form-urlencoded
6965
User-Agent:
7066
- pygitguardian/1.18.0 (Darwin;py3.11.8)
7167
method: GET
72-
uri: https://api.gitguardian.com/v1/teams/9/sources
68+
uri: https://api.gitguardian.com/v1/teams/9/sources?type=azure_devops
7369
response:
7470
body:
7571
string: '[{"id":124,"type":"azure_devops","full_name":"gg-integration-test /
@@ -92,7 +88,7 @@ interactions:
9288
Cross-Origin-Opener-Policy:
9389
- same-origin
9490
Date:
95-
- Fri, 06 Dec 2024 12:45:18 GMT
91+
- Fri, 06 Dec 2024 15:53:15 GMT
9692
Link:
9793
- ''
9894
Referrer-Policy:
@@ -110,7 +106,7 @@ interactions:
110106
X-Per-Page:
111107
- '20'
112108
X-Request-ID:
113-
- b1645bd71d969137f339bf4f8adcad6e
109+
- fdcab3ffe17d5cc19ce6471a37f3ac25
114110
X-SCA-Engine-Version:
115111
- 2.2.0
116112
X-Secrets-Engine-Version:

0 commit comments

Comments
 (0)