Skip to content

Commit 2ea91ea

Browse files
committed
sort all new data structures and test functions
1 parent b2d48e9 commit 2ea91ea

File tree

4 files changed

+154
-155
lines changed

4 files changed

+154
-155
lines changed

github/event_types.go

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1446,6 +1446,26 @@ type PushEventRepoOwner struct {
14461446
Email *string `json:"email,omitempty"`
14471447
}
14481448

1449+
// RegistryPackageEvent represents activity related to GitHub Packages.
1450+
// The Webhook event name is "registry_package".
1451+
//
1452+
// This event is triggered when a GitHub Package is published or updated.
1453+
//
1454+
// GitHub API docs: https://docs.github.com/en/webhooks/webhook-events-and-payloads#registry_package
1455+
type RegistryPackageEvent struct {
1456+
// Action is the action that was performed.
1457+
// Can be "published" or "updated".
1458+
Action *string `json:"action,omitempty"`
1459+
RegistryPackage *Package `json:"registry_package,omitempty"`
1460+
Repository *Repository `json:"repository,omitempty"`
1461+
Organization *Organization `json:"organization,omitempty"`
1462+
Enterprise *Enterprise `json:"enterprise,omitempty"`
1463+
Sender *User `json:"sender,omitempty"`
1464+
1465+
// The following fields are only populated by Webhook events.
1466+
Installation *Installation `json:"installation,omitempty"`
1467+
}
1468+
14491469
// ReleaseEvent is triggered when a release is published, unpublished, created,
14501470
// edited, deleted, or prereleased.
14511471
// The Webhook event name is "release".
@@ -1467,26 +1487,6 @@ type ReleaseEvent struct {
14671487
Org *Organization `json:"organization,omitempty"`
14681488
}
14691489

1470-
// RegistryPackageEvent represents activity related to GitHub Packages.
1471-
// The Webhook event name is "registry_package".
1472-
//
1473-
// This event is triggered when a GitHub Package is published or updated.
1474-
//
1475-
// GitHub API docs: https://docs.github.com/en/webhooks/webhook-events-and-payloads#registry_package
1476-
type RegistryPackageEvent struct {
1477-
// Action is the action that was performed.
1478-
// Can be "published" or "updated".
1479-
Action *string `json:"action,omitempty"`
1480-
RegistryPackage *Package `json:"registry_package,omitempty"`
1481-
Repository *Repository `json:"repository,omitempty"`
1482-
Organization *Organization `json:"organization,omitempty"`
1483-
Enterprise *Enterprise `json:"enterprise,omitempty"`
1484-
Sender *User `json:"sender,omitempty"`
1485-
1486-
// The following fields are only populated by Webhook events.
1487-
Installation *Installation `json:"installation,omitempty"`
1488-
}
1489-
14901490
// RepositoryEvent is triggered when a repository is created, archived, unarchived,
14911491
// renamed, edited, transferred, made public, or made private. Organization hooks are
14921492
// also triggered when a repository is deleted.

github/event_types_test.go

Lines changed: 129 additions & 129 deletions
Original file line numberDiff line numberDiff line change
@@ -8320,135 +8320,6 @@ func TestPackageEvent_Marshal(t *testing.T) {
83208320
testJSONMarshal(t, u, want)
83218321
}
83228322

