go_study/fabric-main/orderer/common/broadcast/metrics_test.go

37 lines
1.0 KiB
Go

/*
Copyright IBM Corp. All Rights Reserved.
SPDX-License-Identifier: Apache-2.0
*/
package broadcast_test
import (
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
"github.com/hyperledger/fabric/orderer/common/broadcast"
"github.com/hyperledger/fabric/orderer/common/broadcast/mock"
)
var _ = Describe("Metrics", func() {
var fakeProvider *mock.MetricsProvider
BeforeEach(func() {
fakeProvider = &mock.MetricsProvider{}
fakeProvider.NewHistogramReturns(&mock.MetricsHistogram{})
fakeProvider.NewCounterReturns(&mock.MetricsCounter{})
})
It("uses the provider to initialize all fields", func() {
metrics := broadcast.NewMetrics(fakeProvider)
Expect(metrics).NotTo(BeNil())
Expect(metrics.ValidateDuration).To(Equal(&mock.MetricsHistogram{}))
Expect(metrics.EnqueueDuration).To(Equal(&mock.MetricsHistogram{}))
Expect(metrics.ProcessedCount).To(Equal(&mock.MetricsCounter{}))
Expect(fakeProvider.NewHistogramCallCount()).To(Equal(2))
Expect(fakeProvider.NewCounterCallCount()).To(Equal(1))
})
})