Skip to content

Commit

Permalink
fix(models): changed wrong keyword argument for parameters schema and…
Browse files Browse the repository at this point in the history
… usages
  • Loading branch information
GG-Yanne committed Dec 6, 2024
1 parent a932163 commit b5f7f6b
Show file tree
Hide file tree
Showing 11 changed files with 504 additions and 43 deletions.
6 changes: 5 additions & 1 deletion pygitguardian/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
CreateTeam,
CreateTeamInvitation,
CreateTeamMember,
CreateTeamMemberParameter,
CursorPaginatedResponse,
DeleteMember,
Detail,
Expand Down Expand Up @@ -1011,9 +1012,10 @@ def list_teams(
parameters: Optional[TeamsParameter] = None,
extra_headers: Optional[Dict[str, str]] = None,
) -> Union[Detail, CursorPaginatedResponse[Team]]:
params = parameters.to_dict() if parameters else {}
response = self.get(
endpoint="teams",
data=parameters.to_dict() if parameters else {},
params=params,
extra_headers=extra_headers,
)

Expand Down Expand Up @@ -1189,11 +1191,13 @@ def create_team_member(
self,
team_id: int,
member: CreateTeamMember,
parameters: Optional[CreateTeamMemberParameter] = None,
extra_headers: Optional[Dict[str, str]] = None,
) -> Union[Detail, TeamMember]:
response = self.post(
endpoint=f"teams/{team_id}/team_memberships",
data=CreateTeamMember.to_dict(member),
params=parameters.to_dict() if parameters else {},
extra_headers=extra_headers,
)

Expand Down
44 changes: 22 additions & 22 deletions pygitguardian/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -985,7 +985,7 @@ class Feedback(Base, FromDictMixin):
@dataclass
class SecretIncidentStats(Base, FromDictMixin):
total: int
severity_breakdown: dict[Severity, int]
severity_breakdown: Dict[Severity, int]


@dataclass
Expand Down Expand Up @@ -1165,7 +1165,7 @@ class SearchParameter(ToDictMixin):
@dataclass
class CursorPaginatedResponse(Generic[PaginatedData]):
status_code: int
data: list[PaginatedData]
data: List[PaginatedData]
prev: Optional[str] = None
next: Optional[str] = None

Expand All @@ -1174,7 +1174,7 @@ def from_response(
cls, response: "requests.Response", data_type: Type[PaginatedData]
) -> "CursorPaginatedResponse[PaginatedData]":
data = cast(
list[PaginatedData], data_type.from_dict(response.json(), many=True)
List[PaginatedData], data_type.from_dict(response.json(), many=True)
)
paginated_response = cls(status_code=response.status_code, data=data)

Expand Down Expand Up @@ -1205,7 +1205,7 @@ class MembersParametersSchema(BaseSchema):
ordering = fields.Str(allow_none=True)

@post_load
def return_members_parameters(self, data: dict[str, Any], **kwargs: dict[str, Any]):
def return_members_parameters(self, data: Dict[str, Any], **kwargs: Dict[str, Any]):
return MembersParameters(**data)


Expand Down Expand Up @@ -1239,10 +1239,9 @@ class MemberSchema(BaseSchema):
@post_load
def return_member(
self,
data: list[dict[str, Any]] | dict[str, Any],
**kwargs: dict[str, Any],
data: Dict[str, Any],
**kwargs: Dict[str, Any],
):
data = cast(dict[str, Any], data)
return Member(**data)


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

@post_dump
def access_level_value(
self, data: dict[str, Any], **kwargs: dict[str, Any]
) -> dict[str, Any]:
self, data: Dict[str, Any], **kwargs: Dict[str, Any]
) -> Dict[str, Any]:
if "access_level" in data:
data["access_level"] = AccessLevel(data["access_level"]).value
return data
Expand Down Expand Up @@ -1290,13 +1289,14 @@ class DeleteMember(Base, FromDictMixin):
DeleteMember.SCHEMA = DeleteMemberSchema()


class TeamsParameter(PaginationParameter, SearchParameter, ToDictMixin):
@dataclass
class TeamsParameter(PaginationParameter, SearchParameter, FromDictMixin, ToDictMixin):
is_global: Optional[bool] = None


