Skip to content

Commit

Permalink
chore: test get reporters
Browse files Browse the repository at this point in the history
  • Loading branch information
freak12techno committed Mar 2, 2024
1 parent 4cc359a commit b31ce21
Show file tree
Hide file tree
Showing 2 changed files with 83 additions and 5 deletions.
2 changes: 1 addition & 1 deletion pkg/filterer/filterer.go
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ func (f *Filterer) FilterForChainAndSubscription(

txHeight, err := strconv.ParseInt(tx.Height.Value, 10, 64)
if err != nil {
f.Logger.Fatal().Err(err).Msg("Error converting height to int64")
f.Logger.Panic().Err(err).Msg("Error converting height to int64")
}

chainLastBlockHeight, ok := f.lastBlockHeights[chain.Name]
Expand Down
86 changes: 82 additions & 4 deletions pkg/filterer/filterer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -276,8 +276,7 @@ func TestFilterReportableTxProcessedBefore(t *testing.T) {
chain := &configTypes.Chain{Name: "chain"}

subscription := &configTypes.ChainSubscription{
LogFailedTransactions: true,
Chain: "chain",
Chain: "chain",
Filters: configTypes.Filters{
*queryPkg.MustParse("transfer.sender = 'from'"),
},
Expand Down Expand Up @@ -310,8 +309,7 @@ func TestFilterReportableTxAllMessagesFiltered(t *testing.T) {
chain := &configTypes.Chain{Name: "chain"}

subscription := &configTypes.ChainSubscription{
LogFailedTransactions: true,
Chain: "chain",
Chain: "chain",
Filters: configTypes.Filters{
*queryPkg.MustParse("transfer.sender = 'from'"),
},
Expand All @@ -331,3 +329,83 @@ func TestFilterReportableTxAllMessagesFiltered(t *testing.T) {
}
require.Nil(t, filterer.FilterForChainAndSubscription(reportable, chain, subscription))
}

func TestFilterReportableTxInvalidHeight(t *testing.T) {
t.Parallel()

defer func() {
if r := recover(); r == nil {
require.Fail(t, "Expected to have a panic here!")
}
}()

config := &configPkg.AppConfig{}
filterer := filtererPkg.NewFilterer(logger, config, metricsManager)
chain := &configTypes.Chain{Name: "chain"}

subscription := &configTypes.ChainSubscription{
Chain: "chain",
Filters: configTypes.Filters{},
}
reportable := &types.Tx{
Height: configTypes.Link{Value: "test"},
Code: 0,
}
_ = filterer.FilterForChainAndSubscription(reportable, chain, subscription)
}

func TestGetReporters(t *testing.T) {
t.Parallel()

config := &configPkg.AppConfig{
Chains: configTypes.Chains{
{Name: "chain-1"},
{Name: "chain-2"},
},
Subscriptions: configTypes.Subscriptions{
{
Name: "subscription-1",
Reporter: "reporter-1",
ChainSubscriptions: configTypes.ChainSubscriptions{
{Chain: "chain-1"},
},
},
{
Name: "subscription-2",
Reporter: "reporter-2",
ChainSubscriptions: configTypes.ChainSubscriptions{
{
Chain: "chain-2",
LogFailedTransactions: false,
},
{
Chain: "chain-2",
LogFailedTransactions: true,
},
},
},
},
}
filterer := filtererPkg.NewFilterer(logger, config, metricsManager)
report := types.Report{
Chain: &configTypes.Chain{Name: "chain-2"},
Reportable: &types.Tx{
Code: 1,
Height: configTypes.Link{Value: "123"},
Messages: []types.Message{
&messages.MsgSend{
From: &configTypes.Link{Value: "from2"},
To: &configTypes.Link{Value: "to"},
Amount: amount.Amounts{
amount.AmountFromString("100", "ustake"),
},
},
},
},
}
result := filterer.GetReportableForReporters(report)
require.Len(t, result, 1)

_, ok := result["reporter-2"]
require.True(t, ok)
}

0 comments on commit b31ce21

Please sign in to comment.