MCPcopy Create free account
hub / github.com/cloudbase/garm / TestGenerateSystemdUnitFile

Method TestGenerateSystemdUnitFile

runner/metadata_test.go:433–481  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

431}
432
433func (s *MetadataTestSuite) TestGenerateSystemdUnitFile() {
434 tests := []struct {
435 name string
436 runAsUser string
437 forgeType params.EndpointType
438 expectedTemplate string
439 }{
440 {
441 name: "GitHub with custom user",
442 runAsUser: "custom-user",
443 forgeType: params.GithubEndpointType,
444 expectedTemplate: "GitHub Actions Runner",
445 },
446 {
447 name: "GitHub with default user",
448 runAsUser: "",
449 forgeType: params.GithubEndpointType,
450 expectedTemplate: "GitHub Actions Runner",
451 },
452 {
453 name: "Gitea with custom user",
454 runAsUser: "gitea-user",
455 forgeType: params.GiteaEndpointType,
456 expectedTemplate: "Gitea Runner",
457 },
458 }
459
460 for _, tt := range tests {
461 s.Run(tt.name, func() {
462 // Set up entity with specific forge type
463 entity := s.Fixtures.TestEntity
464 entity.Credentials.ForgeType = tt.forgeType
465 ctx := auth.SetInstanceEntity(context.Background(), entity)
466
467 unitFile, err := s.Runner.GenerateSystemdUnitFile(ctx, tt.runAsUser)
468
469 s.Require().Nil(err)
470 s.Require().NotEmpty(unitFile)
471 s.Require().Contains(string(unitFile), tt.expectedTemplate)
472 s.Require().Contains(string(unitFile), "test-org")
473
474 if tt.runAsUser != "" {
475 s.Require().Contains(string(unitFile), tt.runAsUser)
476 } else {
477 s.Require().Contains(string(unitFile), "runner") // default user
478 }
479 })
480 }
481}
482
483func (s *MetadataTestSuite) TestGenerateSystemdUnitFileUnknownForgeType() {
484 entity := s.Fixtures.TestEntity

Callers

nothing calls this directly

Calls 3

SetInstanceEntityFunction · 0.92
RunMethod · 0.45

Tested by

no test coverage detected