nishant gupta,

You have a bug in your validateK8ResourcesLength function.

A fix:

https://play.golang.org/p/olKsOOWAmzC

Peter

On Friday, January 29, 2021 at 12:53:01 PM UTC-5 nishant...@gmail.com wrote:

> Hi Gophers,
>
> Being new to programming and to Golang i am running into issues while 
> asserting my test case. Looking for help here from the pros -
>
> Here is my function i want to Unit test -
> func validateK8ResourcesLength(resource prm.Resource) error {
> name := resource.GetName()
> namespace := resource.GetNamespace()
> k8sResourceName := fmt.Sprintf("%s-%s", namespace, name)
> if len(k8sResourceName) > common.K8sNameLength {
> return fmt.Errorf("Namespace (%s) and Name (%s) length combined must not 
> be greater than 48 chars", namespace, name)
> }
> return nil
> }
>
>
> Here is test case written -
> func TestK8testing(t *testing.T) {
> ctrl := gomock.NewController(t)
> defer ctrl.Finish()
> mockContext := prmmock.NewMockStepContext(ctrl)
> mockResource := prmmock.NewMockResource(ctrl)
> mockClient := prmmock.NewMockClient(ctrl)
> // testClient := fake.NewFakeClientWithScheme(runtime.NewScheme())
> lables := make(map[string]string)
> mockClient.EXPECT().GetResource(gomock.Any(), 
> gomock.Any()).Return(mockResource, nil).AnyTimes()
> mockContext.EXPECT().Resource().Return(mockResource).AnyTimes()
>
> mockResource.EXPECT().GetKind().Return("data-movement-v1-nonexist").AnyTimes()
>
> mockResource.EXPECT().GetName().Return("test-dm-more-then-forty-eight-charactors-this-should-fail").AnyTimes()
>
> mockResource.EXPECT().GetNamespace().Return("ns-more-then-forty-eight-charactors-this-should-fail").AnyTimes()
> mockResource.EXPECT().GetLabels().Return(lables).AnyTimes()
> mockResource.EXPECT().GetID().Return(prm.NewResourceID("hcc-dm", 
> "data-movement-v1", "test-dm")).AnyTimes()
>
> err := validateK8ResourcesLength(mockResource)
> assert.Error(t, err)
> if assert.Error(t, err) {
> //assert.Contains(t, err, "length combined must not be greater")
> assert.Equal(t, "Namespace 
> (ns-more-then-forty-eight-charactors-this-should-fail) and Name 
> (test-dm-more-then-forty-eight-charactors-this-should-fail) length combined 
> must not be greater than 48 chars", err)
> }
> }
>
>
> Somehow i am getting error while i try to use contain or equal.
> --- FAIL: TestK8testing (0.00s)
> /Users/ngupta59/hcc-dm/pkg/dm-agent/cmd/action_validate_dmjob_test.go:296: 
> Error Trace: action_validate_dmjob_test.go:296
> Error: Not equal: 
> expected: string("Namespace 
> (ns-more-then-forty-eight-charactors-this-should-fail) and Name 
> (test-dm-more-then-forty-eight-charactors-this-should-fail) length combined 
> must not be greater than 48 chars")
> actual : *errors.errorString(&errors.errorString{s:"Namespace 
> (ns-more-then-forty-eight-charactors-this-should-fail) and Name 
> (test-dm-more-then-forty-eight-charactors-this-should-fail) length combined 
> must not be greater than 48 chars"})
> Test: TestK8testing
> FAIL
> FAIL github.optum.com/pep/hcc-dm/pkg/dm-agent/cmd 5.183s
> FAIL
>
>
>
>
> Any help is appreciated in this regards. Thanks in advance. 
>  
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/bdbc4c5b-7a2f-476b-9a0a-15d06fa75cc3n%40googlegroups.com.

Reply via email to