@@ -3,6 +3,7 @@ package models
33
44import (
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+
350358func 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
380396func TestAvailableVMName (t * testing.T ) {
@@ -406,8 +422,8 @@ func TestAvailableVMName(t *testing.T) {
406422 require .Equal (t , true , valid )
407423
408424 })
409-
410425}
426+
411427func 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+
627639func 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+
660675func 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+
707728func 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+
747770func 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 )
0 commit comments