TeamsParameterSchema = cast(
Type[BaseSchema],
marshmallow_dataclass.class_schema(DeleteMember, base_schema=BaseSchema),
marshmallow_dataclass.class_schema(TeamsParameter, base_schema=BaseSchema),
)
TeamsParameter.SCHEMA = TeamsParameterSchema()

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


@dataclass
class TeamInvitationParameterSchema(BaseSchema):
invitation_id = fields.Int(allow_none=True)
is_team_leader = fields.Bool(allow_none=True)
Expand Down Expand Up @@ -1404,8 +1403,8 @@ class TeamInvitationSchema(BaseSchema):
@post_load
def return_member(
self,
data: dict[str, Any],
**kwargs: dict[str, Any],
data: Dict[str, Any],
**kwargs: Dict[str, Any],
):
return TeamInvitation(**data)

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

@post_load
def return_team_invitation(self, data: dict[str, Any], **kwargs: dict[str, Any]):
def return_team_invitation(self, data: Dict[str, Any], **kwargs: Dict[str, Any]):
return CreateTeamInvitation(**data)

class Meta:
Expand All @@ -1438,6 +1437,7 @@ class Meta:
CreateTeamInvitation.SCHEMA = CreateTeamInvitationSchema()


@dataclass
class TeamMemberParameter(PaginationParameter, SearchParameter, ToDictMixin):
is_team_leader: Optional[bool] = None
incident_permission: Optional[IncidentPermission] = None
Expand All @@ -1453,7 +1453,7 @@ class TeamMembershipParameterSchema(BaseSchema):

@post_load
def return_team_membership_parameter(
self, data: dict[str, Any], **kwargs: dict[str, Any]
self, data: Dict[str, Any], **kwargs: Dict[str, Any]
):
return TeamMemberParameter(**data)

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

@post_load
def return_team_membership(self, data: dict[str, Any], **kwargs: dict[str, Any]):
def return_team_membership(self, data: Dict[str, Any], **kwargs: Dict[str, Any]):
return TeamMember(**data)


Expand Down Expand Up @@ -1520,7 +1520,7 @@ class CreateTeamMemberSchema(BaseSchema):

@post_load
def return_create_team_membership(
self, data: dict[str, Any], **kwargs: dict[str, Any]
self, data: Dict[str, Any], **kwargs: Dict[str, Any]
):
return CreateTeamMember(**data)

Expand Down Expand Up @@ -1549,8 +1549,8 @@ class TeamSourceParameters(PaginationParameter, SearchParameter, ToDictMixin):
@dataclass
class UpdateTeamSource(Base, FromDictMixin):
team_id: int
sources_to_add: list[int]
sources_to_remove: list[int]
sources_to_add: List[int]
sources_to_remove: List[int]


