github.com/hyperledger/burrow@v0.34.5-0.20220512172541-77f09336001d/util/natives/templates/solidity_templates_test.go (about)

     1  // Copyright Monax Industries Limited
     2  // SPDX-License-Identifier: Apache-2.0
     3  
     4  package templates
     5  
     6  import (
     7  	"fmt"
     8  	"testing"
     9  
    10  	"github.com/hyperledger/burrow/execution/native"
    11  	"github.com/stretchr/testify/assert"
    12  )
    13  
    14  func TestSNativeFuncTemplate(t *testing.T) {
    15  	contract := native.MustDefaultNatives().GetContract("Permissions")
    16  	function := contract.FunctionByName("removeRole")
    17  	if function == nil {
    18  		t.Fatal("Couldn't get function")
    19  	}
    20  	solidityFunction := NewSolidityFunction(function)
    21  	solidity, err := solidityFunction.Solidity()
    22  	assert.NoError(t, err)
    23  	fmt.Println(solidity)
    24  }
    25  
    26  // This test checks that we can generate the native contract interface and
    27  // prints it to stdout
    28  func TestSNativeContractTemplate(t *testing.T) {
    29  	contract := native.MustDefaultNatives().GetContract("Permissions")
    30  	solidityContract := NewSolidityContract(contract)
    31  	solidity, err := solidityContract.Solidity()
    32  	assert.NoError(t, err)
    33  	fmt.Println(solidity)
    34  }