mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-10-06 07:36:37 +08:00
fix(cloudflare): clean up pointing member when zone domain is deleted
This commit is contained in:
@@ -22,7 +22,7 @@ func setupZoneDB(t *testing.T) context.Context {
|
||||
t.Helper()
|
||||
conn, err := gorm.Open(sqlite.Open(":memory:"), &gorm.Config{DisableForeignKeyConstraintWhenMigrating: true})
|
||||
require.NoError(t, err)
|
||||
require.NoError(t, conn.AutoMigrate(&model.Zone{}, &model.ZoneDomain{}, &model.TLSCertificate{}))
|
||||
require.NoError(t, conn.AutoMigrate(&model.Zone{}, &model.ZoneDomain{}, &model.TLSCertificate{}, &model.CFPointingGroup{}, &model.CFPointingMember{}))
|
||||
db.SetDB(conn)
|
||||
t.Cleanup(func() { db.SetDB(nil) })
|
||||
return context.Background()
|
||||
@@ -54,6 +54,22 @@ func TestDeleteDomainRejectsBoundRoute(t *testing.T) {
|
||||
require.NoError(t, DeleteDomain(ctx, zone.ID, item.ID))
|
||||
}
|
||||
|
||||
func TestDeleteDomainCleansUpCloudflareMember(t *testing.T) {
|
||||
ctx := setupZoneDB(t)
|
||||
zone, err := Create(ctx, Input{Domain: "example.com"})
|
||||
require.NoError(t, err)
|
||||
domain, err := CreateDomain(ctx, zone.ID, DomainInput{Domain: "api.example.com"})
|
||||
require.NoError(t, err)
|
||||
|
||||
member := model.CFPointingMember{GroupID: 1, ZoneDomainID: domain.ID}
|
||||
require.NoError(t, repository.CreateCFPointingMember(ctx, &member))
|
||||
|
||||
require.NoError(t, DeleteDomain(ctx, zone.ID, domain.ID))
|
||||
|
||||
_, err = repository.GetCFPointingMemberByZoneDomainID(ctx, domain.ID)
|
||||
require.Error(t, err)
|
||||
}
|
||||
|
||||
func TestLegacyImportUsesEffectiveTLDPlusOne(t *testing.T) {
|
||||
root, err := zoneRoot("api.example.co.uk")
|
||||
require.NoError(t, err)
|
||||
|
||||
Reference in New Issue
Block a user