You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: api_test.go
    path of file: ./repos/linkerd2/pkg/k8s
    
    the code of the file until where you have to start completion: package k8s

import (
	"context"
	"testing"

	corev1 "k8s.io/api/core/v1"
)

func TestGetPodStatus(t *testing.T) {
	scenarios := []struct {
		desc     string
		pod      string
		expected string
	}{
		{
			desc:     "Pod is running",
			expected: "Running",
			pod: `
apiVersion: v1
kind: Pod
metadata:
  name: emoji
  namespace: emojivoto
  labels:
    app: emoji-svc
    linkerd.io/control-plane-ns: linkerd
status:
  phase: Running
`,
		},
		{
			desc:     "Pod's reason is filled",
			expected: "podReason",
			pod: `
apiVersion: v1
kind: Pod
metadata:
  name: emoji
  namespace: emojivoto
  labels:
    app: emoji-svc
    linkerd.io/control-plane-ns: linkerd
status:

    
func TestGetPodsFor(t *testing.T) {

	configs := []string{
		// pod-1
		`apiVersion: v1
kind: Pod
metadata:
  name: pod-1
  namespace: ns
  uid: pod-1
  labels:
    app: foo
  ownerReferences:
  - apiVersion: apps/v1
    controller: true
    kind: ReplicaSet
    name: rs-1
    uid: rs-1
`,
		// rs-1
		`apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: rs-1
  namespace: ns
  uid: rs-1
  labels:
    app: foo
  ownerReferences:
  - apiVersion: apps/v1
    controller: true
    kind: Deployment
    name: deploy-1
    uid: deploy-1
spec:
  selector:
    matchLabels:
      app: foo
`,
		// deploy-1
		`apiVersion: apps/v1
kind: Deployment
metadata:
  name: deploy-1
  namespace: ns
  uid: deploy-1
spec:
  selector:
    matchLabels:
      app: foo
`,
		// pod-2
		`apiVersion: v1
kind: Pod
metadata:
  name: pod-2
  namespace: ns
  uid: pod-2
  labels:
    app: foo
  ownerReferences:
  - apiVersion: apps/v1
    controller: true
    kind: ReplicaSet
    name: rs-2
    uid: rs-2
`,
		// rs-2
		`apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: rs-2
  namespace: ns
  uid: rs-2
  labels:
    app: foo
  ownerReferences:
  - apiVersion: apps/v1
    controller: true
    kind: Deployment
    name: deploy-2
    uid: deploy-2
spec:
  selector:
    matchLabels:
     app: foo
`,
		// deploy-2
		`apiVersion: apps/v1
kind: Deployment
metadata:
  name: deploy-2
  namespace: ns
  uid: deploy-2
spec:
  selector:
    matchLabels:
      app: foo
`}

	k8sClient, err := NewFakeAPI(configs...)
	if err != nil {
		t.Fatalf("Unexpected error %s", err)
	}

	// Both pod-1 and pod-2 have labels which match deploy-1's selector.
	// However, only pod-1 is owned by deploy-1 according to the owner references.
	// Owner references should be considered authoritative to resolve ambiguity
	// when deployments have overlapping seletors.
	pods, err := GetPodsFor(context.Background(), k8sClient, "ns", "deploy/deploy-1")
	if err != nil {
		t.Fatalf("Unexpected error %s", err)
	}

	if len(pods) != 1 {
		for _, p := range pods {
			t.Logf("%s/%s", p.Namespace, p.Name)
		}
		t.Fatalf("Expected 1 pod, got %d", len(pods))
	}
}