编写测试以使用golang中的动态客户端获取现有的自定义资源

时间:2019-12-17 06:26:40

标签: go kubernetes kubernetes-custom-resources

我想用Golang写一个测试来获取现有的自定义资源。实际的代码流在golang中使用动态客户端来执行相同的操作。 样本片段-

crdclient, err := v1alpha1.NewClient(config)
resp1, err := crdclient.test("testns").Get("test-operator")
func NewClient(cfg *rest.Config) (*testV1Alpha1Client, error) {
    scheme := runtime.NewScheme()
    SchemeBuilder := runtime.NewSchemeBuilder(addKnownTypes)
    if err := SchemeBuilder.AddToScheme(scheme); err != nil {
        return nil, err
    }
    config := *cfg
    config.GroupVersion = &SchemeGroupVersion
    config.APIPath = "/apis"
    config.ContentType = runtime.ContentTypeJSON
    config.NegotiatedSerializer = serializer.NewCodecFactory(scheme)
    client, err := rest.RESTClientFor(&config)
    if err != nil {
        return nil, err
    }
    return &testV1Alpha1Client{restClient: client}, nil
}

我想编写一个Golang测试,该测试将创建一个类似于NewClient方法所做的虚假动态客户端,并且我必须能够使用该虚假客户端对命名空间“ testns”中存在的资源“ test”进行Get调用,并且名称为“测试操作员” 需要一些想法,如何为测试用例复制相同的行为。

我们非常感谢您的帮助。

0 个答案:

没有答案