missing unmarshalling of content bytes before encoding and generation… #86

Closed
ABastionOfSanity wants to merge 4 commits from fix_cid_generation into main
2 changed files with 30 additions and 1 deletions
Showing only changes of commit ac6a5602ad - Show all commits

View File

@ -105,6 +105,5 @@ func CIDFromJSONBytesUsingIpldPrime(content []byte) (string, error) {
if err != nil { if err != nil {
return "", err return "", err
} }
// return cborcid.String(), nil
return lnk.String(), nil return lnk.String(), nil
} }

30
utils/json_test.go Normal file
View File

@ -0,0 +1,30 @@
package utils
import (
"github.com/stretchr/testify/require"
"testing"
)
func TestAndValidateCIDGeneration(t *testing.T) {
testCases := []struct {
name string
content string
}{
{
"empty string", "",
},
{
"empty json", "{}",
},
{
"test record", "\\xa6curlohttps://cerc.iodtypex\\x19WebsiteRegistrationRecordgversione0.0.1ltls_cert_cidx.QmbWqxBEKC3P8tqsKc98xmWNzrzDtRLMiMPL8wBuTGsMnRrbuild_artifact_cidx.QmP8jTG1m9GSDJLCbeWhVSVgEzCPPwXRdCRuJtQ5Tz9Kc9x\\x1crepo_registration_record_cidx.QmSnuWmxptJZdLJpKRarxBMS2Ju2oANVrgbr2xWbie9b2D",
},
}
for _, tc := range testCases {
deprecatedAndCorrect, _ := CIDFromJSONBytes([]byte(tc.content))
Review

We should either catch any errors returned by these functions or make sure the returned result isn't nil/empty, because if both functions were to error out and return a nil/empty result it would evaluate them as equal and the test would pass.

We should either catch any errors returned by these functions or make sure the returned result isn't `nil`/empty, because if both functions were to error out and return a `nil`/empty result it would evaluate them as equal and the test would pass.
newImpl, _ := CIDFromJSONBytesUsingIpldPrime([]byte(tc.content))
require.Equal(t, deprecatedAndCorrect, newImpl, tc.name)
}
}