github.com/xzzpig/headscale-manager@v1.3.3/service/service_test.go (about) 1 package service_test 2 3 import ( 4 "context" 5 "encoding/json" 6 "os" 7 "testing" 8 9 "github.com/xzzpig/headscale-manager/api/headscale" 10 "github.com/xzzpig/headscale-manager/config" 11 "github.com/xzzpig/headscale-manager/db" 12 "github.com/xzzpig/headscale-manager/graph/model" 13 mycontext "github.com/xzzpig/headscale-manager/server/context" 14 "github.com/xzzpig/headscale-manager/service" 15 "github.com/xzzpig/headscale-manager/service/loader" 16 "github.com/xzzpig/headscale-manager/util" 17 ) 18 19 func TestMain(m *testing.M) { 20 os.Chdir("../") 21 config.SetupEnv() 22 db.Connect() 23 headscale.SetupHeadscaleClient() 24 25 m.Run() 26 } 27 28 func TestProjectSync(t *testing.T) { 29 svc := service.NewProjectService(context.TODO()) 30 result, err := svc.SyncProjectRoute(nil) 31 if err != nil { 32 t.Error(err) 33 } 34 str, err := json.MarshalIndent(result, "", " ") 35 if err != nil { 36 t.Error(err) 37 } 38 t.Log(string(str)) 39 } 40 41 func TestAll(t *testing.T) { 42 ctx := context.TODO() 43 commonService := service.NewCommonService[model.Project](ctx, "project") 44 45 projects, err := commonService.All() 46 if err != nil { 47 t.Error(err) 48 } 49 str, err := json.MarshalIndent(projects, "", " ") 50 if err != nil { 51 t.Error(err) 52 } 53 t.Log(string(str)) 54 } 55 56 func TestLoader(t *testing.T) { 57 l := loader.NewLoaders() 58 ctx := context.WithValue(context.Background(), mycontext.LOADERS_KEY, l) 59 commonService := service.NewCommonService[model.Project](ctx, "project") 60 61 project, err := commonService.ByIDWithLoader(util.Ptr("64267b0e723fd8cdf1199b1a")) 62 if err != nil { 63 t.Error(err) 64 } 65 str, err := json.MarshalIndent(project, "", " ") 66 if err != nil { 67 t.Error(err) 68 } 69 t.Log(string(str)) 70 71 project, err = commonService.ByIDWithLoader(util.Ptr("64267b0e723fd8cdf1199b1b")) 72 if err != nil { 73 t.Error(err) 74 } 75 str, err = json.MarshalIndent(project, "", " ") 76 if err != nil { 77 t.Error(err) 78 } 79 t.Log(string(str)) 80 81 project, err = commonService.ByIDWithLoader(util.Ptr("64267b0e723fd8cdf1199b1a")) 82 if err != nil { 83 t.Error(err) 84 } 85 str, err = json.MarshalIndent(project, "", " ") 86 if err != nil { 87 t.Error(err) 88 } 89 t.Log(string(str)) 90 91 l = loader.NewLoaders() 92 ctx = context.WithValue(context.Background(), mycontext.LOADERS_KEY, l) 93 commonService = service.NewCommonService[model.Project](ctx, "project") 94 95 project, err = commonService.ByIDWithLoader(util.Ptr("64267b0e723fd8cdf1199b1a")) 96 if err != nil { 97 t.Error(err) 98 } 99 str, err = json.MarshalIndent(project, "", " ") 100 if err != nil { 101 t.Error(err) 102 } 103 t.Log(string(str)) 104 105 } 106 107 func TestGenerateACL(t *testing.T) { 108 svc := service.NewHeadscaleService(context.Background()) 109 acl, err := svc.GenerateACL() 110 if err != nil { 111 t.Error(err) 112 } 113 str, err := json.MarshalIndent(acl, "", " ") 114 if err != nil { 115 t.Error(err) 116 } 117 t.Log(string(str)) 118 } 119 120 func TestTriggerUpdate(t *testing.T) { 121 svc := service.NewHeadscaleService(context.Background()) 122 err := svc.TriggerUpdate() 123 if err != nil { 124 t.Error(err) 125 } 126 }