Skip to content

Commit 018a13a

Browse files
committed
feat: add tests for webhook resolvers
1 parent 334041d commit 018a13a

24 files changed

+381
-31
lines changed

server/db/providers/arangodb/webhook.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,5 +145,17 @@ func (p *provider) DeleteWebhook(ctx context.Context, webhook *model.Webhook) er
145145
if err != nil {
146146
return err
147147
}
148+
149+
query := fmt.Sprintf("FOR d in %s FILTER d.event_id == @event_id REMOVE { _key: d._key }", models.Collections.WebhookLog)
150+
bindVars := map[string]interface{}{
151+
"event_id": webhook.ID,
152+
}
153+
154+
cursor, err := p.db.Query(ctx, query, bindVars)
155+
if err != nil {
156+
return err
157+
}
158+
defer cursor.Close()
159+
148160
return nil
149161
}

server/db/providers/cassandradb/webhook.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,5 +142,11 @@ func (p *provider) GetWebhookByEventName(ctx context.Context, eventName string)
142142
func (p *provider) DeleteWebhook(ctx context.Context, webhook *model.Webhook) error {
143143
query := fmt.Sprintf("DELETE FROM %s WHERE id = '%s'", KeySpace+"."+models.Collections.Webhook, webhook.ID)
144144
err := p.db.Query(query).Exec()
145+
if err != nil {
146+
return err
147+
}
148+
149+
query = fmt.Sprintf("DELETE FROM %s WHERE webhook_id = '%s'", KeySpace+"."+models.Collections.WebhookLog, webhook.ID)
150+
err = p.db.Query(query).Exec()
145151
return err
146152
}

server/db/providers/mongodb/webhook.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,5 +110,11 @@ func (p *provider) DeleteWebhook(ctx context.Context, webhook *model.Webhook) er
110110
return err
111111
}
112112

113+
webhookLogCollection := p.db.Collection(models.Collections.WebhookLog, options.Collection())
114+
_, err = webhookLogCollection.DeleteOne(nil, bson.M{"webhook_id": webhook.ID}, options.Delete())
115+
if err != nil {
116+
return err
117+
}
118+
113119
return nil
114120
}

server/db/providers/provider_template/webhook.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,5 +44,6 @@ func (p *provider) GetWebhookByEventName(ctx context.Context, eventName string)
4444

4545
// DeleteWebhook to delete webhook
4646
func (p *provider) DeleteWebhook(ctx context.Context, webhook *model.Webhook) error {
47+
// Also delete webhook logs for given webhook id
4748
return nil
4849
}

server/db/providers/sql/webhook.go

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ func (p *provider) ListWebhook(ctx context.Context, pagination model.Pagination)
6969
func (p *provider) GetWebhookByID(ctx context.Context, webhookID string) (*model.Webhook, error) {
7070
var webhook models.Webhook
7171

72-
result := p.db.Where("id = ?", webhookID).First(webhook)
72+
result := p.db.Where("id = ?", webhookID).First(&webhook)
7373
if result.Error != nil {
7474
return nil, result.Error
7575
}
@@ -80,7 +80,7 @@ func (p *provider) GetWebhookByID(ctx context.Context, webhookID string) (*model
8080
func (p *provider) GetWebhookByEventName(ctx context.Context, eventName string) (*model.Webhook, error) {
8181
var webhook models.Webhook
8282

83-
result := p.db.Where("event_name = ?", eventName).First(webhook)
83+
result := p.db.Where("event_name = ?", eventName).First(&webhook)
8484
if result.Error != nil {
8585
return nil, result.Error
8686
}
@@ -89,7 +89,14 @@ func (p *provider) GetWebhookByEventName(ctx context.Context, eventName string)
8989

9090
// DeleteWebhook to delete webhook
9191
func (p *provider) DeleteWebhook(ctx context.Context, webhook *model.Webhook) error {
92-
result := p.db.Delete(&models.Webhook{}, webhook.ID)
92+
result := p.db.Delete(&models.Webhook{
93+
ID: webhook.ID,
94+
})
95+
if result.Error != nil {
96+
return result.Error
97+
}
98+
99+
result = p.db.Where("webhook_id = ?", webhook.ID).Delete(&models.WebhookLog{})
93100
if result.Error != nil {
94101
return result.Error
95102
}

server/graph/generated/generated.go

Lines changed: 7 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

server/graph/model/models_gen.go

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

server/graph/schema.graphqls

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -355,7 +355,7 @@ type TestEndpointResponse {
355355
}
356356

357357
input ListWebhookLogRequest {
358-
pagination: PaginatedInput!
358+
pagination: PaginationInput!
359359
webhook_id: String
360360
}
361361

server/handlers/oauth_callback.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ func OAuthCallbackHandler() gin.HandlerFunc {
219219

220220
go func() {
221221
if isSignUp {
222-
utils.RegisterEvent(ctx, constants.EnvKeyDisableSignUp, provider, user)
222+
utils.RegisterEvent(ctx, constants.UserSignUpWebhookEvent, provider, user)
223223
} else {
224224
utils.RegisterEvent(ctx, constants.UserLoginWebhookEvent, provider, user)
225225
}

server/resolvers/delete_webhook.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,5 +43,7 @@ func DeleteWebhookResolver(ctx context.Context, params model.WebhookRequest) (*m
4343
return nil, err
4444
}
4545

46-
panic(fmt.Errorf("not implemented"))
46+
return &model.Response{
47+
Message: "Webhook deleted successfully",
48+
}, nil
4749
}

0 commit comments

Comments
 (0)