package k8s_config

import (
	"testing"

	"github.com/stretchr/testify/require"
)

const k8sConfig = `
apiVersion: v1
kind: Service
metadata:
  name: datahopper
  labels:
    app: datahopper
  annotations:
    beta.cloud.google.com/backend-config: '{"ports": {"8000":"skia-default-backendconfig"}}'
spec:
  selector:
    app: datahopper
  type: NodePort
  ports:
    - port: 8000
      name: http
    - port: 20000
      name: metrics
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: datahopper
  labels:
    app: datahopper
spec:
  replicas: 1
  selector:
    matchLabels:
      app: datahopper
  strategy:
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: datahopper
    spec:
      securityContext:
        runAsUser: 2000 # aka skia
        fsGroup: 2000   # aka skia
      automountServiceAccountToken: false
      containers:
        - name: datahopper
          image: gcr.io/skia-public/datahopper:2022-06-24T14_25_21Z-borenet-17bb7f4-clean
          command: ["/usr/local/bin/datahopper"]
          args:
            - "--fake-flag"
          ports:
            - containerPort: 8000
            - containerPort: 20000
              name: prom
          resources:
            requests:
              memory: "48Gi"
              cpu: 8
          readinessProbe:
            httpGet:
              path: /healthz
              port: 8000
            initialDelaySeconds: 30
            periodSeconds: 3
---
apiVersion: v1
kind: Namespace
metadata:
  name: skia-autoroll
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: default
  namespace: skia-autoroll
  annotations:
    # Explicitly mapping the Kubernetes Service account to a Google Service Account.
    iam.gke.io/gcp-service-account: "skia-autoroll@skia-public.iam.gserviceaccount.com"
---
# This binding permits to schedule Pods in this namespace using the "restricted" PodSecurityPolicy.
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: restricted-psp-role-binding
  namespace: skia-autoroll
roleRef:
  kind: ClusterRole
  name: can-use-restricted-psp
  apiGroup: rbac.authorization.k8s.io
subjects:
  # Authorize all service accounts in the skia-autoroll namespace to run. This defines a single
  # PodSecurityPolicy for the namespace, and it's much easier to maintain over time.
  - kind: Group
    apiGroup: rbac.authorization.k8s.io
    name: system:serviceaccounts
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: autoroll-be-skia-autoroll
spec:
  serviceName: "autoroll-be-skia-autoroll"
  replicas: 1
  selector:
    matchLabels:
      app: autoroll-be-skia-autoroll
  updateStrategy:
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: autoroll-be-skia-autoroll  # Pod template's label selector
        appgroup: autoroll
        owner-primary: borenet
        owner-secondary: rmistry
    spec:
      automountServiceAccountToken: false
      securityContext:
        runAsUser: 2000 # aka skia
        fsGroup: 2000   # aka skia

      containers:
        - name: autoroll-be-skia-autoroll
          image: gcr.io/skia-public/autoroll-be:2022-06-21T13_56_34Z-borenet-33d442f-clean
          command: ["luci-auth"]
          args:
            - "context"
            - "-service-account-json"
            - "/var/secrets/google/key.json"
            - "--"
            - "/usr/local/bin/autoroll-be"
            - "--config=cm9sbGVyX25hbWU6InNraWEtYXV0b3JvbGwiICBjaGlsZF9idWdfbGluazoiaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL3NraWEvaXNzdWVzL2VudHJ5IiAgY2hpbGRfZGlzcGxheV9uYW1lOiJTa2lhIiAgcGFyZW50X2J1Z19saW5rOiJodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2VudHJ5IiAgcGFyZW50X2Rpc3BsYXlfbmFtZToiQ2hyb21pdW0iICBwYXJlbnRfd2F0ZXJmYWxsOiJodHRwczovL2J1aWxkLmNocm9taXVtLm9yZyIgIG93bmVyX3ByaW1hcnk6ImJvcmVuZXQiICBvd25lcl9zZWNvbmRhcnk6InJtaXN0cnkiICBjb250YWN0czoiYm9yZW5ldEBnb29nbGUuY29tIiAgc2VydmljZV9hY2NvdW50OiJjaHJvbWl1bS1hdXRvcm9sbEBza2lhLXB1YmxpYy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIgIHJldmlld2VyOiJodHRwczovL2Nocm9tZS1vcHMtcm90YXRpb24tcHJveHkuYXBwc3BvdC5jb20vY3VycmVudC9ncm90YXRpb246c2tpYS1nYXJkZW5lciIgIHN1cHBvcnRzX21hbnVhbF9yb2xsczp0cnVlICBjb21taXRfbXNnOntidWdfcHJvamVjdDoiY2hyb21pdW0iICBjaGlsZF9sb2dfdXJsX3RtcGw6Imh0dHBzOi8vc2tpYS5nb29nbGVzb3VyY2UuY29tL3NraWEuZ2l0Lytsb2cve3suUm9sbGluZ0Zyb219fS4ue3suUm9sbGluZ1RvfX0iICBjcV9leHRyYV90cnlib3RzOiJsdWNpLmNocm9taXVtLnRyeTphbmRyb2lkX29wdGlvbmFsX2dwdV90ZXN0c19yZWwiICBjcV9leHRyYV90cnlib3RzOiJsdWNpLmNocm9taXVtLnRyeTpsaW51eC1ibGluay1yZWwiICBjcV9leHRyYV90cnlib3RzOiJsdWNpLmNocm9taXVtLnRyeTpsaW51eC1jaHJvbWVvcy1jb21waWxlLWRiZyIgIGNxX2V4dHJhX3RyeWJvdHM6Imx1Y2kuY2hyb21pdW0udHJ5OmxpbnV4X29wdGlvbmFsX2dwdV90ZXN0c19yZWwiICBjcV9leHRyYV90cnlib3RzOiJsdWNpLmNocm9taXVtLnRyeTptYWNfb3B0aW9uYWxfZ3B1X3Rlc3RzX3JlbCIgIGNxX2V4dHJhX3RyeWJvdHM6Imx1Y2kuY2hyb21pdW0udHJ5Ondpbl9vcHRpb25hbF9ncHVfdGVzdHNfcmVsIiAgY3FfZG9fbm90X2NhbmNlbF90cnlib3RzOnRydWUgIGluY2x1ZGVfbG9nOnRydWUgIGluY2x1ZGVfcmV2aXNpb25fY291bnQ6dHJ1ZSAgaW5jbHVkZV90YnJfbGluZTp0cnVlICBpbmNsdWRlX3Rlc3RzOnRydWUgIGJ1aWx0X2luOkRFRkFVTFR9ICBnZXJyaXQ6e3VybDoiaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbSIgIHByb2plY3Q6ImNocm9taXVtL3NyYyIgIGNvbmZpZzpDSFJPTUlVTV9CT1RfQ09NTUlUfSAga3ViZXJuZXRlczp7Y3B1OiIxIiAgbWVtb3J5OiIyR2kiICByZWFkaW5lc3NfZmFpbHVyZV90aHJlc2hvbGQ6MTAgIHJlYWRpbmVzc19pbml0aWFsX2RlbGF5X3NlY29uZHM6MzAgIHJlYWRpbmVzc19wZXJpb2Rfc2Vjb25kczozMCAgaW1hZ2U6Imdjci5pby9za2lhLXB1YmxpYy9hdXRvcm9sbC1iZToyMDIyLTA2LTIxVDEzXzU2XzM0Wi1ib3JlbmV0LTMzZDQ0MmYtY2xlYW4ifSAgcGFyZW50X2NoaWxkX3JlcG9fbWFuYWdlcjp7Z2l0aWxlc19wYXJlbnQ6e2dpdGlsZXM6e2JyYW5jaDoibWFpbiIgIHJlcG9fdXJsOiJodHRwczovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjLmdpdCJ9ICBkZXA6e3ByaW1hcnk6e2lkOiJodHRwczovL3NraWEuZ29vZ2xlc291cmNlLmNvbS9za2lhLmdpdCIgIHBhdGg6IkRFUFMifX0gIGdlcnJpdDp7dXJsOiJodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tIiAgcHJvamVjdDoiY2hyb21pdW0vc3JjIiAgY29uZmlnOkNIUk9NSVVNX0JPVF9DT01NSVR9fSAgZ2l0aWxlc19jaGlsZDp7Z2l0aWxlczp7YnJhbmNoOiJtYWluIiAgcmVwb191cmw6Imh0dHBzOi8vc2tpYS5nb29nbGVzb3VyY2UuY29tL3NraWEuZ2l0In19fSAgbm90aWZpZXJzOntsb2dfbGV2ZWw6V0FSTklORyAgZW1haWw6e2VtYWlsczoiYm9yZW5ldEBnb29nbGUuY29tIn19"
            - "--firestore_instance=production"
            - "--port=:8000"
            - "--prom_port=:20000"
            - "--recipes_cfg=/usr/local/share/autoroll/recipes.cfg"
            - "--workdir=/tmp"
          ports:
            - containerPort: 8000
            - containerPort: 20000
              name: prom
          volumeMounts:
            - name: autoroll-be-chromium-autoroll-sa
              mountPath: /var/secrets/google
          env:
            - name: GOOGLE_APPLICATION_CREDENTIALS
              value: /var/secrets/google/key.json
            - name: TMPDIR
              value: /tmp
          resources:
            requests:
              memory: "2Gi"
              cpu: 1
          readinessProbe:
            httpGet:
              path: /healthz
              port: 8000
            initialDelaySeconds: 30.000000
            periodSeconds: 30.000000
            failureThreshold: 10.000000
      volumes:
        - name: autoroll-be-chromium-autoroll-sa
          secret:
            secretName: chromium-autoroll
---
apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: comp-ui-gitcron
spec:
  schedule: '0 5 * * *'
  concurrencyPolicy: 'Forbid'
  jobTemplate:
    spec:
      template:
        spec:
          restartPolicy: Never
          serviceAccountName: perf-comp-ui
          securityContext:
            runAsUser: 2000 # aka skia
            fsGroup: 2000 # aka skia
          containers:
            - name: comp-ui-gitcron
              image: gcr.io/skia-public/comp-ui-gitcron:2022-04-08T11_33_16Z-jcgregorio-72d31c9-clean
              env:
                - name: HOME
                  value: /home/skia
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: view-permissions
rules:
  - apiGroups:
      - extensions
    resources:
      - podsecuritypolicies
    verbs: ["get", "list"]
  - apiGroups:
      - rbac.authorization.k8s.io
    resources:
      - roles
      - clusterroles
      - rolebindings
      - clusterrolebindings
    verbs: ["get", "list"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: team-view-all
roleRef:
  kind: ClusterRole
  name: view
  apiGroup: rbac.authorization.k8s.io
subjects:
  - kind: Group
    name: our-team@google.com
    apiGroup: rbac.authorization.k8s.io
---
apiVersion: policy/v1beta1
kind: PodSecurityPolicy
metadata:
  name: my-psp
spec:
  privileged: false
`

