diff --git a/src/api/eosio_contract.go b/src/api/eosio_contract.go index a53cd20..8bc8687 100644 --- a/src/api/eosio_contract.go +++ b/src/api/eosio_contract.go @@ -14,6 +14,10 @@ type EosioContract struct { block_time float64 } +func EosioContractFactory(args ApiArguments) ApiInterface { + return NewEosioContract(args.Url, float64(args.NumBlocks / 2)) +} + func NewEosioContract(url string, block_time float64) EosioContract { return EosioContract{ client: contract_api.Client{ diff --git a/src/api/eosio_contract_test.go b/src/api/eosio_contract_test.go index a5561b9..9c1520f 100644 --- a/src/api/eosio_contract_test.go +++ b/src/api/eosio_contract_test.go @@ -10,6 +10,21 @@ import ( "github.com/eosswedenorg-go/haproxy/agentcheck" ) +func TestEosioContractFactory(t *testing.T) { + + api := EosioContractFactory(ApiArguments{ + Url: "https://atomic.example.com", + NumBlocks: 120, + }) + + expected := NewEosioContract("https://atomic.example.com", 60) + + assert.IsType(t, expected, api) + assert.Equal(t, expected.client.Url, api.(EosioContract).client.Url) + assert.Equal(t, expected.client.Host, api.(EosioContract).client.Host) + assert.Equal(t, expected.block_time, api.(EosioContract).block_time) +} + func TestEosioContractLogInfo(t *testing.T) { api := NewEosioContract("https://atomic.example.com", 120)