Skip to content
This repository was archived by the owner on Jul 12, 2023. It is now read-only.

Commit c728f50

Browse files
authored
Revert "Cleanup e2e API keys that have existed for > 24 hours (#2014)" (#2016)
This reverts commit 94222c0.
1 parent 94222c0 commit c728f50

File tree

6 files changed

+2
-208
lines changed

6 files changed

+2
-208
lines changed

pkg/controller/cleanup/handle_cleanup.go

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -57,23 +57,10 @@ func (c *Controller) HandleCleanup() http.Handler {
5757
defer enobs.RecordLatency(ctx, time.Now(), mLatencyMs, &result, &item)
5858
item = tag.Upsert(itemTagKey, "API_KEYS")
5959
if count, err := c.db.PurgeAuthorizedApps(c.config.AuthorizedAppMaxAge); err != nil {
60-
merr = multierror.Append(merr, fmt.Errorf("failed to purge api keys: %w", err))
60+
merr = multierror.Append(merr, fmt.Errorf("failed to purge authorized apps: %w", err))
6161
result = enobs.ResultError("FAILED")
6262
} else {
63-
logger.Infow("purged api keys", "count", count)
64-
result = enobs.ResultOK
65-
}
66-
}()
67-
68-
// e2e API keys
69-
func() {
70-
defer enobs.RecordLatency(ctx, time.Now(), mLatencyMs, &result, &item)
71-
item = tag.Upsert(itemTagKey, "E2E_API_KEYS")
72-
if count, err := c.db.PurgeE2EAuthorizedApps(); err != nil {
73-
merr = multierror.Append(merr, fmt.Errorf("failed to purge e2e api keys: %w", err))
74-
result = enobs.ResultError("FAILED")
75-
} else {
76-
logger.Infow("purged e2e api keys", "count", count)
63+
logger.Infow("purged authorized apps", "count", count)
7764
result = enobs.ResultOK
7865
}
7966
}()

pkg/controller/cleanup/handle_cleanup_test.go

Lines changed: 0 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -87,41 +87,6 @@ func TestHandleCleanup(t *testing.T) {
8787
}
8888
})
8989

