()
| 431 | } |
| 432 | |
| 433 | func (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 | |
| 483 | func (s *MetadataTestSuite) TestGenerateSystemdUnitFileUnknownForgeType() { |
| 484 | entity := s.Fixtures.TestEntity |
nothing calls this directly
no test coverage detected