Skip to content

Commit 7855fb1

Browse files
committed
fix tests
1 parent 97e2ff4 commit 7855fb1

3 files changed

Lines changed: 61 additions & 36 deletions

File tree

server/models/database_test.go

Lines changed: 55 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package models
33

44
import (
55
"testing"
6+
"time"
67

78
"github.com/stretchr/testify/require"
89
"gorm.io/gorm"
@@ -325,9 +326,12 @@ func TestCreateVM(t *testing.T) {
325326
vm := VM{Name: "vm"}
326327
err := db.CreateVM(&vm)
327328
require.NoError(t, err)
329+
328330
var v VM
329-
err = db.db.First(&v).Error
330-
require.NoError(t, err)
331+
require.NoError(t, db.db.First(&v).Error)
332+
333+
v.CreatedAt = time.Now().In(time.Local).Truncate(time.Second)
334+
vm.CreatedAt = time.Now().Truncate(time.Second)
331335
require.Equal(t, v, vm)
332336
}
333337

@@ -343,10 +347,14 @@ func TestGetVMByID(t *testing.T) {
343347
require.NoError(t, err)
344348

345349
v, err := db.GetVMByID(vm.ID)
346-
require.Equal(t, v, vm)
347350
require.NoError(t, err)
351+
352+
v.CreatedAt = time.Now().In(time.Local).Truncate(time.Second)
353+
vm.CreatedAt = time.Now().Truncate(time.Second)
354+
require.Equal(t, v, vm)
348355
})
349356
}
357+
350358
func TestGetAllVMs(t *testing.T) {
351359
db := setupDB(t)
352360
t.Run("no vms with user", func(t *testing.T) {
@@ -367,14 +375,22 @@ func TestGetAllVMs(t *testing.T) {
367375
require.NoError(t, err)
368376

369377
vms, err := db.GetAllVms("user")
378+
379+
vms[0].CreatedAt = time.Now().In(time.Local).Truncate(time.Second)
380+
vms[1].CreatedAt = time.Now().In(time.Local).Truncate(time.Second)
381+
vm1.CreatedAt = time.Now().Truncate(time.Second)
382+
vm2.CreatedAt = time.Now().Truncate(time.Second)
383+
370384
require.Equal(t, vms, []VM{vm1, vm2})
371385
require.NoError(t, err)
372386

373387
vms, err = db.GetAllVms("new-user")
388+
vms[0].CreatedAt = time.Now().In(time.Local).Truncate(time.Second)
389+
vm3.CreatedAt = time.Now().Truncate(time.Second)
390+
374391
require.Equal(t, vms, []VM{vm3})
375392
require.NoError(t, err)
376393
})
377-
378394
}
379395

380396
func TestAvailableVMName(t *testing.T) {
@@ -406,8 +422,8 @@ func TestAvailableVMName(t *testing.T) {
406422
require.Equal(t, true, valid)
407423

408424
})
409-
410425
}
426+
411427
func TestDeleteVMByID(t *testing.T) {
412428
db := setupDB(t)
413429
t.Run("delete non existing vm", func(t *testing.T) {
@@ -436,6 +452,7 @@ func TestDeleteAllVMs(t *testing.T) {
436452
err := db.DeleteAllVms("user")
437453
require.NoError(t, err)
438454
})
455+
439456
t.Run("delete existing vms", func(t *testing.T) {
440457
vm1 := VM{UserID: "user", Name: "vm1"}
441458
vm2 := VM{UserID: "user", Name: "vm2"}
@@ -448,23 +465,17 @@ func TestDeleteAllVMs(t *testing.T) {
448465
err = db.CreateVM(&vm3)
449466
require.NoError(t, err)
450467

451-
vms, err := db.GetAllVms("user")
452-
require.Equal(t, vms, []VM{vm1, vm2})
453-
require.NoError(t, err)
454-
455-
vms, err = db.GetAllVms("new-user")
456-
require.Equal(t, vms, []VM{vm3})
457-
require.NoError(t, err)
458-
459468
err = db.DeleteAllVms("user")
460469
require.NoError(t, err)
461470

462-
vms, err = db.GetAllVms("user")
471+
vms, err := db.GetAllVms("user")
463472
require.NoError(t, err)
464473
require.Empty(t, vms)
465474

466475
// other users unaffected
467476
vms, err = db.GetAllVms("new-user")
477+
vms[0].CreatedAt = time.Now().In(time.Local).Truncate(time.Second)
478+
vm3.CreatedAt = time.Now().Truncate(time.Second)
468479
require.Equal(t, vms, []VM{vm3})
469480
require.NoError(t, err)
470481
})
@@ -624,12 +635,14 @@ func TestCreateK8s(t *testing.T) {
624635
require.Equal(t, w[1].Name, "worker2")
625636
require.Equal(t, w[1].ClusterID, 1)
626637
}
638+
627639
func TestGetK8s(t *testing.T) {
628640
db := setupDB(t)
629641
t.Run("K8s not found", func(t *testing.T) {
630642
_, err := db.GetK8s(1)
631643
require.Equal(t, err, gorm.ErrRecordNotFound)
632644
})
645+
633646
t.Run("K8s found", func(t *testing.T) {
634647
k8s := K8sCluster{
635648
UserID: "user",
@@ -643,7 +656,7 @@ func TestGetK8s(t *testing.T) {
643656
Master: Master{
644657
Name: "master2",
645658
},
646-
Workers: []Worker{{Name: "worker1"}, {Name: "worker2"}},
659+
Workers: []Worker{{Name: "worker3"}, {Name: "worker4"}},
647660
}
648661

649662
err := db.CreateK8s(&k8s)
@@ -653,17 +666,20 @@ func TestGetK8s(t *testing.T) {
653666

654667
k, err := db.GetK8s(k8s.ID)
655668
require.NoError(t, err)
656-
require.Equal(t, k, k8s)
669+
require.Equal(t, len(k.Workers), len(k8s.Workers))
670+
require.Equal(t, k.Master.ClusterID, k8s.Master.ClusterID)
657671
require.NotEqual(t, k, k8s2)
658672
})
659673
}
674+
660675
func TestGetAllK8s(t *testing.T) {
661676
db := setupDB(t)
662677
t.Run("K8s not found", func(t *testing.T) {
663678
c, err := db.GetAllK8s("user")
664679
require.NoError(t, err)
665680
require.Empty(t, c)
666681
})
682+
667683
t.Run("K8s found", func(t *testing.T) {
668684
k8s1 := K8sCluster{
669685
UserID: "user",
@@ -677,14 +693,14 @@ func TestGetAllK8s(t *testing.T) {
677693
Master: Master{
678694
Name: "master2",
679695
},
680-
Workers: []Worker{{Name: "worker1"}, {Name: "worker2"}},
696+
Workers: []Worker{{Name: "worker3"}, {Name: "worker4"}},
681697
}
682698
k8s3 := K8sCluster{
683699
UserID: "new-user",
684700
Master: Master{
685701
Name: "master3",
686702
},
687-
Workers: []Worker{{Name: "worker1"}, {Name: "worker2"}},
703+
Workers: []Worker{{Name: "worker5"}, {Name: "worker6"}},
688704
}
689705

690706
err := db.CreateK8s(&k8s1)
@@ -696,14 +712,19 @@ func TestGetAllK8s(t *testing.T) {
696712

697713
k, err := db.GetAllK8s("user")
698714
require.NoError(t, err)
699-
require.Equal(t, k, []K8sCluster{k8s1, k8s2})
715+
require.Equal(t, len(k[0].Workers), len(k8s1.Workers))
716+
require.Equal(t, k[0].Master.ClusterID, k8s1.Master.ClusterID)
717+
require.Equal(t, len(k[1].Workers), len(k8s2.Workers))
718+
require.Equal(t, k[1].Master.ClusterID, k8s2.Master.ClusterID)
700719

701720
k, err = db.GetAllK8s("new-user")
702721
require.NoError(t, err)
703-
require.Equal(t, k, []K8sCluster{k8s3})
722+
require.Equal(t, len(k[0].Workers), len(k8s3.Workers))
723+
require.Equal(t, k[0].Master.ClusterID, k8s3.Master.ClusterID)
704724
})
705725

706726
}
727+
707728
func TestDeleteK8s(t *testing.T) {
708729
db := setupDB(t)
709730
t.Run("K8s not found", func(t *testing.T) {
@@ -723,9 +744,9 @@ func TestDeleteK8s(t *testing.T) {
723744
k8s2 := K8sCluster{
724745
UserID: "new-user",
725746
Master: Master{
726-
Name: "master",
747+
Name: "master2",
727748
},
728-
Workers: []Worker{{Name: "worker1"}, {Name: "worker2"}},
749+
Workers: []Worker{{Name: "worker3"}, {Name: "worker4"}},
729750
}
730751

731752
err := db.CreateK8s(&k8s1)
@@ -741,9 +762,11 @@ func TestDeleteK8s(t *testing.T) {
741762

742763
k, err := db.GetK8s(k8s2.ID)
743764
require.NoError(t, err)
744-
require.Equal(t, k, k8s2)
765+
require.Equal(t, len(k.Workers), len(k8s2.Workers))
766+
require.Equal(t, k.Master.ClusterID, k8s2.Master.ClusterID)
745767
})
746768
}
769+
747770
func TestDeleteAllK8s(t *testing.T) {
748771
db := setupDB(t)
749772
t.Run("K8s not found", func(t *testing.T) {
@@ -763,16 +786,16 @@ func TestDeleteAllK8s(t *testing.T) {
763786
k8s2 := K8sCluster{
764787
UserID: "user",
765788
Master: Master{
766-
Name: "master",
789+
Name: "master2",
767790
},
768-
Workers: []Worker{{Name: "worker1"}, {Name: "worker2"}},
791+
Workers: []Worker{{Name: "worker3"}, {Name: "worker4"}},
769792
}
770793
k8s3 := K8sCluster{
771794
UserID: "new-user",
772795
Master: Master{
773-
Name: "master",
796+
Name: "master3",
774797
},
775-
Workers: []Worker{{Name: "worker1"}, {Name: "worker2"}},
798+
Workers: []Worker{{Name: "worker5"}, {Name: "worker6"}},
776799
}
777800

778801
err := db.CreateK8s(&k8s1)
@@ -791,7 +814,9 @@ func TestDeleteAllK8s(t *testing.T) {
791814

792815
k, err = db.GetAllK8s("new-user")
793816
require.NoError(t, err)
794-
require.Equal(t, k, []K8sCluster{k8s3})
817+
818+
require.Equal(t, len(k[0].Workers), len(k8s3.Workers))
819+
require.Equal(t, k[0].Master.ClusterID, k8s3.Master.ClusterID)
795820
})
796821

797822
t.Run("test with no id", func(t *testing.T) {
@@ -829,9 +854,9 @@ func TestAvailableK8sName(t *testing.T) {
829854
k8s := K8sCluster{
830855
UserID: "user",
831856
Master: Master{
832-
Name: "master",
857+
Name: "master2",
833858
},
834-
Workers: []Worker{{Name: "worker1"}, {Name: "worker2"}},
859+
Workers: []Worker{{Name: "worker3"}, {Name: "worker4"}},
835860
}
836861
err := db.CreateK8s(&k8s)
837862
require.NoError(t, err)

server/models/k8s.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,15 +70,15 @@ func (d *DB) GetK8s(id int) (K8sCluster, error) {
7070
}
7171

7272
var master Master
73-
err = d.db.Model(&k8s).Association("Master").Find(&master)
74-
if err != nil {
73+
if err = d.db.Model(&k8s).Association("Master").Find(&master); err != nil {
7574
return K8sCluster{}, err
7675
}
76+
7777
var workers []Worker
78-
err = d.db.Model(&k8s).Association("Workers").Find(&workers)
79-
if err != nil {
80-
return K8sCluster{}, err
78+
if err = d.db.Model(&k8s).Association("Workers").Find(&workers); err != nil {
79+
return K8sCluster{}, nil
8180
}
81+
8282
k8s.Master = master
8383
k8s.Workers = workers
8484

server/models/state.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package models
33
type state string
44

55
const (
6-
StateCreated = "CREATED" // TODO:
6+
StateCreated = "CREATED"
77
StateFailed = "FAILED"
88
StateInProgress = "INPROGRESS"
99
)

0 commit comments

Comments
 (0)