UpdateTeamSourceSchema = cast(
Expand Down Expand Up @@ -1595,7 +1595,7 @@ class InvitationSchema(BaseSchema):
date = fields.DateTime(required=True)

@post_load
def return_invitation(self, data: dict[str, Any], **kwargs: dict[str, Any]):
def return_invitation(self, data: Dict[str, Any], **kwargs: Dict[str, Any]):
return Invitation(**data)


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

@post_load
def return_invitation(self, data: dict[str, Any], **kwargs: dict[str, Any]):
def return_invitation(self, data: Dict[str, Any], **kwargs: Dict[str, Any]):
return CreateInvitation(**data)


Expand Down
16 changes: 6 additions & 10 deletions tests/cassettes/test_add_team_sources.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ interactions:
Cross-Origin-Opener-Policy:
- same-origin
Date:
- Fri, 06 Dec 2024 12:46:14 GMT
- Fri, 06 Dec 2024 15:56:34 GMT
Referrer-Policy:
- same-origin
Server:
Expand All @@ -45,7 +45,7 @@ interactions:
X-Frame-Options:
- DENY
X-Request-ID:
- 05e58838d26c922add8312a362dba69c
- 22643c94715fcf85df077d4b68ab6541
X-SCA-Engine-Version:
- 2.2.0
X-Secrets-Engine-Version:
Expand All @@ -54,22 +54,18 @@ interactions:
code: 204
message: No Content
- request:
body: type=azure_devops
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
Content-Length:
- '17'
Content-Type:
- application/x-www-form-urlencoded
User-Agent:
- pygitguardian/1.18.0 (Darwin;py3.11.8)
method: GET
uri: https://api.gitguardian.com/v1/teams/9/sources
uri: https://api.gitguardian.com/v1/teams/9/sources?type=azure_devops
response:
body:
string: '[{"id":124,"type":"azure_devops","full_name":"gg-integration-test /
Expand All @@ -93,7 +89,7 @@ interactions:
Cross-Origin-Opener-Policy:
- same-origin
Date:
- Fri, 06 Dec 2024 12:46:14 GMT
- Fri, 06 Dec 2024 15:56:34 GMT
Link:
- ''
Referrer-Policy:
Expand All @@ -111,7 +107,7 @@ interactions:
X-Per-Page:
- '20'
X-Request-ID:
- 235112590e3f298f700971bb283acb6c
- 69887de8037bf0eba9dadb62171e5889
X-SCA-Engine-Version:
- 2.2.0
X-Secrets-Engine-Version:
Expand Down
58 changes: 58 additions & 0 deletions tests/cassettes/test_create_team_member_parameters.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
interactions:
- request:
body: '{"member_id": 12, "is_team_leader": false, "incident_permission": "can_view"}'
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
Content-Length:
- '77'
Content-Type:
- application/json
User-Agent:
- pygitguardian/1.18.0 (Darwin;py3.11.8)
method: POST
uri: https://api.gitguardian.com/v1/teams/9/team_memberships?send_email=False
response:
body:
string: '{"id":11,"team_id":9,"member_id":12,"is_team_leader":false,"team_permission":"cannot_manage","incident_permission":"can_view"}'
headers:
Access-Control-Expose-Headers:
- X-App-Version
Allow:
- GET, POST, HEAD, OPTIONS
Connection:
- keep-alive
Content-Length:
- '126'
Content-Type:
- application/json
Cross-Origin-Opener-Policy:
- same-origin
Date:
- Fri, 06 Dec 2024 14:37:57 GMT
Referrer-Policy:
- same-origin
Server:
- nginx/1.24.0
Vary:
- Cookie
X-App-Version:
- dev
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- DENY
X-Request-ID:
- 9bdfa17e97c34bd4496abfdc27eb8553
X-SCA-Engine-Version:
- 2.2.0
X-Secrets-Engine-Version:
- 2.127.0
status:
code: 201
message: Created
version: 1
16 changes: 6 additions & 10 deletions tests/cassettes/test_delete_team_sources.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ interactions:
Cross-Origin-Opener-Policy:
- same-origin
Date:
- Fri, 06 Dec 2024 12:45:18 GMT
- Fri, 06 Dec 2024 15:53:15 GMT
Referrer-Policy:
- same-origin
Server:
Expand All @@ -45,7 +45,7 @@ interactions:
X-Frame-Options:
- DENY
X-Request-ID:
- a22388028c540a672a7f0b9f9ee63406
- c40c97ffa8505619495c4656de9772e8
X-SCA-Engine-Version:
- 2.2.0
X-Secrets-Engine-Version:
Expand All @@ -54,22 +54,18 @@ interactions:
code: 204
message: No Content
- request:
body: type=azure_devops
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
Content-Length:
- '17'
Content-Type:
- application/x-www-form-urlencoded
User-Agent:
- pygitguardian/1.18.0 (Darwin;py3.11.8)
method: GET
uri: https://api.gitguardian.com/v1/teams/9/sources
uri: https://api.gitguardian.com/v1/teams/9/sources?type=azure_devops
response:
body:
string: '[{"id":124,"type":"azure_devops","full_name":"gg-integration-test /
Expand All @@ -92,7 +88,7 @@ interactions:
Cross-Origin-Opener-Policy:
- same-origin
Date:
- Fri, 06 Dec 2024 12:45:18 GMT
- Fri, 06 Dec 2024 15:53:15 GMT
Link:
- ''
Referrer-Policy:
Expand All @@ -110,7 +106,7 @@ interactions:
X-Per-Page:
- '20'
X-Request-ID:
- b1645bd71d969137f339bf4f8adcad6e
- fdcab3ffe17d5cc19ce6471a37f3ac25
X-SCA-Engine-Version:
- 2.2.0
X-Secrets-Engine-Version:
Expand Down
Loading

0 comments on commit b5f7f6b

Please sign in to comment.