Skip to content

Commit

Permalink
package structure
Browse files Browse the repository at this point in the history
Signed-off-by: Sam Yuan <[email protected]>
  • Loading branch information
SamYuan1990 committed Jul 3, 2021
1 parent 3e90f4f commit 6261dfb
Show file tree
Hide file tree
Showing 14 changed files with 61 additions and 40 deletions.
13 changes: 13 additions & 0 deletions pkg/infra/basic/basic_suite_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package basic_test

import (
"testing"

. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
)

func TestBasic(t *testing.T) {
RegisterFailHandler(Fail)
RunSpecs(t, "Basic Suite")
}
2 changes: 1 addition & 1 deletion pkg/infra/client.go → pkg/infra/basic/client.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package infra
package basic

import (
"context"
Expand Down
12 changes: 6 additions & 6 deletions pkg/infra/client_test.go → pkg/infra/basic/client_test.go
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package infra_test
package basic_test

import (
"context"
"tape/pkg/infra"
"tape/pkg/infra/basic"

. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
Expand All @@ -12,21 +12,21 @@ import (
var _ = Describe("Client", func() {

Context("Client Error handling", func() {
dummy := infra.Node{
dummy := basic.Node{
Addr: "invalid_addr",
}
logger := log.New()

It("captures error from endorser", func() {
_, err := infra.CreateEndorserClient(dummy, logger)
_, err := basic.CreateEndorserClient(dummy, logger)
Expect(err).Should(MatchError(ContainSubstring("error connecting to invalid_addr")))
})
It("captures error from broadcaster", func() {
_, err := infra.CreateBroadcastClient(context.Background(), dummy, logger)
_, err := basic.CreateBroadcastClient(context.Background(), dummy, logger)
Expect(err).Should(MatchError(ContainSubstring("error connecting to invalid_addr")))
})
It("captures error from DeliverFilter", func() {
_, err := infra.CreateDeliverFilteredClient(context.Background(), dummy, logger)
_, err := basic.CreateDeliverFilteredClient(context.Background(), dummy, logger)
Expect(err).Should(MatchError(ContainSubstring("error connecting to invalid_addr")))
})
})
Expand Down
2 changes: 1 addition & 1 deletion pkg/infra/config.go → pkg/infra/basic/config.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package infra
package basic

import (
"crypto/ecdsa"
Expand Down
18 changes: 9 additions & 9 deletions pkg/infra/config_test.go → pkg/infra/basic/config_test.go
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package infra_test
package basic_test

import (
"io/ioutil"
"os"
"text/template"

"tape/pkg/infra"
"tape/pkg/infra/basic"

. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
Expand Down Expand Up @@ -75,16 +75,16 @@ var _ = Describe("Config", func() {

generateConfigFile(f.Name(), struct{ TlsFile string }{tlsFile.Name()})

c, err := infra.LoadConfig(f.Name())
c, err := basic.LoadConfig(f.Name())
Expect(err).NotTo(HaveOccurred())
Expect(c).To(Equal(infra.Config{
Endorsers: []infra.Node{
Expect(c).To(Equal(basic.Config{
Endorsers: []basic.Node{
{Addr: "peer0.org1.example.com:7051", TLSCACert: tlsFile.Name(), TLSCACertByte: []byte("a")},
{Addr: "peer0.org2.example.com:7051", TLSCACert: tlsFile.Name(), TLSCACertByte: []byte("a")},
},
Committers: []infra.Node{{Addr: "peer0.org2.example.com:7051", TLSCACert: tlsFile.Name(), TLSCACertByte: []byte("a")}},
Committers: []basic.Node{{Addr: "peer0.org2.example.com:7051", TLSCACert: tlsFile.Name(), TLSCACertByte: []byte("a")}},
CommitThreshold: 1,
Orderer: infra.Node{Addr: "orderer.example.com:7050", TLSCACert: tlsFile.Name(), TLSCACertByte: []byte("a")},
Orderer: basic.Node{Addr: "orderer.example.com:7050", TLSCACert: tlsFile.Name(), TLSCACertByte: []byte("a")},
Channel: "mychannel",
Chaincode: "mycc",
Version: "",
Expand All @@ -102,7 +102,7 @@ var _ = Describe("Config", func() {

Context("bad", func() {
It("fails to load missing config file", func() {
_, err := infra.LoadConfig("invalid_file")
_, err := basic.LoadConfig("invalid_file")
Expect(err).Should(MatchError(ContainSubstring("invalid_file")))
})

Expand All @@ -113,7 +113,7 @@ var _ = Describe("Config", func() {

generateConfigFile(f.Name(), struct{ TlsFile string }{"invalid_file"})

_, err := infra.LoadConfig(f.Name())
_, err := basic.LoadConfig(f.Name())
Expect(err).Should(MatchError(ContainSubstring("invalid_file")))
})
})
Expand Down
2 changes: 1 addition & 1 deletion pkg/infra/crypto.go → pkg/infra/basic/crypto.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package infra
package basic

import (
"crypto/ecdsa"
Expand Down
3 changes: 2 additions & 1 deletion pkg/infra/benchmark_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,14 @@ import (
"testing"

"tape/e2e/mock"
"tape/pkg/infra/basic"

"github.com/hyperledger/fabric-protos-go/peer"
log "github.com/sirupsen/logrus"
)

func StartProposer(ctx context.Context, signed, processed chan *Elements, logger *log.Logger, threshold int, addr string) {
peer := Node{
peer := basic.Node{
Addr: addr,
}
Proposer, _ := CreateProposer(peer, logger)
Expand Down
3 changes: 2 additions & 1 deletion pkg/infra/initiator.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package infra

import (
"context"
"tape/pkg/infra/basic"

"github.com/pkg/errors"
"golang.org/x/time/rate"
Expand All @@ -11,7 +12,7 @@ type Initiator struct {
Num int
Burst int
R float64
Config Config
Config basic.Config
Crypto Crypto
Raw chan *Elements
ErrorCh chan error
Expand Down
7 changes: 4 additions & 3 deletions pkg/infra/initiator_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (

"tape/e2e"
"tape/pkg/infra"
"tape/pkg/infra/basic"

. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
Expand Down Expand Up @@ -58,7 +59,7 @@ var _ = Describe("Initiator", func() {
defer close(raw)
errorCh := make(chan error, 1002)
defer close(errorCh)
config, err := infra.LoadConfig(configFile.Name())
config, err := basic.LoadConfig(configFile.Name())
Expect(err).NotTo(HaveOccurred())
crypto, err := config.LoadCrypto()
Expect(err).NotTo(HaveOccurred())
Expand All @@ -76,7 +77,7 @@ var _ = Describe("Initiator", func() {
defer close(raw)
errorCh := make(chan error, 1002)
defer close(errorCh)
config, err := infra.LoadConfig(configFile.Name())
config, err := basic.LoadConfig(configFile.Name())
Expect(err).NotTo(HaveOccurred())
crypto, err := config.LoadCrypto()
Expect(err).NotTo(HaveOccurred())
Expand All @@ -93,7 +94,7 @@ var _ = Describe("Initiator", func() {
defer close(raw)
errorCh := make(chan error, 1002)
defer close(errorCh)
config, err := infra.LoadConfig(configFile.Name())
config, err := basic.LoadConfig(configFile.Name())
Expect(err).NotTo(HaveOccurred())
crypto, err := config.LoadCrypto()
Expect(err).NotTo(HaveOccurred())
Expand Down
7 changes: 4 additions & 3 deletions pkg/infra/observer.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package infra

import (
"context"
"tape/pkg/infra/basic"
"time"

"github.com/hyperledger/fabric-protos-go/peer"
Expand All @@ -23,7 +24,7 @@ type Observer struct {
logger *log.Logger
}

func CreateObservers(ctx context.Context, crypto Crypto, errorCh chan error, blockCh chan *AddressedBlock, config Config, logger *log.Logger) (*Observers, error) {
func CreateObservers(ctx context.Context, crypto Crypto, errorCh chan error, blockCh chan *AddressedBlock, config basic.Config, logger *log.Logger) (*Observers, error) {
var workers []*Observer
for i, node := range config.Committers {
worker, err := CreateObserver(ctx, config.Channel, node, crypto, logger)
Expand All @@ -47,13 +48,13 @@ func (o *Observers) Start() {
}
}

func CreateObserver(ctx context.Context, channel string, node Node, crypto Crypto, logger *log.Logger) (*Observer, error) {
func CreateObserver(ctx context.Context, channel string, node basic.Node, crypto Crypto, logger *log.Logger) (*Observer, error) {
seek, err := CreateSignedDeliverNewestEnv(channel, crypto)
if err != nil {
return nil, err
}

deliverer, err := CreateDeliverFilteredClient(ctx, node, logger)
deliverer, err := basic.CreateDeliverFilteredClient(ctx, node, logger)
if err != nil {
return nil, err
}
Expand Down
5 changes: 3 additions & 2 deletions pkg/infra/observer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
"tape/e2e"
"tape/e2e/mock"
"tape/pkg/infra"
"tape/pkg/infra/basic"
"time"

. "github.com/onsi/ginkgo"
Expand Down Expand Up @@ -64,7 +65,7 @@ var _ = Describe("Observer", func() {
CommitThreshold: 1,
}
e2e.GenerateConfigFile(configFile.Name(), configValue)
config, err := infra.LoadConfig(configFile.Name())
config, err := basic.LoadConfig(configFile.Name())
Expect(err).NotTo(HaveOccurred())
crypto, err := config.LoadCrypto()
Expect(err).NotTo(HaveOccurred())
Expand Down Expand Up @@ -124,7 +125,7 @@ var _ = Describe("Observer", func() {
CommitThreshold: CommitThreshold,
}
e2e.GenerateConfigFile(configFile.Name(), configValue)
config, err := infra.LoadConfig(configFile.Name())
config, err := basic.LoadConfig(configFile.Name())
Expect(err).NotTo(HaveOccurred())
crypto, err := config.LoadCrypto()
Expect(err).NotTo(HaveOccurred())
Expand Down
3 changes: 2 additions & 1 deletion pkg/infra/process.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package infra
import (
"context"
"fmt"
"tape/pkg/infra/basic"
"time"

"github.com/pkg/errors"
Expand All @@ -11,7 +12,7 @@ import (

func Process(configPath string, num int, burst int, rate float64, logger *log.Logger) error {
/*** variables ***/
config, err := LoadConfig(configPath)
config, err := basic.LoadConfig(configPath)
if err != nil {
return err
}
Expand Down
15 changes: 8 additions & 7 deletions pkg/infra/proposer.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package infra
import (
"context"
"io"
"tape/pkg/infra/basic"

"github.com/hyperledger/fabric-protos-go/common"
"github.com/hyperledger/fabric-protos-go/orderer"
Expand All @@ -17,10 +18,10 @@ type Proposers struct {
ctx context.Context
signed []chan *Elements
processed chan *Elements
config Config
config basic.Config
}

func CreateProposers(ctx context.Context, signed []chan *Elements, processed chan *Elements, config Config, logger *log.Logger) (*Proposers, error) {
func CreateProposers(ctx context.Context, signed []chan *Elements, processed chan *Elements, config basic.Config, logger *log.Logger) (*Proposers, error) {
var ps [][]*Proposer
var err error
//one proposer per connection per peer
Expand Down Expand Up @@ -56,8 +57,8 @@ type Proposer struct {
logger *log.Logger
}

func CreateProposer(node Node, logger *log.Logger) (*Proposer, error) {
endorser, err := CreateEndorserClient(node, logger)
func CreateProposer(node basic.Node, logger *log.Logger) (*Proposer, error) {
endorser, err := basic.CreateEndorserClient(node, logger)
if err != nil {
return nil, err
}
Expand Down Expand Up @@ -103,7 +104,7 @@ type Broadcaster struct {
logger *log.Logger
}

func CreateBroadcasters(ctx context.Context, envs chan *Elements, errorCh chan error, config Config, logger *log.Logger) (*Broadcasters, error) {
func CreateBroadcasters(ctx context.Context, envs chan *Elements, errorCh chan error, config basic.Config, logger *log.Logger) (*Broadcasters, error) {
var workers []*Broadcaster
for i := 0; i < config.NumOfConn; i++ {
broadcaster, err := CreateBroadcaster(ctx, config.Orderer, logger)
Expand All @@ -128,8 +129,8 @@ func (bs Broadcasters) Start() {
}
}

func CreateBroadcaster(ctx context.Context, node Node, logger *log.Logger) (*Broadcaster, error) {
client, err := CreateBroadcastClient(ctx, node, logger)
func CreateBroadcaster(ctx context.Context, node basic.Node, logger *log.Logger) (*Broadcaster, error) {
client, err := basic.CreateBroadcastClient(ctx, node, logger)
if err != nil {
return nil, err
}
Expand Down
9 changes: 5 additions & 4 deletions pkg/infra/proposer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import (
"context"
"tape/e2e/mock"
"tape/pkg/infra"
"tape/pkg/infra/basic"

"github.com/hyperledger/fabric-protos-go/peer"
"github.com/hyperledger/fabric-sdk-go/pkg/fab/mocks"
Expand All @@ -25,7 +26,7 @@ var _ = Describe("Proposer", func() {

Context("CreateProposer", func() {
It("successfully creates a proposer", func() {
dummy := infra.Node{
dummy := basic.Node{
Addr: addr,
}
Proposer, err := infra.CreateProposer(dummy, logger)
Expand All @@ -34,7 +35,7 @@ var _ = Describe("Proposer", func() {
})

It("handle error ", func() {
dummy := infra.Node{
dummy := basic.Node{
Addr: "invalid_addr",
}
_, err := infra.CreateProposer(dummy, logger)
Expand All @@ -44,7 +45,7 @@ var _ = Describe("Proposer", func() {

Context("CreateBroadcasters", func() {
It("successfully creates a broadcaster", func() {
dummy := infra.Node{
dummy := basic.Node{
Addr: addr,
}
Broadcaster, err := infra.CreateBroadcaster(context.Background(), dummy, logger)
Expand All @@ -53,7 +54,7 @@ var _ = Describe("Proposer", func() {
})

It("captures connection errors", func() {
dummy := infra.Node{
dummy := basic.Node{
Addr: "invalid_addr",
}
_, err := infra.CreateBroadcaster(context.Background(), dummy, logger)
Expand Down

0 comments on commit 6261dfb

Please sign in to comment.