cloudflare/cloudflared

Public

mirrored from https://github.com/cloudflare/cloudflaredAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
2020.3.2

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

connection/manager_test.go

77lines · modeblame

80a15547Chung-Ting Huang7 years ago1package connection
2
3import (
a60c0273Adam Chalmers6 years ago4"net"
80a15547Chung-Ting Huang7 years ago5"testing"
6"time"
7
bbf31377Nick Vollmar6 years ago8"github.com/google/uuid"
9"github.com/sirupsen/logrus"
80a15547Chung-Ting Huang7 years ago10"github.com/stretchr/testify/assert"
11
bbf31377Nick Vollmar6 years ago12"github.com/cloudflare/cloudflared/cmd/cloudflared/buildinfo"
a60c0273Adam Chalmers6 years ago13"github.com/cloudflare/cloudflared/edgediscovery"
80a15547Chung-Ting Huang7 years ago14"github.com/cloudflare/cloudflared/h2mux"
a52f47c9Chung-Ting Huang6 years ago15"github.com/cloudflare/cloudflared/streamhandler"
80a15547Chung-Ting Huang7 years ago16"github.com/cloudflare/cloudflared/tunnelrpc/pogs"
17)
18
19var (
20configurable = &EdgeManagerConfigurable{
21[]h2mux.TunnelHostname{
22"http.example.com",
23"ws.example.com",
24"hello.example.com",
25},
26&pogs.EdgeConnectionConfig{
27NumHAConnections: 1,
28HeartbeatInterval: 1 * time.Second,
29Timeout: 5 * time.Second,
30MaxFailedHeartbeats: 3,
31UserCredentialPath: "/etc/cloudflared/cert.pem",
32},
33}
34cloudflaredConfig = &CloudflaredConfig{
35CloudflaredID: uuid.New(),
36Tags: []pogs.Tag{
37{Name: "pool", Value: "east-6"},
38},
39BuildInfo: &buildinfo.BuildInfo{
40GoOS: "linux",
41GoVersion: "1.12",
42GoArch: "amd64",
43CloudflaredVersion: "2019.6.0",
44},
45}
46)
47
48func mockEdgeManager() *EdgeManager {
a52f47c9Chung-Ting Huang6 years ago49newConfigChan := make(chan<- *pogs.ClientConfig)
50useConfigResultChan := make(<-chan *pogs.UseConfigurationResult)
51logger := logrus.New()
a60c0273Adam Chalmers6 years ago52edge := edgediscovery.MockEdge(logger, []*net.TCPAddr{})
80a15547Chung-Ting Huang7 years ago53return NewEdgeManager(
a52f47c9Chung-Ting Huang6 years ago54streamhandler.NewStreamHandler(newConfigChan, useConfigResultChan, logger),
80a15547Chung-Ting Huang7 years ago55configurable,
56[]byte{},
57nil,
a60c0273Adam Chalmers6 years ago58edge,
80a15547Chung-Ting Huang7 years ago59cloudflaredConfig,
a60c0273Adam Chalmers6 years ago60logger,
80a15547Chung-Ting Huang7 years ago61)
62}
63
64func TestUpdateConfigurable(t *testing.T) {
65m := mockEdgeManager()
66newConfigurable := &EdgeManagerConfigurable{
67[]h2mux.TunnelHostname{
68"second.example.com",
69},
70&pogs.EdgeConnectionConfig{
71NumHAConnections: 2,
72},
73}
74m.UpdateConfigurable(newConfigurable)
75
76assert.Equal(t, newConfigurable, m.state.getConfigurable())
77}