mirror of
https://github.com/hyperledger/fabric-samples.git
synced 2026-06-17 15:35:09 +00:00
47 lines
1.2 KiB
Go
47 lines
1.2 KiB
Go
package smartcontract
|
|
|
|
import (
|
|
"encoding/json"
|
|
"testing"
|
|
)
|
|
|
|
func TestAssetJSONRoundTrip(t *testing.T) {
|
|
asset := Asset{
|
|
ID: "asset1",
|
|
Color: "blue",
|
|
Owner: `{"org":"Org1MSP","user":"User1"}`,
|
|
AppraisedValue: 100,
|
|
Size: 10,
|
|
}
|
|
|
|
bytes, err := json.Marshal(asset)
|
|
if err != nil {
|
|
t.Fatalf("failed to marshal asset: %v", err)
|
|
}
|
|
|
|
var decoded Asset
|
|
if err := json.Unmarshal(bytes, &decoded); err != nil {
|
|
t.Fatalf("failed to unmarshal asset: %v", err)
|
|
}
|
|
|
|
if decoded.ID != asset.ID || decoded.Color != asset.Color || decoded.Owner != asset.Owner || decoded.AppraisedValue != asset.AppraisedValue || decoded.Size != asset.Size {
|
|
t.Fatalf("decoded asset does not match original asset")
|
|
}
|
|
}
|
|
|
|
func TestOwnerIdentifierSerialization(t *testing.T) {
|
|
owner := ownerIdentifier("User1", "Org1MSP")
|
|
serialized, err := marshalOwnerIdentifier(owner)
|
|
if err != nil {
|
|
t.Fatalf("failed to marshal owner identifier: %v", err)
|
|
}
|
|
|
|
decoded, err := ownerIdentifierFromString(serialized)
|
|
if err != nil {
|
|
t.Fatalf("failed to unmarshal owner identifier: %v", err)
|
|
}
|
|
|
|
if decoded.Org != owner.Org || decoded.User != owner.User {
|
|
t.Fatalf("decoded owner identifier does not match original")
|
|
}
|
|
}
|