8323-
func TestRegistryPackageEvent_Marshal(t *testing.T) {
8324-
t.Parallel()
8325-
testJSONMarshal(t, &RegistryPackageEvent{}, "{}")
8326-
8327-
u := &RegistryPackageEvent{
8328-
Action: Ptr("a"),
8329-
RegistryPackage: &Package{
8330-
ID: Ptr(int64(1)),
8331-
Name: Ptr("n"),
8332-
PackageType: Ptr("pt"),
8333-
HTMLURL: Ptr("hurl"),
8334-
CreatedAt: &Timestamp{referenceTime},
8335-
UpdatedAt: &Timestamp{referenceTime},
8336-
Owner: &User{
8337-
Login: Ptr("l"),
8338-
ID: Ptr(int64(1)),
8339-
NodeID: Ptr("n"),
8340-
URL: Ptr("u"),
8341-
ReposURL: Ptr("r"),
8342-
EventsURL: Ptr("e"),
8343-
AvatarURL: Ptr("a"),
8344-
},
8345-
PackageVersion: &PackageVersion{ID: Ptr(int64(1))},
8346-
Registry: &PackageRegistry{Name: Ptr("n")},
8347-
},
8348-
Repository: &Repository{
8349-
ID: Ptr(int64(1)),
8350-
URL: Ptr("s"),
8351-
Name: Ptr("n"),
8352-
},
8353-
Organization: &Organization{
8354-
BillingEmail: Ptr("be"),
8355-
Blog: Ptr("b"),
8356-
Company: Ptr("c"),
8357-
Email: Ptr("e"),
8358-
TwitterUsername: Ptr("tu"),
8359-
Location: Ptr("loc"),
8360-
Name: Ptr("n"),
8361-
Description: Ptr("d"),
8362-
IsVerified: Ptr(true),
8363-
HasOrganizationProjects: Ptr(true),
8364-
HasRepositoryProjects: Ptr(true),
8365-
DefaultRepoPermission: Ptr("drp"),
8366-
MembersCanCreateRepos: Ptr(true),
8367-
MembersCanCreateInternalRepos: Ptr(true),
8368-
MembersCanCreatePrivateRepos: Ptr(true),
8369-
MembersCanCreatePublicRepos: Ptr(false),
8370-
MembersAllowedRepositoryCreationType: Ptr("marct"),
8371-
MembersCanCreatePages: Ptr(true),
8372-
MembersCanCreatePublicPages: Ptr(false),
8373-
MembersCanCreatePrivatePages: Ptr(true),
8374-
},
8375-
Sender: &User{
8376-
Login: Ptr("l"),
8377-
ID: Ptr(int64(1)),
8378-
NodeID: Ptr("n"),
8379-
URL: Ptr("u"),
8380-
ReposURL: Ptr("r"),
8381-
EventsURL: Ptr("e"),
8382-
AvatarURL: Ptr("a"),
8383-
},
8384-
}
8385-
8386-
want := `{
8387-
"action": "a",
8388-
"registry_package": {
8389-
"id": 1,
8390-
"name": "n",
8391-
"package_type": "pt",
8392-
"html_url": "hurl",
8393-
"created_at": ` + referenceTimeStr + `,
8394-
"updated_at": ` + referenceTimeStr + `,
8395-
"owner": {
8396-
"login": "l",
8397-
"id": 1,
8398-
"node_id": "n",
8399-
"avatar_url": "a",
8400-
"url": "u",
8401-
"events_url": "e",
8402-
"repos_url": "r"
8403-
},
8404-
"package_version": {
8405-
"id": 1
8406-
},
8407-
"registry": {
8408-
"name": "n"
8409-
}
8410-
},
8411-
"repository": {
8412-
"id": 1,
8413-
"name": "n",
8414-
"url": "s"
8415-
},
8416-
"organization": {
8417-
"name": "n",
8418-
"company": "c",
8419-
"blog": "b",
8420-
"location": "loc",
8421-
"email": "e",
8422-
"twitter_username": "tu",
8423-
"description": "d",
8424-
"billing_email": "be",
8425-
"is_verified": true,
8426-
"has_organization_projects": true,
8427-
"has_repository_projects": true,
8428-
"default_repository_permission": "drp",
8429-
"members_can_create_repositories": true,
8430-
"members_can_create_public_repositories": false,
8431-
"members_can_create_private_repositories": true,
8432-
"members_can_create_internal_repositories": true,
8433-
"members_allowed_repository_creation_type": "marct",
8434-
"members_can_create_pages": true,
8435-
"members_can_create_public_pages": false,
8436-
"members_can_create_private_pages": true
8437-
},
8438-
"sender": {
8439-
"login": "l",
8440-
"id": 1,
8441-
"node_id": "n",
8442-
"avatar_url": "a",
8443-
"url": "u",
8444-
"events_url": "e",
8445-
"repos_url": "r"
8446-
}
8447-
}`
8448-
8449-
testJSONMarshal(t, u, want)
8450-
}
8451-
84528323
func TestPersonalAccessTokenRequestEvent_Marshal(t *testing.T) {
84538324
t.Parallel()
84548325
testJSONMarshal(t, &PersonalAccessTokenRequestEvent{}, "{}")
@@ -8769,6 +8640,135 @@ func TestPingEvent_Marshal(t *testing.T) {
87698640
testJSONMarshal(t, u, want)
87708641
}
87718642

8643+
func TestRegistryPackageEvent_Marshal(t *testing.T) {
8644+
t.Parallel()
8645+
testJSONMarshal(t, &RegistryPackageEvent{}, "{}")
8646+
8647+
u := &RegistryPackageEvent{
8648+
Action: Ptr("a"),
8649+
RegistryPackage: &Package{
8650+
ID: Ptr(int64(1)),
8651+
Name: Ptr("n"),
8652+
PackageType: Ptr("pt"),
8653+
HTMLURL: Ptr("hurl"),
8654+
CreatedAt: &Timestamp{referenceTime},
8655+
UpdatedAt: &Timestamp{referenceTime},
8656+
Owner: &User{
8657+
Login: Ptr("l"),
8658+
ID: Ptr(int64(1)),
8659+
NodeID: Ptr("n"),
8660+
URL: Ptr("u"),
8661+
ReposURL: Ptr("r"),
8662+
EventsURL: Ptr("e"),
8663+
AvatarURL: Ptr("a"),
8664+
},
8665+
PackageVersion: &PackageVersion{ID: Ptr(int64(1))},
8666+
Registry: &PackageRegistry{Name: Ptr("n")},
8667+
},
8668+
Repository: &Repository{
8669+
ID: Ptr(int64(1)),
8670+
URL: Ptr("s"),
8671+
Name: Ptr("n"),
8672+
},
8673+
Organization: &Organization{
8674+
BillingEmail: Ptr("be"),
8675+
Blog: Ptr("b"),
8676+
Company: Ptr("c"),
8677+
Email: Ptr("e"),
8678+
TwitterUsername: Ptr("tu"),
8679+
Location: Ptr("loc"),
8680+
Name: Ptr("n"),
8681+
Description: Ptr("d"),
8682+
IsVerified: Ptr(true),
8683+
HasOrganizationProjects: Ptr(true),
8684+
HasRepositoryProjects: Ptr(true),
8685+
DefaultRepoPermission: Ptr("drp"),
8686+
MembersCanCreateRepos: Ptr(true),
8687+
MembersCanCreateInternalRepos: Ptr(true),
8688+
MembersCanCreatePrivateRepos: Ptr(true),
8689+
MembersCanCreatePublicRepos: Ptr(false),
8690+
MembersAllowedRepositoryCreationType: Ptr("marct"),
8691+
MembersCanCreatePages: Ptr(true),
8692+
MembersCanCreatePublicPages: Ptr(false),
8693+
MembersCanCreatePrivatePages: Ptr(true),
8694+
},
8695+
Sender: &User{
8696+
Login: Ptr("l"),
8697+
ID: Ptr(int64(1)),
8698+
NodeID: Ptr("n"),
8699+
URL: Ptr("u"),
8700+
ReposURL: Ptr("r"),
8701+
EventsURL: Ptr("e"),
8702+
AvatarURL: Ptr("a"),
8703+
},
8704+
}
8705+
8706+
want := `{
8707+
"action": "a",
8708+
"registry_package": {
8709+
"id": 1,
8710+
"name": "n",
8711+
"package_type": "pt",
8712+
"html_url": "hurl",
8713+
"created_at": ` + referenceTimeStr + `,
8714+
"updated_at": ` + referenceTimeStr + `,
8715+
"owner": {
8716+
"login": "l",
8717+
"id": 1,
8718+
"node_id": "n",
8719+
"avatar_url": "a",
8720+
"url": "u",
8721+
"events_url": "e",
8722+
"repos_url": "r"
8723+
},
8724+
"package_version": {
8725+
"id": 1
8726+
},
8727+
"registry": {
8728+
"name": "n"
8729+
}
8730+
},
8731+
"repository": {
8732+
"id": 1,
8733+
"name": "n",
8734+
"url": "s"
8735+
},
8736+
"organization": {
8737+
"name": "n",
8738+
"company": "c",
8739+
"blog": "b",
8740+
"location": "loc",
8741+
"email": "e",
8742+
"twitter_username": "tu",
8743+
"description": "d",
8744+
"billing_email": "be",
8745+
"is_verified": true,
8746+
"has_organization_projects": true,
8747+
"has_repository_projects": true,
8748+
"default_repository_permission": "drp",
8749+
"members_can_create_repositories": true,
8750+
"members_can_create_public_repositories": false,
8751+
"members_can_create_private_repositories": true,
8752+
"members_can_create_internal_repositories": true,
8753+
"members_allowed_repository_creation_type": "marct",
8754+
"members_can_create_pages": true,
8755+
"members_can_create_public_pages": false,
8756+
"members_can_create_private_pages": true
8757+
},
8758+
"sender": {
8759+
"login": "l",
8760+
"id": 1,
8761+
"node_id": "n",
8762+
"avatar_url": "a",
8763+
"url": "u",
8764+
"events_url": "e",
8765+
"repos_url": "r"
8766+
}
8767+
}`
8768+
8769+
testJSONMarshal(t, u, want)
8770+
}
8771+
87728772
func TestRepositoryDispatchEvent_Marshal(t *testing.T) {
87738773
t.Parallel()
87748774
testJSONMarshal(t, &RepositoryDispatchEvent{}, "{}")

github/messages_test.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -459,6 +459,10 @@ func TestParseWebHook(t *testing.T) {
459459
payload: &PushEvent{},
460460
messageType: "push",
461461
},
462+
{
463+
payload: &RegistryPackageEvent{},
464+
messageType: "registry_package",
465+
},
462466
{
463467
payload: &ReleaseEvent{},
464468
messageType: "release",
@@ -539,11 +543,6 @@ func TestParseWebHook(t *testing.T) {
539543
payload: &WorkflowRunEvent{},
540544
messageType: "workflow_run",
541545
},
542-
543-
{
544-
payload: &RegistryPackageEvent{},
545-
messageType: "registry_package",
546-
},
547546
}
548547

549548
for _, test := range tests {

github/repos_hooks_deliveries_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,8 +183,8 @@ var hookDeliveryPayloadTypeToStruct = map[string]interface{}{
183183
"pull_request_review_thread": &PullRequestReviewThreadEvent{},
184184
"pull_request_target": &PullRequestTargetEvent{},
185185
"push": &PushEvent{},
186-
"release": &ReleaseEvent{},
187186
"registry_package": &RegistryPackageEvent{},
187+
"release": &ReleaseEvent{},
188188
"repository": &RepositoryEvent{},
189189
"repository_dispatch": &RepositoryDispatchEvent{},
190190
"repository_import": &RepositoryImportEvent{},

0 commit comments

Comments
 (0)