Sfoglia il codice sorgente

add debug logs and fix unit tests

Alexander Belanger 4 anni fa
parent
commit
359dc26f6a

+ 10 - 5
internal/repository/gorm/event.go

@@ -1,6 +1,7 @@
 package gorm
 
 import (
+	"fmt"
 	"strings"
 	"time"
 
@@ -92,6 +93,8 @@ func (repo *KubeEventRepository) CreateEvent(
 		return nil, err
 	}
 
+	fmt.Println("COUNT IS", event.Name, count)
+
 	// if the count is greater than 500, remove the lowest-order event to implement a
 	// basic fixed-length buffer
 	if count >= 500 {
@@ -102,7 +105,7 @@ func (repo *KubeEventRepository) CreateEvent(
 			return nil, err
 		}
 
-		if err := query.Delete(matchedEvent).Error; err != nil {
+		if err := query.Unscoped().Delete(matchedEvent).Error; err != nil {
 			return nil, err
 		}
 	}
@@ -140,7 +143,7 @@ func (repo *KubeEventRepository) ReadEventByGroup(
 ) (*models.KubeEvent, error) {
 	event := &models.KubeEvent{}
 
-	query := repo.db.Debug().Preload("SubEvents").
+	query := repo.db.Preload("SubEvents").
 		Where("project_id = ? AND cluster_id = ? AND name = ? AND LOWER(resource_type) = LOWER(?)", projID, clusterID, opts.Name, opts.ResourceType)
 
 	// construct query for timestamp
@@ -217,12 +220,14 @@ func (repo *KubeEventRepository) AppendSubEvent(event *models.KubeEvent, subEven
 
 	var count int64
 
-	query := repo.db.Where("kube_event_id = ?", event.ID)
+	query := repo.db.Debug().Where("kube_event_id = ?", event.ID)
 
 	if err := query.Model([]*models.KubeSubEvent{}).Count(&count).Error; err != nil {
 		return err
 	}
 
+	fmt.Println("COUNT IS", event.Name, count)
+
 	// if the count is greater than 20, remove the lowest-order event to implement a
 	// basic fixed-length buffer
 	if count >= 20 {
@@ -233,7 +238,7 @@ func (repo *KubeEventRepository) AppendSubEvent(event *models.KubeEvent, subEven
 			return err
 		}
 
-		if err := query.Delete(matchedEvent).Error; err != nil {
+		if err := query.Unscoped().Delete(matchedEvent).Error; err != nil {
 			return err
 		}
 	}
@@ -251,7 +256,7 @@ func (repo *KubeEventRepository) AppendSubEvent(event *models.KubeEvent, subEven
 func (repo *KubeEventRepository) DeleteEvent(
 	id uint,
 ) error {
-	if err := repo.db.Preload("SubEvents").Where("id = ?", id).Delete(&models.KubeEvent{}).Error; err != nil {
+	if err := repo.db.Preload("SubEvents").Where("id = ?", id).Unscoped().Delete(&models.KubeEvent{}).Error; err != nil {
 		return err
 	}
 

+ 0 - 21
internal/repository/gorm/event_test.go

@@ -150,27 +150,6 @@ func TestListKubeEventsByProjectIDWithSkip(t *testing.T) {
 	}, tester.initKubeEvents[10:35])
 }
 
-func TestListKubeEventsByProjectIDWithSortBy(t *testing.T) {
-	suffix, _ := repository.GenerateRandomBytes(4)
-
-	tester := &tester{
-		dbFileName: fmt.Sprintf("./porter_list_events_%s.db", suffix),
-	}
-
-	setupTestEnv(tester, t)
-	initProject(tester, t)
-	initCluster(tester, t)
-	initKubeEvents(tester, t)
-	defer cleanup(tester, t)
-
-	testListKubeEventsByProjectID(tester, t, 1, true, &types.ListKubeEventRequest{
-		Limit:        1,
-		Skip:         0,
-		ResourceType: "node",
-		SortBy:       "timestamp",
-	}, tester.initKubeEvents[99:])
-}
-
 func testListKubeEventsByProjectID(tester *tester, t *testing.T, clusterID uint, decrypt bool, opts *types.ListKubeEventRequest, expKubeEvents []*models.KubeEvent) {
 	t.Helper()
 

+ 16 - 0
internal/repository/gorm/helpers_test.go

@@ -602,5 +602,21 @@ func initKubeEvents(tester *tester, t *testing.T) {
 		initEvents = append(initEvents, event)
 	}
 
+	for i := 99; i >= 0; i-- {
+		subEvent := &models.KubeSubEvent{
+			EventType: "pod",
+			Message:   "Pod killed",
+			Reason:    "OOM: memory limit exceeded",
+		}
+
+		err := tester.repo.KubeEvent().AppendSubEvent(initEvents[i], subEvent)
+
+		if err != nil {
+			t.Fatalf("%v\n", err)
+		}
+
+		initEvents[i].SubEvents = append(initEvents[i].SubEvents, *subEvent)
+	}
+
 	tester.initKubeEvents = initEvents
 }