Skip to content

Commit

Permalink
chore: fixed broken tests, add new ones
Browse files Browse the repository at this point in the history
  • Loading branch information
freak12techno committed Jan 4, 2025
1 parent c61ad69 commit 79d56b5
Show file tree
Hide file tree
Showing 3 changed files with 115 additions and 39 deletions.
15 changes: 9 additions & 6 deletions pkg/fetchers/block_time_fetcher_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,10 @@ func TestBlockTimeFetcherBase(t *testing.T) {
client := tendermint.NewRPC(config, *logger, tracer)
fetcher := NewBlockTimeFetcher(*logger, client, tracer)
assert.True(t, fetcher.Enabled())
assert.Equal(t, []constants.FetcherName{constants.FetcherNameUpgrades}, fetcher.Dependencies())
assert.Equal(t, []constants.FetcherName{
constants.FetcherNameUpgrades,
constants.FetcherNameCosmovisorUpgradeInfo,
}, fetcher.Dependencies())
assert.Equal(t, constants.FetcherNameBlockTime, fetcher.Name())
}

Expand Down Expand Up @@ -60,7 +63,7 @@ func TestBlockTimeFetcherDataNil(t *testing.T) {

var upgradePlan *types.Plan

data, queryInfos := fetcher.Get(context.Background(), upgradePlan)
data, queryInfos := fetcher.Get(context.Background(), upgradePlan, upgradePlan)
assert.Empty(t, queryInfos)
assert.Nil(t, data)
}
Expand Down Expand Up @@ -99,7 +102,7 @@ func TestBlockTimeFetcherTendermintFailBlock(t *testing.T) {
client := tendermint.NewRPC(config, *logger, tracer)
fetcher := NewBlockTimeFetcher(*logger, client, tracer)

data, queryInfos := fetcher.Get(context.Background(), &types.Plan{})
data, queryInfos := fetcher.Get(context.Background(), &types.Plan{}, &types.Plan{})
assert.Len(t, queryInfos, 1)
assert.False(t, queryInfos[0].Success)
assert.Nil(t, data)
Expand Down Expand Up @@ -128,7 +131,7 @@ func TestBlockTimeFetcherTendermintFailOlderBlock(t *testing.T) {
client := tendermint.NewRPC(config, *logger, tracer)
fetcher := NewBlockTimeFetcher(*logger, client, tracer)

data, queryInfos := fetcher.Get(context.Background(), &types.Plan{})
data, queryInfos := fetcher.Get(context.Background(), &types.Plan{}, &types.Plan{})
assert.Len(t, queryInfos, 1)
assert.False(t, queryInfos[0].Success)
assert.Nil(t, data)
Expand All @@ -147,7 +150,7 @@ func TestBlockTimeFetcherNoUpgrade(t *testing.T) {

var upgradePlan *types.Plan

data, queryInfos := fetcher.Get(context.Background(), upgradePlan)
data, queryInfos := fetcher.Get(context.Background(), upgradePlan, upgradePlan)
assert.Empty(t, queryInfos)
assert.Nil(t, data)
}
Expand Down Expand Up @@ -175,7 +178,7 @@ func TestBlockTimeFetcherTendermintOk(t *testing.T) {
client := tendermint.NewRPC(config, *logger, tracer)
fetcher := NewBlockTimeFetcher(*logger, client, tracer)

data, queryInfos := fetcher.Get(context.Background(), &types.Plan{})
data, queryInfos := fetcher.Get(context.Background(), &types.Plan{}, &types.Plan{})
assert.Len(t, queryInfos, 1)
assert.True(t, queryInfos[0].Success)
assert.NotNil(t, data)
Expand Down
32 changes: 24 additions & 8 deletions pkg/generators/time_till_upgrade_generator_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (
"main/pkg/constants"
"main/pkg/fetchers"
loggerPkg "main/pkg/logger"
metricsPkg "main/pkg/metrics"
"main/pkg/tracing"
"testing"

Expand Down Expand Up @@ -110,19 +111,34 @@ func TestTimeTillUpgradeGeneratorOk(t *testing.T) {
assert.NotNil(t, upgradesInfo)

blockTimeFetcher := fetchers.NewBlockTimeFetcher(*logger, client, tracer)
blockTimeData, _ := blockTimeFetcher.Get(context.Background(), upgradesInfo)
blockTimeData, _ := blockTimeFetcher.Get(context.Background(), upgradesInfo, upgradesInfo)
assert.NotNil(t, blockTimeData)

state := fetchers.State{
constants.FetcherNameUpgrades: upgradesInfo,
constants.FetcherNameBlockTime: blockTimeData,
constants.FetcherNameUpgrades: upgradesInfo,
constants.FetcherNameCosmovisorUpgradeInfo: upgradesInfo,
constants.FetcherNameBlockTime: blockTimeData,
}

generator := NewTimeTillUpgradeGenerator()
metrics := generator.Get(state)
assert.Len(t, metrics, 1)

upgradeTime := metrics[0]
assert.Equal(t, "v1.5.0", upgradeTime.Labels["name"])
assert.InDelta(t, 1642330177, upgradeTime.Value, 0.01)
assert.Len(t, metrics, 2)

assert.Equal(t, metricsPkg.MetricInfo{
MetricName: metricsPkg.MetricNameUpgradeEstimatedTime,
Labels: map[string]string{
"name": "v1.5.0",
"source": constants.UpgradeSourceGovernance,
},
Value: 1642330177,
}, metrics[0])

assert.Equal(t, metricsPkg.MetricInfo{
MetricName: metricsPkg.MetricNameUpgradeEstimatedTime,
Labels: map[string]string{
"name": "v1.5.0",
"source": constants.UpgradeSourceUpgradeInfo,
},
Value: 1642330177,
}, metrics[1])
}
107 changes: 82 additions & 25 deletions pkg/generators/upgrades_generator_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (
"main/pkg/constants"
"main/pkg/fetchers"
loggerPkg "main/pkg/logger"
metricsPkg "main/pkg/metrics"
"main/pkg/tracing"
"testing"

Expand All @@ -23,11 +24,19 @@ func TestUpgradesGeneratorEmpty(t *testing.T) {
state := fetchers.State{}
generator := NewUpgradesGenerator()
metrics := generator.Get(state)
assert.Len(t, metrics, 1)

upgradeComing := metrics[0]
assert.Empty(t, upgradeComing.Labels)
assert.Zero(t, upgradeComing.Value)
assert.Len(t, metrics, 2)

assert.Equal(t, metricsPkg.MetricInfo{
MetricName: metricsPkg.MetricNameUpgradeComing,
Labels: map[string]string{"source": constants.UpgradeSourceGovernance},
Value: 0,
}, metrics[0])

assert.Equal(t, metricsPkg.MetricInfo{
MetricName: metricsPkg.MetricNameUpgradeComing,
Labels: map[string]string{"source": constants.UpgradeSourceUpgradeInfo},
Value: 0,
}, metrics[1])
}

func TestUpgradesGeneratorInvalid(t *testing.T) {
Expand Down Expand Up @@ -70,11 +79,19 @@ func TestUpgradesGeneratorNotPresent(t *testing.T) {
generator := NewUpgradesGenerator()

metrics := generator.Get(state)
assert.Len(t, metrics, 1)

upgradeComing := metrics[0]
assert.Empty(t, upgradeComing.Labels)
assert.Zero(t, upgradeComing.Value)
assert.Len(t, metrics, 2)

assert.Equal(t, metricsPkg.MetricInfo{
MetricName: metricsPkg.MetricNameUpgradeComing,
Labels: map[string]string{"source": constants.UpgradeSourceGovernance},
Value: 0,
}, metrics[0])

assert.Equal(t, metricsPkg.MetricInfo{
MetricName: metricsPkg.MetricNameUpgradeComing,
Labels: map[string]string{"source": constants.UpgradeSourceUpgradeInfo},
Value: 0,
}, metrics[1])
}

//nolint:paralleltest // disabled due to httpmock usage
Expand All @@ -99,23 +116,63 @@ func TestUpgradesGeneratorOk(t *testing.T) {
data, _ := fetcher.Get(context.Background())
assert.NotNil(t, data)

state := fetchers.State{constants.FetcherNameUpgrades: data}
state := fetchers.State{
constants.FetcherNameUpgrades: data,
constants.FetcherNameCosmovisorUpgradeInfo: data,
}

generator := NewUpgradesGenerator()

metrics := generator.Get(state)
assert.Len(t, metrics, 3)

upgradeComing := metrics[0]
assert.Empty(t, upgradeComing.Labels)
assert.InDelta(t, 1, upgradeComing.Value, 0.01)

upgradeInfo := metrics[1]
assert.NotEmpty(t, upgradeInfo.Labels["info"])
assert.Equal(t, "v1.5.0", upgradeInfo.Labels["name"])
assert.InDelta(t, 1, upgradeInfo.Value, 0.01)

upgradeHeight := metrics[2]
assert.Equal(t, "v1.5.0", upgradeHeight.Labels["name"])
assert.InDelta(t, 8375044, upgradeHeight.Value, 0.01)
assert.Len(t, metrics, 6)

assert.Equal(t, metricsPkg.MetricInfo{
MetricName: metricsPkg.MetricNameUpgradeComing,
Labels: map[string]string{"source": constants.UpgradeSourceGovernance},
Value: 1,
}, metrics[0])

assert.Equal(t, metricsPkg.MetricInfo{
MetricName: metricsPkg.MetricNameUpgradeInfo,
Labels: map[string]string{
"info": "{\n \"binaries\": {\n \"linux/amd64\": \"https://github.com/NibiruChain/nibiru/releases/download/v1.5.0/nibid_1.5.0_linux_amd64.tar.gz\",\n \"linux/arm64\": \"https://github.com/NibiruChain/nibiru/releases/download/v1.5.0/nibid_1.5.0_linux_arm64.tar.gz\",\n \"docker\": \"ghcr.io/nibiruchain/nibiru:1.5.0\"\n }\n}",
"name": "v1.5.0",
"source": constants.UpgradeSourceGovernance,
},
Value: 1,
}, metrics[1])

assert.Equal(t, metricsPkg.MetricInfo{
MetricName: metricsPkg.MetricNameUpgradeHeight,
Labels: map[string]string{
"name": "v1.5.0",
"source": constants.UpgradeSourceGovernance,
},
Value: 8375044,
}, metrics[2])

assert.Equal(t, metricsPkg.MetricInfo{
MetricName: metricsPkg.MetricNameUpgradeComing,
Labels: map[string]string{"source": constants.UpgradeSourceUpgradeInfo},
Value: 1,
}, metrics[3])

assert.Equal(t, metricsPkg.MetricInfo{
MetricName: metricsPkg.MetricNameUpgradeInfo,
Labels: map[string]string{
"info": "{\n \"binaries\": {\n \"linux/amd64\": \"https://github.com/NibiruChain/nibiru/releases/download/v1.5.0/nibid_1.5.0_linux_amd64.tar.gz\",\n \"linux/arm64\": \"https://github.com/NibiruChain/nibiru/releases/download/v1.5.0/nibid_1.5.0_linux_arm64.tar.gz\",\n \"docker\": \"ghcr.io/nibiruchain/nibiru:1.5.0\"\n }\n}",
"name": "v1.5.0",
"source": constants.UpgradeSourceUpgradeInfo,
},
Value: 1,
}, metrics[4])

assert.Equal(t, metricsPkg.MetricInfo{
MetricName: metricsPkg.MetricNameUpgradeHeight,
Labels: map[string]string{
"name": "v1.5.0",
"source": constants.UpgradeSourceUpgradeInfo,
},
Value: 8375044,
}, metrics[5])
}

0 comments on commit 79d56b5

Please sign in to comment.