diff --git a/src/api/eosio_v1.go b/src/api/eosio_v1.go index c9fce59..193bac4 100644 --- a/src/api/eosio_v1.go +++ b/src/api/eosio_v1.go @@ -14,6 +14,10 @@ type EosioV1 struct { block_time float64 } +func EosioV1Factory(args ApiArguments) ApiInterface { + return NewEosioV1(args.Url, args.Host, float64(args.NumBlocks / 2)) +} + func NewEosioV1(url string, host string, block_time float64) EosioV1 { api := EosioV1{ diff --git a/src/api/eosio_v1_test.go b/src/api/eosio_v1_test.go index eba6f63..251d9ff 100644 --- a/src/api/eosio_v1_test.go +++ b/src/api/eosio_v1_test.go @@ -10,6 +10,22 @@ import ( "github.com/eosswedenorg-go/haproxy/agentcheck" ) +func TestEosioV1Factory(t *testing.T) { + + api := EosioV1Factory(ApiArguments{ + Url: "https://api.v1.example.com", + Host: "host.example.com", + NumBlocks: 120, + }) + + expected := NewEosioV1("https://api.v1.example.com", "host.example.com", 60) + + assert.IsType(t, expected, api) + assert.Equal(t, expected.client.Url, api.(EosioV1).client.Url) + assert.Equal(t, expected.client.Host, api.(EosioV1).client.Host) + assert.Equal(t, expected.block_time, api.(EosioV1).block_time) +} + func TestEosioV1LogInfo(t *testing.T) { api := NewEosioV1("https://api.v1.example.com", "host.example.com", 120)