package fake

import (
	"encoding/json"

	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	"k8s.io/apimachinery/pkg/runtime"
	"k8s.io/apimachinery/pkg/runtime/schema"
)

type MockResource struct {
	metav1.ObjectMeta
	Status MockResourceStatus
}

type MockResourceStatus struct {
	Status string
}

func (m *MockResource) GetObjectKind() schema.ObjectKind {
	return schema.EmptyObjectKind
}

func (m *MockResource) DeepCopyObject() runtime.Object {
	out := &MockResource{}
	j, err := json.Marshal(m)
	if err != nil {
		panic(err)
	}
	_ = json.Unmarshal(j, out)
	return out
}
