Skip to content
Snippets Groups Projects
Select Git revision
  • 24eb354b1d6fd83d63447e6d4dbcfd5d9fed8fb1
  • release default protected
  • 11-22-implement-kv-interface-defined-in-collectiveversionedkvgo
  • hotfix/TestHostPool_UpdateNdf_AddFilter
  • XX-4719/announcementChannels
  • xx-4717/logLevel
  • jonah/noob-channel
  • master protected
  • XX-4707/tagDiskJson
  • xx-4698/notification-retry
  • hotfix/notifylockup
  • syncNodes
  • hotfix/localCB
  • XX-4677/NewChanManagerMobile
  • XX-4689/DmSync
  • duplicatePrefix
  • XX-4601/HavenInvites
  • finalizedUICallbacks
  • XX-4673/AdminKeySync
  • debugNotifID
  • anne/test
  • v4.7.5
  • v4.7.4
  • v4.7.3
  • v4.7.2
  • v4.7.1
  • v4.6.3
  • v4.6.1
  • v4.5.0
  • v4.4.4
  • v4.3.11
  • v4.3.8
  • v4.3.7
  • v4.3.6
  • v4.3.5
  • v4.2.0
  • v4.3.0
  • v4.3.4
  • v4.3.3
  • v4.3.2
  • v4.3.1
41 results

send_test.go

Blame
  • errors_test.go 3.98 KiB
    ///////////////////////////////////////////////////////////////////////////////
    // Copyright © 2020 xx network SEZC                                          //
    //                                                                           //
    // Use of this source code is governed by a license that can be found in the //
    // LICENSE file                                                              //
    ///////////////////////////////////////////////////////////////////////////////
    
    package bindings
    
    import (
    	"context"
    	"strings"
    	"testing"
    )
    
    // Unit test
    func TestErrorStringToUserFriendlyMessage(t *testing.T) {
    	// Setup: Populate map
    	backendErrs := []string{"Failed to Unmarshal Conversation", "failed to create group key preimage",
    		"Failed to unmarshal SentRequestMap"}
    	userErrs := []string{"Could not retrieve conversation", "Failed to initiate group chat",
    		"Failed to pull up friend requests"}
    
    	for i, exampleErr := range backendErrs {
    		errToUserErr[exampleErr] = userErrs[i]
    	}
    
    	// Check if a mapped common error returns the expected user friendly error
    	received := ErrorStringToUserFriendlyMessage(backendErrs[0])
    	if strings.Compare(received, userErrs[0]) != 0 {
    		t.Errorf("Unexpected user friendly message returned from common error mapping."+
    			"\n\tExpected: %s"+
    			"\n\tReceived: %v", userErrs[0], received)
    	}
    
    	// Test RPC error in which high level information should
    	// be passed along (ie context deadline exceeded error)
    	expected := "Could not poll network: "
    	rpcPrefix := "rpc error: desc = "
    	rpcErr := expected + rpcPrefix + context.DeadlineExceeded.Error()
    	received = ErrorStringToUserFriendlyMessage(rpcErr)
    	if strings.Compare(expected, received) != 0 {
    		t.Errorf("Rpc error parsed unxecpectedly with error "+
    			"\n\"%s\" "+
    			"\n\tExpected: %s"+
    			"\n\tReceived: %v", rpcErr, UnrecognizedCode+expected, received)
    	}
    
    	// Test RPC error where server side error information is provided
    	serverSideError := "Could not parse message! Please try again with a properly crafted message"
    	rpcErr = rpcPrefix + serverSideError
    	received = ErrorStringToUserFriendlyMessage(rpcErr)
    	if strings.Compare(serverSideError, received) != 0 {
    		t.Errorf("RPC error parsed unexpectedly with error "+
    			"\n\"%s\" "+
    			"\n\tExpected: %s"+
    			"\n\tReceived: %v", rpcErr, UnrecognizedCode+serverSideError, received)
    	}
    
    	// Test uncommon error, should return highest level message
    	expected = "failed to register with permissioning"
    	uncommonErr := expected + ": sendRegistrationMessage: Unable to contact Identity Server"
    	received = ErrorStringToUserFriendlyMessage(uncommonErr)
    	if strings.Compare(received, UnrecognizedCode+expected) != 0 {
    		t.Errorf("Uncommon error parsed unexpectedly with error "+
    			"\n\"%s\" "+
    			"\n\tExpected: %s"+
    			"\n\tReceived: %s", uncommonErr, UnrecognizedCode+expected, received)
    	}
    
    	// Test fully unrecognizable and un-parsable message,
    	// should hardcoded error message
    	uncommonErr = "failed to register with permissioning"
    	received = ErrorStringToUserFriendlyMessage(uncommonErr)
    	if strings.Compare(UnrecognizedCode+": "+uncommonErr, received) != 0 {
    		t.Errorf("Uncommon error parsed unexpectedly with error "+
    			"\n\"%s\" "+
    			"\n\tExpected: %s"+
    			"\n\tReceived: %s", uncommonErr, UnrecognizedMessage, received)
    	}
    
    }
    
    // Unit test
    func TestClient_UpdateCommonErrors(t *testing.T) {
    
    	key, expectedVal := "failed to create group key preimage", "Failed to initiate group chat"
    
    	jsonData := "{\"Failed to Unmarshal Conversation\":\"Could not retrieve conversation\",\"Failed to unmarshal SentRequestMap\":\"Failed to pull up friend requests\",\"failed to create group key preimage\":\"Failed to initiate group chat\"}\n"
    
    	err := UpdateCommonErrors(jsonData)
    	if err != nil {
    		t.Fatalf("UpdateCommonErrors error: %v", err)
    	}
    
    	val, ok := errToUserErr[key]
    	if !ok {
    		t.Fatalf("Expected entry was not populated")
    	}
    
    	if strings.Compare(expectedVal, val) != 0 {
    		t.Fatalf("Entry in updated error map was not expected."+
    			"\n\tExpected: %s"+
    			"\n\tReceived: %s", expectedVal, val)
    	}
    
    }