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/89acd47a-5a5c-432c-9e50-f860415d0601n%40googlegroups.com.

Reply via email to