From dcfd8db9518e38a7bf10e8be137bcc3359555387 Mon Sep 17 00:00:00 2001 From: Jonas Theis <mail@jonastheis.de> Date: Thu, 23 Apr 2020 12:00:37 +0200 Subject: [PATCH] Flexible integration tests (#339) * Introduce concept of networks * Adjust tests to use flexible Docker networks * Adjust test execution workflow * Separately build GoShimmer Docker image * Generate identities to create containers from seeds * Move Docker network functionality * Add comments and docs * Update readme * Update readme * Address PR comments * Use log instead of fmt * Introduce proper error handling * Use named return for error --- .github/workflows/integration-tests.yml | 24 +- images/docker-network.png | Bin 0 -> 45169 bytes images/integration-testing-setup.png | Bin 52960 -> 0 bytes images/integration-testing.png | Bin 0 -> 63115 bytes tools/docker-network/README.md | 36 +++ .../config.docker.json | 0 .../docker-compose.yml | 6 +- tools/integration-tests/README.md | 52 ++-- tools/integration-tests/runTests.sh | 27 +- .../tester/docker-compose.yml | 6 +- .../tester/framework/docker.go | 141 +++++++++++ .../tester/framework/framework.go | 126 +++++----- .../tester/framework/network.go | 233 ++++++++++++++++++ .../tester/framework/parameters.go | 17 +- .../tester/framework/peer.go | 84 ++----- .../tester/framework/util.go | 41 +++ tools/integration-tests/tester/go.mod | 3 +- .../tester/tests/dockerlogs_test.go | 6 +- .../tester/tests/main_test.go | 10 +- .../tester/tests/relaymessage_test.go | 13 +- 20 files changed, 593 insertions(+), 232 deletions(-) create mode 100644 images/docker-network.png delete mode 100644 images/integration-testing-setup.png create mode 100644 images/integration-testing.png create mode 100644 tools/docker-network/README.md rename tools/{integration-tests => docker-network}/config.docker.json (100%) rename tools/{integration-tests => docker-network}/docker-compose.yml (89%) create mode 100644 tools/integration-tests/tester/framework/docker.go create mode 100644 tools/integration-tests/tester/framework/network.go create mode 100644 tools/integration-tests/tester/framework/util.go diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml index a1981eed..c162dd6a 100644 --- a/.github/workflows/integration-tests.yml +++ b/.github/workflows/integration-tests.yml @@ -12,30 +12,16 @@ jobs: - name: Check out code uses: actions/checkout@v2 - - name: Build GoShimmer Docker network - run: docker-compose -f tools/integration-tests/docker-compose.yml up -d --scale peer_replica=5 --build - - - name: Dispay containers - run: docker ps -a + - name: Build GoShimmer image + run: docker build -t iotaledger/goshimmer . - name: Run integration tests run: docker-compose -f tools/integration-tests/tester/docker-compose.yml up --abort-on-container-exit --exit-code-from tester --build - - name: Stop GoShimmer Docker network - if: always() - run: docker-compose -f tools/integration-tests/docker-compose.yml stop - - - name: Create logs from containers in network + - name: Create logs from tester if: always() run: | - docker logs entry_node > tools/integration-tests/logs/entry_node.log - docker logs peer_master > tools/integration-tests/logs/peer_master.log - docker logs integration-tests_peer_replica_1 > tools/integration-tests/logs/peer_replica_1.log - docker logs integration-tests_peer_replica_2 > tools/integration-tests/logs/peer_replica_2.log - docker logs integration-tests_peer_replica_3 > tools/integration-tests/logs/peer_replica_3.log - docker logs integration-tests_peer_replica_4 > tools/integration-tests/logs/peer_replica_4.log - docker logs integration-tests_peer_replica_5 > tools/integration-tests/logs/peer_replica_5.log - docker logs tester > tools/integration-tests/logs/tester.log + docker logs tester &> tools/integration-tests/logs/tester.log - name: Save logs as artifacts if: always() @@ -46,4 +32,4 @@ jobs: - name: Clean up if: always() - run: docker-compose -f tools/integration-tests/docker-compose.yml down + run: docker-compose -f tools/integration-tests/tester/docker-compose.yml down diff --git a/images/docker-network.png b/images/docker-network.png new file mode 100644 index 0000000000000000000000000000000000000000..cffa7fc8bf4d723f86449e2d2f72a82a69df959a GIT binary patch literal 45169 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 V%-9s*z`(%3;OXk;vd$@?2>_E{R_Oo$ literal 0 HcmV?d00001 diff --git a/images/integration-testing-setup.png b/images/integration-testing-setup.png deleted file mode 100644 index 8d59e14b6a61cad794f499b25258c179cd057519..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52960 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 XL%gZ$Ek83bFfe$!`njxgN@xNA4XFBG diff --git a/images/integration-testing.png b/images/integration-testing.png new file mode 100644 index 0000000000000000000000000000000000000000..9138c7d33aac5f40c560e362688f94efc7f9519a GIT binary patch literal 63115 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 literal 0 HcmV?d00001 diff --git a/tools/docker-network/README.md b/tools/docker-network/README.md new file mode 100644 index 00000000..e901f5cd --- /dev/null +++ b/tools/docker-network/README.md @@ -0,0 +1,36 @@ +# GoShimmer Network with Docker + + + +Running `docker-compose` spins up a GoShimmer network within Docker as schematically shown in the figure above. +`N` defines the number of `peer_replicas` and can be specified when running the network. +The peers can communicate freely within the Docker network +while the autopeering network visualizer, `master_peer's` dashboard and web API are reachable from the host system on the respective ports. + +The different containers (`entry_node`, `peer_master`, `peer_replica`) are based on the same config file +and separate config file and modified as necessary, respectively. + +## How to use as development tool +Using a standalone throwaway Docker network can be really helpful as a development tool. + +Prerequisites: +- Docker 17.12.0+ +- Docker compose: file format 3.5 + +Reachable from the host system +- autopeering visualizer: http://localhost:9000 +- `master_peer's` dashboard: http: http://localhost:8081 +- `master_peer's` web API: http: http://localhost:8080 + +It is therefore possible to send messages to the local network via the `master_peer` and observe log messages either +via `docker logs --follow CONTAINER` or by starting the Docker network without the `-d` option, as follows. + +``` +docker-compose up --scale peer_replica=5 + +# remove containers and network +docker-compose down +``` + +Sometimes when changing files Docker does not detect the changes on a rebuild. +Then the option `--build` needs to be used with `docker-compose`. \ No newline at end of file diff --git a/tools/integration-tests/config.docker.json b/tools/docker-network/config.docker.json similarity index 100% rename from tools/integration-tests/config.docker.json rename to tools/docker-network/config.docker.json diff --git a/tools/integration-tests/docker-compose.yml b/tools/docker-network/docker-compose.yml similarity index 89% rename from tools/integration-tests/docker-compose.yml rename to tools/docker-network/docker-compose.yml index 068a95ba..9735f8cf 100644 --- a/tools/integration-tests/docker-compose.yml +++ b/tools/docker-network/docker-compose.yml @@ -10,7 +10,7 @@ services: volumes: - ./config.docker.json:/config.json:ro ports: - - "9000:9000/tcp" # visualizer + - "127.0.0.1:9000:9000/tcp" # autopeering visualizer expose: - "1888/tcp" # analysis server (within Docker network) networks: @@ -24,8 +24,8 @@ services: volumes: - ./config.docker.json:/config.json:ro ports: - - "8080:8080/tcp" # web API - - "8081:8081/tcp" # dashboard + - "127.0.0.1:8080:8080/tcp" # web API + - "127.0.0.1:8081:8081/tcp" # dashboard depends_on: - entry_node networks: diff --git a/tools/integration-tests/README.md b/tools/integration-tests/README.md index 156b5d2b..c24d2c58 100644 --- a/tools/integration-tests/README.md +++ b/tools/integration-tests/README.md @@ -1,53 +1,39 @@ # Integration tests with Docker - + -Running the integration tests spins up a GoShimmer network within Docker as schematically shown in the figure above. -`N` defines the number of `peer_replicas` and can be specified when running the network. -The peers can communicate freely within the Docker network and this is exactly how the tests are run using the `tester` container. -Test can be written in regular Go style while the framework provides convenience functions to access a specific peer's web API or logs. +Running the integration tests spins up a `tester` container within which every test can specify its own GoShimmer network with Docker as schematically shown in the figure above. -The autopeering network visualizer, `master_peer's` dashboard and web API are reachable from the host system on the respective ports. - -The different containers (`entry_node`, `peer_master`, `peer_replica`) load separate config files that can be modified as necessary, respectively. +Peers can communicate freely within their Docker network and this is exactly how the tests are run using the `tester` container. +Test can be written in regular Go style while the framework provides convenience functions to create a new network, access a specific peer's web API or logs. ## How to run Prerequisites: -- Docker -- Docker compose +- Docker 17.12.0+ +- Docker compose: file format 3.5 ``` # Mac & Linux ./runTests.sh ``` -The tests produce `*.log` files for every peer in the `logs` folder after every run. +The tests produce `*.log` files for every networks' peer in the `logs` folder after every run. -Currently, the integration tests are configured to run on every push to GitHub with `peer_replica=5`. -The logs of every peer are stored as artifacts and can be downloaded for closer inspection once the job finishes. +On GitHub logs of every peer are stored as artifacts and can be downloaded for closer inspection once the job finishes. ## Creating tests Tests can be written in regular Go style. Each tested component should reside in its own test file in `tester/tests`. `main_test` with its `TestMain` function is executed before any test in the package and initializes the integration test framework. - -## Use as development tool -Using a standalone throwaway Docker network can be really helpful as a development tool as well. - -Reachable from the host system -- visualizer: http://localhost:9000 -- `master_peer's` dashboard: http: http://localhost:8081 -- `master_peer's` web API: http: http://localhost:8080 - -It is therefore possible to send messages to the local network via the `master_peer` and observe log messages either -via `docker logs --follow CONTAINER` or by starting the Docker network without the `-d` option, as follows. - +Each test has to specify its network where the tests are run. This can be done via the framework at the beginning of a test. +```go +// create a network with name 'testnetwork' with 6 peers and wait until every peer has at least 3 neighbors +n := f.CreateNetwork("testnetwork", 6, 3) +// must be called to create log files and properly clean up +defer n.Shutdown() ``` -docker-compose -f docker-compose.yml up --scale peer_replica=5 - -# 1. test manually with master_peer -# 2. or run in separate terminal window -docker-compose -f tester/docker-compose.yml up --exit-code-from tester -``` -Sometimes when changing files, either in the tests or in GoShimmer, Docker does not detect the changes on a rebuild. -Then the option `--build` needs to be used with `docker-compose`. \ No newline at end of file +## Other tips +Useful for development is to only execute the test you're currently building. For that matter, simply modify the `docker-compose.yml` file as follows: +```yaml +entrypoint: go test ./tests -run <YOUR_TEST_NAME> -v -mod=readonly +``` \ No newline at end of file diff --git a/tools/integration-tests/runTests.sh b/tools/integration-tests/runTests.sh index eb2e4de6..9f885f01 100755 --- a/tools/integration-tests/runTests.sh +++ b/tools/integration-tests/runTests.sh @@ -1,32 +1,13 @@ #!/bin/bash -if [ -z "$1" ]; then - echo "Usage: `basename $0` number_of_peer_replicas" - exit 0 -fi - -REPLICAS=$1 - -echo "Build GoShimmer Docker network" -docker-compose -f docker-compose.yml up -d --scale peer_replica=$REPLICAS --build -if [ $? -ne 0 ]; then { echo "Failed, aborting." ; exit 1; } fi - -echo "Dispay containers" -docker ps -a +echo "Build GoShimmer image" +docker build -t iotaledger/goshimmer ../../. echo "Run integration tests" docker-compose -f tester/docker-compose.yml up --abort-on-container-exit --exit-code-from tester --build echo "Create logs from containers in network" -docker-compose -f docker-compose.yml stop -docker logs tester > logs/tester.log -docker logs entry_node > logs/entry_node.log -docker logs peer_master > logs/peer_master.log -for (( c=1; c<=$REPLICAS; c++ )) -do -docker logs integration-tests_peer_replica_$c > logs/peer_replica_$c.log -done +docker logs tester &> logs/tester.log echo "Clean up" -docker-compose -f tester/docker-compose.yml down -docker-compose -f docker-compose.yml down +docker-compose -f tester/docker-compose.yml down \ No newline at end of file diff --git a/tools/integration-tests/tester/docker-compose.yml b/tools/integration-tests/tester/docker-compose.yml index dda307f0..62bfbd4c 100644 --- a/tools/integration-tests/tester/docker-compose.yml +++ b/tools/integration-tests/tester/docker-compose.yml @@ -9,9 +9,5 @@ services: volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - ../../..:/go/src/github.com/iotaledger/goshimmer:ro - networks: - - integration-test + - ../logs:/tmp/logs -networks: - integration-test: - external: true diff --git a/tools/integration-tests/tester/framework/docker.go b/tools/integration-tests/tester/framework/docker.go new file mode 100644 index 00000000..1851325c --- /dev/null +++ b/tools/integration-tests/tester/framework/docker.go @@ -0,0 +1,141 @@ +package framework + +import ( + "context" + "fmt" + "io" + "time" + + "github.com/docker/docker/api/types" + "github.com/docker/docker/api/types/container" + "github.com/docker/docker/api/types/strslice" + "github.com/docker/docker/client" + "github.com/docker/go-connections/nat" +) + +// newDockerClient creates a Docker client that communicates via the Docker socket. +func newDockerClient() (*client.Client, error) { + return client.NewClient( + "unix:///var/run/docker.sock", + "", + nil, + nil, + ) +} + +// Wrapper object for a Docker container. +type DockerContainer struct { + client *client.Client + id string +} + +// NewDockerContainer creates a new DockerContainer. +func NewDockerContainer(c *client.Client) *DockerContainer { + return &DockerContainer{client: c} +} + +// NewDockerContainerFromExisting creates a new DockerContainer from an already existing Docker container by name. +func NewDockerContainerFromExisting(c *client.Client, name string) (*DockerContainer, error) { + containers, err := c.ContainerList(context.Background(), types.ContainerListOptions{}) + if err != nil { + return nil, err + } + + for _, cont := range containers { + if cont.Names[0] == name { + return &DockerContainer{ + client: c, + id: cont.ID, + }, nil + } + } + + return nil, fmt.Errorf("could not find container with name '%s'", name) +} + +// CreateGoShimmerEntryNode creates a new container with the GoShimmer entry node's configuration. +func (d *DockerContainer) CreateGoShimmerEntryNode(name string, seed string) error { + containerConfig := &container.Config{ + Image: "iotaledger/goshimmer", + ExposedPorts: nil, + Cmd: strslice.StrSlice{ + fmt.Sprintf("--node.disablePlugins=%s", disabledPluginsEntryNode), + "--autopeering.entryNodes=", + fmt.Sprintf("--autopeering.seed=%s", seed), + }, + } + + return d.CreateContainer(name, containerConfig) +} + +// CreateGoShimmerPeer creates a new container with the GoShimmer peer's configuration. +func (d *DockerContainer) CreateGoShimmerPeer(name string, seed string, entryNodeHost string, entryNodePublicKey string) error { + // configure GoShimmer container instance + containerConfig := &container.Config{ + Image: "iotaledger/goshimmer", + ExposedPorts: nat.PortSet{ + nat.Port("8080/tcp"): {}, + }, + Cmd: strslice.StrSlice{ + fmt.Sprintf("--node.disablePlugins=%s", disabledPluginsPeer), + "--webapi.bindAddress=0.0.0.0:8080", + fmt.Sprintf("--autopeering.seed=%s", seed), + fmt.Sprintf("--autopeering.entryNodes=%s@%s:14626", entryNodePublicKey, entryNodeHost), + }, + } + + return d.CreateContainer(name, containerConfig) +} + +// CreateContainer creates a new container with the given configuration. +func (d *DockerContainer) CreateContainer(name string, containerConfig *container.Config) error { + resp, err := d.client.ContainerCreate(context.Background(), containerConfig, nil, nil, name) + if err != nil { + return err + } + + d.id = resp.ID + return nil +} + +// ConnectToNetwork connects a container to an existent network in the docker host. +func (d *DockerContainer) ConnectToNetwork(networkId string) error { + return d.client.NetworkConnect(context.Background(), networkId, d.id, nil) +} + +// DisconnectFromNetwork disconnects a container from an existent network in the docker host. +func (d *DockerContainer) DisconnectFromNetwork(networkId string) error { + return d.client.NetworkDisconnect(context.Background(), networkId, d.id, true) +} + +// Start sends a request to the docker daemon to start a container. +func (d *DockerContainer) Start() error { + return d.client.ContainerStart(context.Background(), d.id, types.ContainerStartOptions{}) +} + +// Remove kills and removes a container from the docker host. +func (d *DockerContainer) Remove() error { + return d.client.ContainerRemove(context.Background(), d.id, types.ContainerRemoveOptions{Force: true}) +} + +// Stop stops a container without terminating the process. +// The process is blocked until the container stops or the timeout expires. +func (d *DockerContainer) Stop() error { + duration := 10 * time.Second + return d.client.ContainerStop(context.Background(), d.id, &duration) +} + +// Logs returns the logs of the container as io.ReadCloser. +func (d *DockerContainer) Logs() (io.ReadCloser, error) { + options := types.ContainerLogsOptions{ + ShowStdout: true, + ShowStderr: true, + Since: "", + Timestamps: false, + Follow: false, + Tail: "", + Details: false, + } + + return d.client.ContainerLogs(context.Background(), d.id, options) +} diff --git a/tools/integration-tests/tester/framework/framework.go b/tools/integration-tests/tester/framework/framework.go index 58aba94d..71d81786 100644 --- a/tools/integration-tests/tester/framework/framework.go +++ b/tools/integration-tests/tester/framework/framework.go @@ -1,99 +1,85 @@ // Package framework provides integration test functionality for GoShimmer with a Docker network. -// It effectively abstracts away all complexity with discovering peers, -// waiting for them to autopeer and offers easy access to the peers' web API -// and logs via Docker. +// It effectively abstracts away all complexity with creating a custom Docker network per test, +// discovering peers, waiting for them to autopeer and offers easy access to the peers' web API and logs. package framework import ( - "fmt" - "math/rand" + "strings" + "sync" "time" "github.com/docker/docker/client" ) -// Framework is a wrapper encapsulating all peers +var ( + once sync.Once + instance *Framework +) + +// Framework is a wrapper that provides the integration testing functionality. type Framework struct { - peers []*Peer - dockerCli *client.Client + tester *DockerContainer + dockerClient *client.Client } -// New creates a new instance of Framework, gets all available peers within the Docker network and -// waits for them to autopeer. -// Panics if no peer is found. -func New() *Framework { - fmt.Printf("Finding available peers...\n") +// Instance returns the singleton Framework instance. +func Instance() (f *Framework, err error) { + once.Do(func() { + f, err = newFramework() + instance = f + }) - cli, err := client.NewClient( - "unix:///var/run/docker.sock", - "", - nil, - nil, - ) + return instance, err +} + +// newFramework creates a new instance of Framework, creates a DockerClient +// and creates a DockerContainer for the tester container where the tests are running in. +func newFramework() (*Framework, error) { + dockerClient, err := newDockerClient() if err != nil { - fmt.Println("Could not create docker CLI client.") - panic(err) + return nil, err } - f := &Framework{ - dockerCli: cli, - peers: getAvailablePeers(cli), + tester, err := NewDockerContainerFromExisting(dockerClient, containerNameTester) + if err != nil { + return nil, err } - if len(f.peers) == 0 { - panic("Could not find any peers in Docker network.") + f := &Framework{ + dockerClient: dockerClient, + tester: tester, } - fmt.Printf("Finding available peers... done. Peers: %v\n", f.peers) - - fmt.Printf("Waiting for autopeering...\n") - f.waitForAutopeering() - fmt.Printf("Waiting for autopeering... done\n") - return f + return f, nil } -// waitForAutopeering waits until all peers have reached a minimum amount of neighbors. -// Panics if this minimum is not reached after autopeeringMaxTries. -func (f *Framework) waitForAutopeering() { - maxTries := autopeeringMaxTries - for maxTries > 0 { +// CreateNetwork creates and returns a (Docker) Network that contains `peers` GoShimmer nodes. +// It waits for the peers to autopeer until the minimum neighbors criteria is met for every peer. +func (f *Framework) CreateNetwork(name string, peers int, minimumNeighbors int) (*Network, error) { + network, err := newNetwork(f.dockerClient, strings.ToLower(name), f.tester) + if err != nil { + return nil, err + } - for _, p := range f.peers { - if resp, err := p.GetNeighbors(false); err != nil { - fmt.Printf("request error: %v\n", err) - } else { - p.SetNeighbors(resp.Chosen, resp.Accepted) - } - } + err = network.createEntryNode() + if err != nil { + return nil, err + } - // verify neighbor requirement - min := 100 - total := 0 - for _, p := range f.peers { - neighbors := p.TotalNeighbors() - if neighbors < min { - min = neighbors - } - total += neighbors + // create peers/GoShimmer nodes + for i := 0; i < peers; i++ { + _, err = network.CreatePeer() + if err != nil { + return nil, err } - if min >= autopeeringMinimumNeighbors { - fmt.Printf("Neighbors: min=%d avg=%.2f\n", min, float64(total)/float64(len(f.peers))) - return - } - - fmt.Println("Not done yet. Try again in 5 seconds...") - time.Sleep(5 * time.Second) - maxTries-- } - panic("Peering not successful.") -} -// Peers returns all available peers. -func (f *Framework) Peers() []*Peer { - return f.peers -} + // wait until containers are fully started + time.Sleep(1 * time.Second) + err = network.WaitForAutopeering(minimumNeighbors) + if err != nil { + return nil, err + } -// RandomPeer returns a random peer out of the list of peers. -func (f *Framework) RandomPeer() *Peer { - return f.peers[rand.Intn(len(f.peers))] + return network, nil } diff --git a/tools/integration-tests/tester/framework/network.go b/tools/integration-tests/tester/framework/network.go new file mode 100644 index 00000000..3b4c9480 --- /dev/null +++ b/tools/integration-tests/tester/framework/network.go @@ -0,0 +1,233 @@ +package framework + +import ( + "context" + "crypto/ed25519" + "encoding/base64" + "fmt" + "log" + "math/rand" + "time" + + "github.com/docker/docker/api/types" + "github.com/docker/docker/client" + hive_ed25519 "github.com/iotaledger/hive.go/crypto/ed25519" + "github.com/iotaledger/hive.go/identity" +) + +// Network represents a complete GoShimmer network within Docker. +// Including an entry node and arbitrary many peers. +type Network struct { + id string + name string + + peers []*Peer + tester *DockerContainer + + entryNode *DockerContainer + entryNodeIdentity *identity.Identity + + dockerClient *client.Client +} + +// newNetwork returns a Network instance, creates its underlying Docker network and adds the tester container to the network. +func newNetwork(dockerClient *client.Client, name string, tester *DockerContainer) (*Network, error) { + // create Docker network + resp, err := dockerClient.NetworkCreate(context.Background(), name, types.NetworkCreate{}) + if err != nil { + return nil, err + } + + // the tester container needs to join the Docker network in order to communicate with the peers + err = tester.ConnectToNetwork(resp.ID) + if err != nil { + return nil, err + } + + return &Network{ + id: resp.ID, + name: name, + tester: tester, + dockerClient: dockerClient, + }, nil +} + +// createEntryNode creates the network's entry node. +func (n *Network) createEntryNode() error { + // create identity + publicKey, privateKey, err := hive_ed25519.GenerateKey() + if err != nil { + return err + } + + n.entryNodeIdentity = identity.New(publicKey) + seed := base64.StdEncoding.EncodeToString(ed25519.PrivateKey(privateKey.Bytes()).Seed()) + + // create entry node container + n.entryNode = NewDockerContainer(n.dockerClient) + err = n.entryNode.CreateGoShimmerEntryNode(n.namePrefix(containerNameEntryNode), seed) + if err != nil { + return err + } + err = n.entryNode.ConnectToNetwork(n.id) + if err != nil { + return err + } + err = n.entryNode.Start() + if err != nil { + return err + } + + return nil +} + +// CreatePeer creates a new peer/GoShimmer node in the network and returns it. +func (n *Network) CreatePeer() (*Peer, error) { + name := n.namePrefix(fmt.Sprintf("%s%d", containerNameReplica, len(n.peers))) + + // create identity + publicKey, privateKey, err := hive_ed25519.GenerateKey() + if err != nil { + return nil, err + } + seed := base64.StdEncoding.EncodeToString(ed25519.PrivateKey(privateKey.Bytes()).Seed()) + + // create Docker container + container := NewDockerContainer(n.dockerClient) + err = container.CreateGoShimmerPeer(name, seed, n.namePrefix(containerNameEntryNode), n.entryNodePublicKey()) + if err != nil { + return nil, err + } + err = container.ConnectToNetwork(n.id) + if err != nil { + return nil, err + } + err = container.Start() + if err != nil { + return nil, err + } + + peer := newPeer(name, identity.New(publicKey), container) + n.peers = append(n.peers, peer) + return peer, nil +} + +// Shutdown creates logs and removes network and containers. +// Should always be called when a network is not needed anymore! +func (n *Network) Shutdown() error { + // stop containers + err := n.entryNode.Stop() + if err != nil { + return err + } + for _, p := range n.peers { + err = p.Stop() + if err != nil { + return err + } + } + + // retrieve logs + logs, err := n.entryNode.Logs() + if err != nil { + return err + } + err = createLogFile(n.namePrefix(containerNameEntryNode), logs) + if err != nil { + return err + } + for _, p := range n.peers { + logs, err = p.Logs() + if err != nil { + return err + } + err = createLogFile(p.name, logs) + if err != nil { + return err + } + } + + // remove containers + err = n.entryNode.Remove() + if err != nil { + return err + } + for _, p := range n.peers { + err = p.Remove() + if err != nil { + return err + } + } + + // disconnect tester from network otherwise the network can't be removed + err = n.tester.DisconnectFromNetwork(n.id) + if err != nil { + return err + } + + // remove network + err = n.dockerClient.NetworkRemove(context.Background(), n.id) + if err != nil { + return err + } + + return nil +} + +// WaitForAutopeering waits until all peers have reached the minimum amount of neighbors. +// Returns error if this minimum is not reached after autopeeringMaxTries. +func (n *Network) WaitForAutopeering(minimumNeighbors int) error { + log.Printf("Waiting for autopeering...\n") + defer log.Printf("Waiting for autopeering... done\n") + + for i := autopeeringMaxTries; i > 0; i-- { + + for _, p := range n.peers { + if resp, err := p.GetNeighbors(false); err != nil { + log.Printf("request error: %v\n", err) + } else { + p.SetNeighbors(resp.Chosen, resp.Accepted) + } + } + + // verify neighbor requirement + min := 100 + total := 0 + for _, p := range n.peers { + neighbors := p.TotalNeighbors() + if neighbors < min { + min = neighbors + } + total += neighbors + } + if min >= minimumNeighbors { + log.Printf("Neighbors: min=%d avg=%.2f\n", min, float64(total)/float64(len(n.peers))) + return nil + } + + log.Println("Not done yet. Try again in 5 seconds...") + time.Sleep(5 * time.Second) + } + + return fmt.Errorf("autopeering not successful") +} + +// namePrefix returns the suffix prefixed with the name. +func (n *Network) namePrefix(suffix string) string { + return fmt.Sprintf("%s-%s", n.name, suffix) +} + +// entryNodePublicKey returns the entry node's public key encoded as base64 +func (n *Network) entryNodePublicKey() string { + return base64.StdEncoding.EncodeToString(n.entryNodeIdentity.PublicKey().Bytes()) +} + +// Peers returns all available peers in the network. +func (n *Network) Peers() []*Peer { + return n.peers +} + +// RandomPeer returns a random peer out of the list of peers. +func (n *Network) RandomPeer() *Peer { + return n.peers[rand.Intn(len(n.peers))] +} diff --git a/tools/integration-tests/tester/framework/parameters.go b/tools/integration-tests/tester/framework/parameters.go index a054aa30..d7c7c938 100644 --- a/tools/integration-tests/tester/framework/parameters.go +++ b/tools/integration-tests/tester/framework/parameters.go @@ -1,11 +1,18 @@ package framework const ( - hostnamePeerMaster = "peer_master" - hostnamePeerReplicaPrefix = "integration-tests_peer_replica_" - - autopeeringMaxTries = 50 - autopeeringMinimumNeighbors = 2 + autopeeringMaxTries = 50 apiPort = "8080" + + containerNameTester = "/tester" + containerNameEntryNode = "entry_node" + containerNameReplica = "replica_" + + logsDir = "/tmp/logs/" + + disabledPluginsEntryNode = "portcheck,spa,analysis,gossip,webapi,webapibroadcastdataendpoint,webapifindtransactionhashesendpoint,webapigetneighborsendpoint,webapigettransactionobjectsbyhashendpoint,webapigettransactiontrytesbyhashendpoint" + disabledPluginsPeer = "portcheck,spa,analysis" + + dockerLogsPrefixLen = 8 ) diff --git a/tools/integration-tests/tester/framework/peer.go b/tools/integration-tests/tester/framework/peer.go index 4df0f64c..2ae1774e 100644 --- a/tools/integration-tests/tester/framework/peer.go +++ b/tools/integration-tests/tester/framework/peer.go @@ -1,42 +1,44 @@ package framework import ( - "context" "fmt" - "io" - "net" "net/http" "time" - "github.com/docker/docker/api/types" - dockerclient "github.com/docker/docker/client" - "github.com/iotaledger/goshimmer/client" "github.com/iotaledger/goshimmer/plugins/webapi/autopeering" + "github.com/iotaledger/hive.go/identity" ) // Peer represents a GoShimmer node inside the Docker network type Peer struct { + // name of the GoShimmer instance, Docker container and hostname name string - ip net.IP + // GoShimmer identity + identity *identity.Identity + + // Web API of this peer *client.GoShimmerAPI - dockerCli *dockerclient.Client - chosen []autopeering.Neighbor - accepted []autopeering.Neighbor + + // the DockerContainer that this peer is running in + *DockerContainer + + chosen []autopeering.Neighbor + accepted []autopeering.Neighbor } -// NewPeer creates a new instance of Peer with the given information. -func NewPeer(name string, ip net.IP, dockerCli *dockerclient.Client) *Peer { +// newPeer creates a new instance of Peer with the given information. +func newPeer(name string, identity *identity.Identity, dockerContainer *DockerContainer) *Peer { return &Peer{ - name: name, - ip: ip, - GoShimmerAPI: client.NewGoShimmerAPI(getWebApiBaseUrl(ip), http.Client{Timeout: 30 * time.Second}), - dockerCli: dockerCli, + name: name, + identity: identity, + GoShimmerAPI: client.NewGoShimmerAPI(getWebApiBaseUrl(name), http.Client{Timeout: 30 * time.Second}), + DockerContainer: dockerContainer, } } func (p *Peer) String() string { - return fmt.Sprintf("Peer:{%s, %s, %s, %d}", p.name, p.ip.String(), p.BaseUrl(), p.TotalNeighbors()) + return fmt.Sprintf("Peer:{%s, %s, %s, %d}", p.name, p.identity.ID().String(), p.BaseUrl(), p.TotalNeighbors()) } // TotalNeighbors returns the total number of neighbors the peer has. @@ -52,51 +54,3 @@ func (p *Peer) SetNeighbors(chosen, accepted []autopeering.Neighbor) { p.accepted = make([]autopeering.Neighbor, len(accepted)) copy(p.accepted, accepted) } - -// Logs returns the logs of the peer as io.ReadCloser. -// Logs are returned via Docker and contain every log entry since start of the container/GoShimmer node. -func (p *Peer) Logs() (io.ReadCloser, error) { - return p.dockerCli.ContainerLogs( - context.Background(), - p.name, - types.ContainerLogsOptions{ - ShowStdout: true, - ShowStderr: true, - Since: "", - Timestamps: false, - Follow: false, - Tail: "", - Details: false, - }) -} - -// getAvailablePeers gets all available peers in the Docker network. -// It uses the expected Docker hostnames and tries to resolve them. -// If that does not work it means the host is not available in the network -func getAvailablePeers(dockerCli *dockerclient.Client) (peers []*Peer) { - // get peer master - if addr, err := net.LookupIP(hostnamePeerMaster); err != nil { - fmt.Printf("Could not resolve %s\n", hostnamePeerMaster) - } else { - p := NewPeer(hostnamePeerMaster, addr[0], dockerCli) - peers = append(peers, p) - } - - // get peer replicas - for i := 1; ; i++ { - peerName := fmt.Sprintf("%s%d", hostnamePeerReplicaPrefix, i) - if addr, err := net.LookupIP(peerName); err != nil { - //fmt.Printf("Could not resolve %s\n", peerName) - break - } else { - p := NewPeer(peerName, addr[0], dockerCli) - peers = append(peers, p) - } - } - return -} - -// getWebApiBaseUrl returns the web API base url for the given IP. -func getWebApiBaseUrl(ip net.IP) string { - return fmt.Sprintf("http://%s:%s", ip.String(), apiPort) -} diff --git a/tools/integration-tests/tester/framework/util.go b/tools/integration-tests/tester/framework/util.go new file mode 100644 index 00000000..98b5ced9 --- /dev/null +++ b/tools/integration-tests/tester/framework/util.go @@ -0,0 +1,41 @@ +package framework + +import ( + "bufio" + "fmt" + "io" + "os" +) + +// getWebApiBaseUrl returns the web API base url for the given IP. +func getWebApiBaseUrl(hostname string) string { + return fmt.Sprintf("http://%s:%s", hostname, apiPort) +} + +// createLogFile creates a log file from the given logs ReadCloser. +func createLogFile(name string, logs io.ReadCloser) error { + defer logs.Close() + + f, err := os.Create(fmt.Sprintf("%s%s.log", logsDir, name)) + if err != nil { + return err + } + defer f.Close() + + // remove non-ascii chars at beginning of line + scanner := bufio.NewScanner(logs) + for scanner.Scan() { + bytes := append(scanner.Bytes()[dockerLogsPrefixLen:], '\n') + _, err = f.Write(bytes) + if err != nil { + return err + } + } + + err = f.Sync() + if err != nil { + return err + } + + return nil +} diff --git a/tools/integration-tests/tester/go.mod b/tools/integration-tests/tester/go.mod index 9f8a2f04..e0be4d04 100644 --- a/tools/integration-tests/tester/go.mod +++ b/tools/integration-tests/tester/go.mod @@ -6,9 +6,10 @@ require ( github.com/Microsoft/go-winio v0.4.14 // indirect github.com/docker/distribution v2.7.1+incompatible // indirect github.com/docker/docker v1.13.1 - github.com/docker/go-connections v0.4.0 // indirect + github.com/docker/go-connections v0.4.0 github.com/docker/go-units v0.4.0 // indirect github.com/iotaledger/goshimmer v0.1.3 + github.com/iotaledger/hive.go v0.0.0-20200403132600-4c10556e08a0 github.com/opencontainers/go-digest v1.0.0-rc1 // indirect github.com/stretchr/testify v1.5.1 ) diff --git a/tools/integration-tests/tester/tests/dockerlogs_test.go b/tools/integration-tests/tester/tests/dockerlogs_test.go index 49189d96..877698d5 100644 --- a/tools/integration-tests/tester/tests/dockerlogs_test.go +++ b/tools/integration-tests/tester/tests/dockerlogs_test.go @@ -12,9 +12,13 @@ import ( // TestDockerLogs simply verifies that a peer's log message contains "GoShimmer". // Using the combination of logs and regular expressions can be useful to test a certain peer's behavior. func TestDockerLogs(t *testing.T) { + n, err := f.CreateNetwork("TestDockerLogs", 3, 1) + require.NoError(t, err) + defer n.Shutdown() + r := regexp.MustCompile("GoShimmer") - for _, p := range f.Peers() { + for _, p := range n.Peers() { log, err := p.Logs() require.NoError(t, err) diff --git a/tools/integration-tests/tester/tests/main_test.go b/tools/integration-tests/tester/tests/main_test.go index bc82c6c9..4b00cad4 100644 --- a/tools/integration-tests/tester/tests/main_test.go +++ b/tools/integration-tests/tester/tests/main_test.go @@ -1,8 +1,8 @@ // Package tests provides the possibility to write integration tests in regular Go style. // The integration test framework is initialized before any test in the package runs and -// thus can readily be used to make requests to peers and read their logs. +// thus can readily be used to create networks. // -// Each tested feature should reside in its own test file and define tests cases as necessary. +// Each tested feature should reside in its own test file and define tests cases and networks as necessary. package tests import ( @@ -17,7 +17,11 @@ var f *framework.Framework // TestMain gets called by the test utility and is executed before any other test in this package. // It is therefore used to initialize the integration testing framework. func TestMain(m *testing.M) { - f = framework.New() + var err error + f, err = framework.Instance() + if err != nil { + panic(err) + } // call the tests os.Exit(m.Run()) diff --git a/tools/integration-tests/tester/tests/relaymessage_test.go b/tools/integration-tests/tester/tests/relaymessage_test.go index ad29b94a..711eeb3f 100644 --- a/tools/integration-tests/tester/tests/relaymessage_test.go +++ b/tools/integration-tests/tester/tests/relaymessage_test.go @@ -11,24 +11,29 @@ import ( // TestRelayMessages checks whether messages are actually relayed/gossiped through the network // by checking the messages' existence on all nodes after a cool down. func TestRelayMessages(t *testing.T) { - numMessages := 100 + n, err := f.CreateNetwork("TestRelayMessages", 6, 3) + require.NoError(t, err) + defer n.Shutdown() + + numMessages := 105 ids := make([]string, numMessages) data := []byte("Test") // create messages on random peers for i := 0; i < numMessages; i++ { - id, err := f.RandomPeer().Data(data) + peer := n.RandomPeer() + id, err := peer.Data(data) require.NoError(t, err) ids[i] = id } // wait for messages to be gossiped - time.Sleep(5 * time.Second) + time.Sleep(10 * time.Second) // check for messages on every peer - for _, peer := range f.Peers() { + for _, peer := range n.Peers() { resp, err := peer.FindMessageById(ids) require.NoError(t, err) -- GitLab