90-
t.Run("e2e_api_keys", func(t *testing.T) {
91-
t.Parallel()
92-
93-
db, _ := testDatabaseInstance.NewDatabase(t, nil)
94-
95-
realm := database.NewRealmWithDefaults("e2e-test-realm")
96-
realm.RegionCode = "E2E-TEST"
97-
if err := db.SaveRealm(realm, database.SystemTest); err != nil {
98-
t.Fatal(err)
99-
}
100-
101-
c := New(config, db, keyManagerSigner, h)
102-
103-
authApp := &database.AuthorizedApp{
104-
Name: "e2e-test-admin",
105-
Model: gorm.Model{
106-
CreatedAt: time.Now().UTC().Add(-25 * time.Hour),
107-
},
108-
}
109-
if _, err := realm.CreateAuthorizedApp(db, authApp, database.SystemTest); err != nil {
110-
t.Fatal(err)
111-
}
112-
113-
w, r := envstest.BuildJSONRequest(ctx, t, http.MethodGet, "/", nil)
114-
c.HandleCleanup().ServeHTTP(w, r)
115-
116-
apps, _, err := realm.ListAuthorizedApps(db, nil)
117-
if err != nil {
118-
t.Fatal(err)
119-
}
120-
if got, want := len(apps), 0; got != want {
121-
t.Errorf("got %d apps, expected %d", got, want)
122-
}
123-
})
124-
12590
t.Run("verification_codes", func(t *testing.T) {
12691
t.Parallel()
12792

pkg/database/authorized_app.go

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -474,24 +474,3 @@ func (db *Database) PurgeAuthorizedApps(maxAge time.Duration) (int64, error) {
474474
Delete(&AuthorizedApp{})
475475
return result.RowsAffected, result.Error
476476
}
477-
478-
// PurgeE2EAuthorizedApps purges any API keys for the e2e-runner that have
479-
// existed for more than 24 hours. In cases where the e2e-runner fails, it can
480-
// leave behind API keys that are never deleted.
481-
func (db *Database) PurgeE2EAuthorizedApps() (int64, error) {
482-
deleteBefore := time.Now().UTC().Add(-24 * time.Hour)
483-
484-
realm, err := db.E2ERealm()
485-
if err != nil {
486-
if IsNotFound(err) {
487-
return 0, nil
488-
}
489-
return 0, fmt.Errorf("failed to lookup e2e realm: %w", err)
490-
}
491-
492-
result := db.db.
493-
Unscoped().
494-
Where("realm_id = ? AND created_at < ?", realm.ID, deleteBefore).
495-
Delete(&AuthorizedApp{})
496-
return result.RowsAffected, result.Error
497-
}

pkg/database/authorized_app_test.go

Lines changed: 0 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -321,53 +321,6 @@ func TestDatabase_PurgeAuthorizedApps(t *testing.T) {
321321
}
322322
}
323323

324-
func TestDatabase_PurgeE2EAuthorizedApps(t *testing.T) {
325-
t.Parallel()
326-
327-
db, _ := testDatabaseInstance.NewDatabase(t, nil)
328-
329-
// No realm
330-
{
331-
n, err := db.PurgeE2EAuthorizedApps()
332-
if err != nil {
333-
t.Fatal(err)
334-
}
335-
if got, want := n, int64(0); got != want {
336-
t.Errorf("expected %d to purge, got %d", want, got)
337-
}
338-
}
339-
340-
realm := NewRealmWithDefaults("e2e-test-realm")
341-
realm.RegionCode = "E2E-TEST"
342-
if err := db.SaveRealm(realm, SystemTest); err != nil {
343-
t.Fatal(err)
344-
}
345-
346-
for i := 0; i < 5; i++ {
347-
if err := db.SaveAuthorizedApp(&AuthorizedApp{
348-
RealmID: realm.ID,
349-
Name: fmt.Sprintf("e2e-test-%d", i),
350-
APIKey: fmt.Sprintf("%d", i),
351-
Model: gorm.Model{
352-
CreatedAt: time.Now().UTC().Add(-25 * time.Hour),
353-
},
354-
}, SystemTest); err != nil {
355-
t.Fatal(err)
356-
}
357-
}
358-
359-
// Purges entries.
360-
{
361-
n, err := db.PurgeE2EAuthorizedApps()
362-
if err != nil {
363-
t.Fatal(err)
364-
}
365-
if got, want := n, int64(5); got != want {
366-
t.Errorf("expected %d to purge, got %d", want, got)
367-
}
368-
}
369-
}
370-
371324
func TestAuthorizedApp_Audits(t *testing.T) {
372325
t.Parallel()
373326

pkg/database/realm.go

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -306,24 +306,6 @@ func NewRealmWithDefaults(name string) *Realm {
306306
}
307307
}
308308

309-
// E2ERealm gets the end-to-end realm. The end-to-end realm is defined as the
310-
// realm that has a region_code beginning with E2E-* or a name beginning with
311-
// e2e-test-*.
312-
//
313-
// If no e2e realm is defined, it returns NotFound.
314-
func (db *Database) E2ERealm() (*Realm, error) {
315-
var realm Realm
316-
if err := db.db.
317-
Model(&Realm{}).
318-
Where("region_code ILIKE 'E2E-%' OR name ILIKE 'e2e-test-%'").
319-
Order("created_at ASC").
320-
First(&realm).
321-
Error; err != nil {
322-
return nil, fmt.Errorf("failed to find e2e realm: %w", err)
323-
}
324-
return &realm, nil
325-
}
326-
327309
// AllowsUserReport returns true if this realm has enabled user initiated
328310
// test reporting.
329311
func (r *Realm) AllowsUserReport() bool {

pkg/database/realm_test.go

Lines changed: 0 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -393,78 +393,6 @@ func TestRealm_BeforeSave(t *testing.T) {
393393
}
394394
}
395395

396-
func TestDatabase_E2ERealm(t *testing.T) {
397-
t.Parallel()
398-
399-
t.Run("none", func(t *testing.T) {
400-
t.Parallel()
401-
402-
db, _ := testDatabaseInstance.NewDatabase(t, nil)
403-
404-
if _, err := db.E2ERealm(); !IsNotFound(err) {
405-
t.Errorf("expected not found, got %#v", err)
406-
}
407-
})
408-
409-
t.Run("none_matching", func(t *testing.T) {
410-
t.Parallel()
411-
412-
db, _ := testDatabaseInstance.NewDatabase(t, nil)
413-
414-
realm := NewRealmWithDefaults("not-the-e2e-realm")
415-
realm.RegionCode = "NOT-E2E"
416-
if err := db.SaveRealm(realm, SystemTest); err != nil {
417-
t.Fatal(err)
418-
}
419-
420-
if _, err := db.E2ERealm(); !IsNotFound(err) {
421-
t.Errorf("expected not found, got %#v", err)
422-
}
423-
})
424-
425-
t.Run("by_region_code", func(t *testing.T) {
426-
t.Parallel()
427-
428-
db, _ := testDatabaseInstance.NewDatabase(t, nil)
429-
430-
realm := NewRealmWithDefaults("apple")
431-
realm.RegionCode = "E2E-TEST"
432-
if err := db.SaveRealm(realm, SystemTest); err != nil {
433-
t.Fatal(err)
434-
}
435-
436-
record, err := db.E2ERealm()
437-
if err != nil {
438-
t.Fatal(err)
439-
}
440-
441-
if record.ID != realm.ID {
442-
t.Errorf("expected %#v to be %#v", record, realm)
443-
}
444-
})
445-
446-
t.Run("by_name", func(t *testing.T) {
447-
t.Parallel()
448-
449-
db, _ := testDatabaseInstance.NewDatabase(t, nil)
450-
451-
realm := NewRealmWithDefaults("e2e-test-realm")
452-
realm.RegionCode = "TEST"
453-
if err := db.SaveRealm(realm, SystemTest); err != nil {
454-
t.Fatal(err)
455-
}
456-
457-
record, err := db.E2ERealm()
458-
if err != nil {
459-
t.Fatal(err)
460-
}
461-
462-
if record.ID != realm.ID {
463-
t.Errorf("expected %#v to be %#v", record, realm)
464-
}
465-
})
466-
}
467-
468396
func TestRealm_BuildSMSText(t *testing.T) {
469397
t.Parallel()
470398

0 commit comments

Comments
 (0)