func TestParseK8sConfigFile_Success(t *testing.T) {
	k8sConfigs, lineRanges, err := ParseK8sConfigFile([]byte(k8sConfig))
	require.NoError(t, err)

	require.Len(t, k8sConfigs.ClusterRole, 1)
	require.Equal(t, &ByteRange{Start: 7645, End: 8026}, lineRanges[k8sConfigs.ClusterRole[0]])

	require.Len(t, k8sConfigs.ClusterRoleBinding, 1)
	require.Equal(t, &ByteRange{Start: 8029, End: 8304}, lineRanges[k8sConfigs.ClusterRoleBinding[0]])

	require.Len(t, k8sConfigs.CronJob, 1)
	require.Equal(t, "gcr.io/skia-public/comp-ui-gitcron:2022-04-08T11_33_16Z-jcgregorio-72d31c9-clean", k8sConfigs.CronJob[0].Spec.JobTemplate.Spec.Template.Spec.Containers[0].Image)
	require.Equal(t, &ByteRange{Start: 7031, End: 7642}, lineRanges[k8sConfigs.CronJob[0]])

	require.Len(t, k8sConfigs.DaemonSet, 0)

	require.Len(t, k8sConfigs.Deployment, 1)
	require.Equal(t, "gcr.io/skia-public/datahopper:2022-06-24T14_25_21Z-borenet-17bb7f4-clean", k8sConfigs.Deployment[0].Spec.Template.Spec.Containers[0].Image)
	require.Equal(t, &ByteRange{Start: 336, End: 1347}, lineRanges[k8sConfigs.Deployment[0]])

	require.Len(t, k8sConfigs.Namespace, 1)

	require.Len(t, k8sConfigs.PodSecurityPolicy, 1)

	require.Len(t, k8sConfigs.RoleBinding, 1)

	require.Len(t, k8sConfigs.Service, 1)

	require.Len(t, k8sConfigs.ServiceAccount, 1)

	require.Len(t, k8sConfigs.StatefulSet, 1)
	require.Equal(t, "gcr.io/skia-public/autoroll-be:2022-06-21T13_56_34Z-borenet-33d442f-clean", k8sConfigs.StatefulSet[0].Spec.Template.Spec.Containers[0].Image)
}

