Я пишу простейший возможный fxn, используя client-go
, который просто выполняет аутентификацию в кластере и возвращает указатель на объект kubernetes.Clientset
// getInClusterAuth performs in cluster authentication and returns the clientset
func getInClusterAuth() (*kubernetes.Clientset, error) {
// creates the in-cluster config
config, err := rest.InClusterConfig()
if err != nil {
return nil, err
}
// create the clientset
clientset, err := kubernetes.NewForConfig(config)
if err != nil {
return nil, err
}
return clientset, nil
}
Поскольку это что-то такое, что оно не только запускается во внешней системе (API-сервер k8s
), но также предполагается, что оно работает изнутри Pod
после развертывания, каков подходящий способ юнит- тестировать?
Может быть приемлемой практикой покрывать случай в e2e или интеграционных тестах?
Я думаю, что позже я смогу смоделировать запросы, сделанные к этому
clientset
, однако я не могу (в приведенном выше примере) смоделировать/модульное тестирование самого создания клиента, верно?