cloudflare/cloudflared

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
2021.12.4

Branches

Tags

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

Clone

HTTPS

Download ZIP

cfapi/virtual_network_test.go

79lines · modecode

1package cfapi
2
3import (
4 "encoding/json"
5 "strings"
6 "testing"
7 "time"
8
9 "github.com/google/uuid"
10 "github.com/stretchr/testify/require"
11)
12
13func TestVirtualNetworkJsonRoundtrip(t *testing.T) {
14 data := `{
15 "id":"74fce949-351b-4752-b261-81a56cfd3130",
16 "comment":"New York DC1",
17 "name":"us-east-1",
18 "is_default_network":true,
19 "created_at":"2021-11-26T14:40:02.600673Z",
20 "deleted_at":"2021-12-01T10:23:13.102645Z"
21 }`
22 var v VirtualNetwork
23 err := json.Unmarshal([]byte(data), &v)
24
25 require.NoError(t, err)
26 require.Equal(t, uuid.MustParse("74fce949-351b-4752-b261-81a56cfd3130"), v.ID)
27 require.Equal(t, "us-east-1", v.Name)
28 require.Equal(t, "New York DC1", v.Comment)
29 require.Equal(t, true, v.IsDefault)
30
31 bytes, err := json.Marshal(v)
32 require.NoError(t, err)
33 obtainedJson := string(bytes)
34 data = strings.Replace(data, "\t", "", -1)
35 data = strings.Replace(data, "\n", "", -1)
36 require.Equal(t, data, obtainedJson)
37}
38
39func TestMarshalNewVnet(t *testing.T) {
40 newVnet := NewVirtualNetwork{
41 Name: "eu-west-1",
42 Comment: "London office",
43 IsDefault: true,
44 }
45
46 serialized, err := json.Marshal(newVnet)
47 require.NoError(t, err)
48 require.True(t, strings.Contains(string(serialized), newVnet.Name))
49}
50
51func TestMarshalUpdateVnet(t *testing.T) {
52 newName := "bulgaria-1"
53 updates := UpdateVirtualNetwork{
54 Name: &newName,
55 }
56
57 // Test where receiver is struct
58 serialized, err := json.Marshal(updates)
59 require.NoError(t, err)
60 require.True(t, strings.Contains(string(serialized), newName))
61}
62
63func TestVnetTableString(t *testing.T) {
64 virtualNet := VirtualNetwork{
65 ID: uuid.New(),
66 Name: "us-east-1",
67 Comment: "New York DC1",
68 IsDefault: true,
69 CreatedAt: time.Now(),
70 DeletedAt: time.Time{},
71 }
72
73 row := virtualNet.TableString()
74 require.True(t, strings.HasPrefix(row, virtualNet.ID.String()))
75 require.True(t, strings.Contains(row, virtualNet.Name))
76 require.True(t, strings.Contains(row, virtualNet.Comment))
77 require.True(t, strings.Contains(row, "true"))
78 require.True(t, strings.HasSuffix(row, "-\t"))
79}
80