func TestSplitYAMLDocs(t *testing.T) {
	docs, ranges := SplitYAMLDocs([]byte(k8sConfig))
	require.Equal(t, [][]byte{
		[]byte(`apiVersion: v1
kind: Service
metadata:
  name: datahopper
  labels:
    app: datahopper
  annotations:
    beta.cloud.google.com/backend-config: '{"ports": {"8000":"skia-default-backendconfig"}}'
spec:
  selector:
    app: datahopper
  type: NodePort
  ports:
    - port: 8000
      name: http
    - port: 20000
      name: metrics`),
		[]byte(`apiVersion: apps/v1
kind: Deployment
metadata:
  name: datahopper
  labels:
    app: datahopper
spec:
  replicas: 1
  selector:
    matchLabels:
      app: datahopper
  strategy:
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: datahopper
    spec:
      securityContext:
        runAsUser: 2000 # aka skia
        fsGroup: 2000   # aka skia
      automountServiceAccountToken: false
      containers:
        - name: datahopper
          image: gcr.io/skia-public/datahopper:2022-06-24T14_25_21Z-borenet-17bb7f4-clean
          command: ["/usr/local/bin/datahopper"]
          args:
            - "--fake-flag"
          ports:
            - containerPort: 8000
            - containerPort: 20000
              name: prom
          resources:
            requests:
              memory: "48Gi"
              cpu: 8
          readinessProbe:
            httpGet:
              path: /healthz
              port: 8000
            initialDelaySeconds: 30
            periodSeconds: 3`),
		[]byte(`apiVersion: v1
kind: Namespace
metadata:
  name: skia-autoroll`),
		[]byte(`apiVersion: v1
kind: ServiceAccount
metadata:
  name: default
  namespace: skia-autoroll
  annotations:
    # Explicitly mapping the Kubernetes Service account to a Google Service Account.
    iam.gke.io/gcp-service-account: "skia-autoroll@skia-public.iam.gserviceaccount.com"`),
		[]byte(`# This binding permits to schedule Pods in this namespace using the "restricted" PodSecurityPolicy.
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: restricted-psp-role-binding
  namespace: skia-autoroll
roleRef:
  kind: ClusterRole
  name: can-use-restricted-psp
  apiGroup: rbac.authorization.k8s.io
subjects:
  # Authorize all service accounts in the skia-autoroll namespace to run. This defines a single
  # PodSecurityPolicy for the namespace, and it's much easier to maintain over time.
  - kind: Group
    apiGroup: rbac.authorization.k8s.io
    name: system:serviceaccounts`),
		[]byte(`apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: autoroll-be-skia-autoroll
spec:
  serviceName: "autoroll-be-skia-autoroll"
  replicas: 1
  selector:
    matchLabels:
      app: autoroll-be-skia-autoroll
  updateStrategy:
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: autoroll-be-skia-autoroll  # Pod template's label selector
        appgroup: autoroll
        owner-primary: borenet
        owner-secondary: rmistry
    spec:
      automountServiceAccountToken: false
      securityContext:
        runAsUser: 2000 # aka skia
        fsGroup: 2000   # aka skia

      containers:
        - name: autoroll-be-skia-autoroll
          image: gcr.io/skia-public/autoroll-be:2022-06-21T13_56_34Z-borenet-33d442f-clean
          command: ["luci-auth"]
          args:
            - "context"
            - "-service-account-json"
            - "/var/secrets/google/key.json"
            - "--"
            - "/usr/local/bin/autoroll-be"
            - "--config=cm9sbGVyX25hbWU6InNraWEtYXV0b3JvbGwiICBjaGlsZF9idWdfbGluazoiaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL3NraWEvaXNzdWVzL2VudHJ5IiAgY2hpbGRfZGlzcGxheV9uYW1lOiJTa2lhIiAgcGFyZW50X2J1Z19saW5rOiJodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2VudHJ5IiAgcGFyZW50X2Rpc3BsYXlfbmFtZToiQ2hyb21pdW0iICBwYXJlbnRfd2F0ZXJmYWxsOiJodHRwczovL2J1aWxkLmNocm9taXVtLm9yZyIgIG93bmVyX3ByaW1hcnk6ImJvcmVuZXQiICBvd25lcl9zZWNvbmRhcnk6InJtaXN0cnkiICBjb250YWN0czoiYm9yZW5ldEBnb29nbGUuY29tIiAgc2VydmljZV9hY2NvdW50OiJjaHJvbWl1bS1hdXRvcm9sbEBza2lhLXB1YmxpYy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIgIHJldmlld2VyOiJodHRwczovL2Nocm9tZS1vcHMtcm90YXRpb24tcHJveHkuYXBwc3BvdC5jb20vY3VycmVudC9ncm90YXRpb246c2tpYS1nYXJkZW5lciIgIHN1cHBvcnRzX21hbnVhbF9yb2xsczp0cnVlICBjb21taXRfbXNnOntidWdfcHJvamVjdDoiY2hyb21pdW0iICBjaGlsZF9sb2dfdXJsX3RtcGw6Imh0dHBzOi8vc2tpYS5nb29nbGVzb3VyY2UuY29tL3NraWEuZ2l0Lytsb2cve3suUm9sbGluZ0Zyb219fS4ue3suUm9sbGluZ1RvfX0iICBjcV9leHRyYV90cnlib3RzOiJsdWNpLmNocm9taXVtLnRyeTphbmRyb2lkX29wdGlvbmFsX2dwdV90ZXN0c19yZWwiICBjcV9leHRyYV90cnlib3RzOiJsdWNpLmNocm9taXVtLnRyeTpsaW51eC1ibGluay1yZWwiICBjcV9leHRyYV90cnlib3RzOiJsdWNpLmNocm9taXVtLnRyeTpsaW51eC1jaHJvbWVvcy1jb21waWxlLWRiZyIgIGNxX2V4dHJhX3RyeWJvdHM6Imx1Y2kuY2hyb21pdW0udHJ5OmxpbnV4X29wdGlvbmFsX2dwdV90ZXN0c19yZWwiICBjcV9leHRyYV90cnlib3RzOiJsdWNpLmNocm9taXVtLnRyeTptYWNfb3B0aW9uYWxfZ3B1X3Rlc3RzX3JlbCIgIGNxX2V4dHJhX3RyeWJvdHM6Imx1Y2kuY2hyb21pdW0udHJ5Ondpbl9vcHRpb25hbF9ncHVfdGVzdHNfcmVsIiAgY3FfZG9fbm90X2NhbmNlbF90cnlib3RzOnRydWUgIGluY2x1ZGVfbG9nOnRydWUgIGluY2x1ZGVfcmV2aXNpb25fY291bnQ6dHJ1ZSAgaW5jbHVkZV90YnJfbGluZTp0cnVlICBpbmNsdWRlX3Rlc3RzOnRydWUgIGJ1aWx0X2luOkRFRkFVTFR9ICBnZXJyaXQ6e3VybDoiaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbSIgIHByb2plY3Q6ImNocm9taXVtL3NyYyIgIGNvbmZpZzpDSFJPTUlVTV9CT1RfQ09NTUlUfSAga3ViZXJuZXRlczp7Y3B1OiIxIiAgbWVtb3J5OiIyR2kiICByZWFkaW5lc3NfZmFpbHVyZV90aHJlc2hvbGQ6MTAgIHJlYWRpbmVzc19pbml0aWFsX2RlbGF5X3NlY29uZHM6MzAgIHJlYWRpbmVzc19wZXJpb2Rfc2Vjb25kczozMCAgaW1hZ2U6Imdjci5pby9za2lhLXB1YmxpYy9hdXRvcm9sbC1iZToyMDIyLTA2LTIxVDEzXzU2XzM0Wi1ib3JlbmV0LTMzZDQ0MmYtY2xlYW4ifSAgcGFyZW50X2NoaWxkX3JlcG9fbWFuYWdlcjp7Z2l0aWxlc19wYXJlbnQ6e2dpdGlsZXM6e2JyYW5jaDoibWFpbiIgIHJlcG9fdXJsOiJodHRwczovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjLmdpdCJ9ICBkZXA6e3ByaW1hcnk6e2lkOiJodHRwczovL3NraWEuZ29vZ2xlc291cmNlLmNvbS9za2lhLmdpdCIgIHBhdGg6IkRFUFMifX0gIGdlcnJpdDp7dXJsOiJodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tIiAgcHJvamVjdDoiY2hyb21pdW0vc3JjIiAgY29uZmlnOkNIUk9NSVVNX0JPVF9DT01NSVR9fSAgZ2l0aWxlc19jaGlsZDp7Z2l0aWxlczp7YnJhbmNoOiJtYWluIiAgcmVwb191cmw6Imh0dHBzOi8vc2tpYS5nb29nbGVzb3VyY2UuY29tL3NraWEuZ2l0In19fSAgbm90aWZpZXJzOntsb2dfbGV2ZWw6V0FSTklORyAgZW1haWw6e2VtYWlsczoiYm9yZW5ldEBnb29nbGUuY29tIn19"
            - "--firestore_instance=production"
            - "--port=:8000"
            - "--prom_port=:20000"
            - "--recipes_cfg=/usr/local/share/autoroll/recipes.cfg"
            - "--workdir=/tmp"
          ports:
            - containerPort: 8000
            - containerPort: 20000
              name: prom
          volumeMounts:
            - name: autoroll-be-chromium-autoroll-sa
              mountPath: /var/secrets/google
          env:
            - name: GOOGLE_APPLICATION_CREDENTIALS
              value: /var/secrets/google/key.json
            - name: TMPDIR
              value: /tmp
          resources:
            requests:
              memory: "2Gi"
              cpu: 1
          readinessProbe:
            httpGet:
              path: /healthz
              port: 8000
            initialDelaySeconds: 30.000000
            periodSeconds: 30.000000
            failureThreshold: 10.000000
      volumes:
        - name: autoroll-be-chromium-autoroll-sa
          secret:
            secretName: chromium-autoroll`),
		[]byte(`apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: comp-ui-gitcron
spec:
  schedule: '0 5 * * *'
  concurrencyPolicy: 'Forbid'
  jobTemplate:
    spec:
      template:
        spec:
          restartPolicy: Never
          serviceAccountName: perf-comp-ui
          securityContext:
            runAsUser: 2000 # aka skia
            fsGroup: 2000 # aka skia
          containers:
            - name: comp-ui-gitcron
              image: gcr.io/skia-public/comp-ui-gitcron:2022-04-08T11_33_16Z-jcgregorio-72d31c9-clean
              env:
                - name: HOME
                  value: /home/skia`),
		[]byte(`apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: view-permissions
rules:
  - apiGroups:
      - extensions
    resources:
      - podsecuritypolicies
    verbs: ["get", "list"]
  - apiGroups:
      - rbac.authorization.k8s.io
    resources:
      - roles
      - clusterroles
      - rolebindings
      - clusterrolebindings
    verbs: ["get", "list"]`),
		[]byte(`apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: team-view-all
roleRef:
  kind: ClusterRole
  name: view
  apiGroup: rbac.authorization.k8s.io
subjects:
  - kind: Group
    name: our-team@google.com
    apiGroup: rbac.authorization.k8s.io`),
		[]byte(`apiVersion: policy/v1beta1
kind: PodSecurityPolicy
metadata:
  name: my-psp
spec:
  privileged: false`),
	}, docs)
	require.Equal(t, []*ByteRange{
		{
			Start: 0,
			End:   333,
		},
		{
			Start: 336,
			End:   1347,
		},
		{
			Start: 1350,
			End:   1414,
		},
		{
			Start: 1417,
			End:   1695,
		},
		{
			Start: 1698,
			End:   2309,
		},
		{
			Start: 2312,
			End:   7028,
		},
		{
			Start: 7031,
			End:   7642,
		},
		{
			Start: 7645,
			End:   8026,
		},
		{
			Start: 8029,
			End:   8304,
		},
		{
			Start: 8307,
			End:   8410,
		},
	}, ranges)
}
