Как использовать openshift / client-go с поддельным юнит-тестом Kubernetes? - PullRequest
0 голосов
/ 07 октября 2019

Следующий код работает в кластере OKD, но завершается неудачно, когда я пытаюсь запустить его в среде поддельных юнит-тестов Kubernetes (т. Е. Используя k8s.io/client-go/dynamic/fake):

routev1 "github.com/openshift/client-go/route/clientset/versioned/typed/route/v1"
...
routeV1Client, err = routev1.NewForConfig(cfg)
route, _ := routeV1Client.Routes(getkAppNavNamespace()).Get(KappnavUIService, apismetav1.GetOptions{})

Кто-нибудь знает, как это сделать? работай? Я получаю сообщение об ошибке:

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x28 pc=0x1af3132]

goroutine 16 [running]:
github.com/kappnav/controller/vendor/github.com/openshift/client-go/route/clientset/versioned/typed/route/v1.(*routes).Get(0xc00000e7c0, 0x1e018a0, 0x12, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2987bd7, ...)
    /Users/paul/gokappnav/src/github.com/kappnav/controller/vendor/github.com/openshift/client-go/route/clientset/versioned/typed/route/v1/route.go:49 +0xa2
github.com/kappnav/controller.getKappnavWebConsoleExtensionURLs()
    /Users/paul/gokappnav/src/github.com/kappnav/controller/kappnav_handler.go:270 +0x16b

Обновление: Вышеприведенная ошибка моя - неправильно настроен routeV1Client. Не вижу поддельной версии openshift/client-go/route. Кажется, есть один для openshift / client-go / apps . Я подозреваю, что мне может понадобиться универсальный клиент , если я действительно хочу использовать поддельный юнит-тестовый envir.

Пол

...