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.