(t *testing.T)
| 19 | } |
| 20 | |
| 21 | func TestReadAndParseConfig(t *testing.T) { |
| 22 | expected := config.Config{ |
| 23 | Debug: true, |
| 24 | AgentTokenSecret: "my-kubernetes-secret", |
| 25 | BuildkiteToken: "my-graphql-enabled-token", |
| 26 | Image: "my.registry.dev/buildkite-agent:latest", |
| 27 | JobTTL: 300 * time.Second, |
| 28 | JobActiveDeadlineSeconds: 21600, |
| 29 | DefaultTerminationGracePeriodSeconds: 80, |
| 30 | JobPrefix: "testkite-", |
| 31 | ImagePullBackOffGracePeriod: 60 * time.Second, |
| 32 | JobCancelCheckerPollInterval: 10 * time.Second, |
| 33 | EmptyJobGracePeriod: 50 * time.Second, |
| 34 | PodPendingTimeout: 15 * time.Minute, |
| 35 | PollInterval: 5 * time.Second, |
| 36 | HTTPTimeout: 1 * time.Minute, |
| 37 | JobCreationConcurrency: 5, |
| 38 | MaxInFlight: 100, |
| 39 | K8sClientRateLimiterQPS: 20, |
| 40 | K8sClientRateLimiterBurst: 30, |
| 41 | Namespace: "my-buildkite-ns", |
| 42 | Queue: "my-queue", |
| 43 | Tags: []string{"priority=high"}, |
| 44 | PrometheusPort: 9216, |
| 45 | ProhibitKubernetesPlugin: true, |
| 46 | PaginationPageSize: 1000, |
| 47 | PaginationDepthLimit: 5, |
| 48 | QueryResetInterval: 10 * time.Second, |
| 49 | DefaultImagePullPolicy: "Never", |
| 50 | DefaultImageCheckPullPolicy: "IfNotPresent", |
| 51 | EnableQueuePause: true, |
| 52 | EnableCompletionWatcher: true, |
| 53 | WorkQueueLimit: 2_000_000, |
| 54 | ImageCheckContainerCPULimit: "201m", |
| 55 | ImageCheckContainerMemoryLimit: "129Mi", |
| 56 | LogFormat: "logfmt", |
| 57 | LogLevel: "info", |
| 58 | NoColor: false, |
| 59 | |
| 60 | ResourceClasses: map[string]*config.ResourceClass{ |
| 61 | "small": { |
| 62 | Resource: &corev1.ResourceRequirements{ |
| 63 | Requests: corev1.ResourceList{ |
| 64 | "cpu": resource.MustParse("500m"), |
| 65 | "memory": resource.MustParse("512Mi"), |
| 66 | "hugepages-2Mi": resource.MustParse("1Mi"), |
| 67 | }, |
| 68 | }, |
| 69 | }, |
| 70 | }, |
| 71 | DefaultResourceClassName: "small", |
| 72 | |
| 73 | WorkspaceVolume: &corev1.Volume{ |
| 74 | Name: "workspace-2-the-reckoning", |
| 75 | VolumeSource: corev1.VolumeSource{ |
| 76 | Ephemeral: &corev1.EphemeralVolumeSource{ |
| 77 | VolumeClaimTemplate: &corev1.PersistentVolumeClaimTemplate{ |
| 78 | Spec: corev1.PersistentVolumeClaimSpec{ |
nothing calls this directly
no test coverage detected