77 lines
1.7 KiB
Go
77 lines
1.7 KiB
Go
/*
|
|
Copyright IBM Corp All Rights Reserved.
|
|
|
|
SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
package nwo
|
|
|
|
import (
|
|
"fmt"
|
|
"io/ioutil"
|
|
"net/http"
|
|
|
|
"github.com/hyperledger/fabric/integration/nwo/runner"
|
|
. "github.com/onsi/gomega"
|
|
"github.com/onsi/gomega/gexec"
|
|
)
|
|
|
|
type Components struct {
|
|
ServerAddress string `json:"server_address"`
|
|
}
|
|
|
|
func (c *Components) ConfigTxGen() string {
|
|
return c.Build("github.com/hyperledger/fabric/cmd/configtxgen")
|
|
}
|
|
|
|
func (c *Components) Cryptogen() string {
|
|
return c.Build("github.com/hyperledger/fabric/cmd/cryptogen")
|
|
}
|
|
|
|
func (c *Components) Discover() string {
|
|
return c.Build("github.com/hyperledger/fabric/cmd/discover")
|
|
}
|
|
|
|
func (c *Components) Idemixgen() string {
|
|
idemixgen, err := gexec.Build("github.com/IBM/idemix/tools/idemixgen", "-mod=mod")
|
|
Expect(err).NotTo(HaveOccurred())
|
|
return idemixgen
|
|
}
|
|
|
|
func (c *Components) Orderer() string {
|
|
return c.Build("github.com/hyperledger/fabric/cmd/orderer")
|
|
}
|
|
|
|
func (c *Components) Osnadmin() string {
|
|
return c.Build("github.com/hyperledger/fabric/cmd/osnadmin")
|
|
}
|
|
|
|
func (c *Components) Peer() string {
|
|
return c.Build("github.com/hyperledger/fabric/cmd/peer")
|
|
}
|
|
|
|
func (c *Components) Cleanup() {}
|
|
|
|
func (c *Components) Build(path string) string {
|
|
Expect(c.ServerAddress).NotTo(BeEmpty(), "build server address is empty")
|
|
|
|
resp, err := http.Get(fmt.Sprintf("http://%s/%s", c.ServerAddress, path))
|
|
Expect(err).NotTo(HaveOccurred())
|
|
|
|
body, err := ioutil.ReadAll(resp.Body)
|
|
Expect(err).NotTo(HaveOccurred())
|
|
|
|
if resp.StatusCode != http.StatusOK {
|
|
Expect(resp.StatusCode).To(Equal(http.StatusOK), string(body))
|
|
}
|
|
|
|
return string(body)
|
|
}
|
|
|
|
const CCEnvDefaultImage = "hyperledger/fabric-ccenv:latest"
|
|
|
|
var RequiredImages = []string{
|
|
CCEnvDefaultImage,
|
|
runner.CouchDBDefaultImage,
|
|
}
|