cloudflare/cloudflared

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
3c93d9b300de99c6906ce8799971fa347cf684e6

Branches

Tags

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

Clone

HTTPS

Download ZIP

streamhandler/request_test.go

77lines · modecode

1package streamhandler
2
3import (
4 "net/http"
5 "testing"
6
7 "github.com/cloudflare/cloudflared/h2mux"
8
9 "github.com/stretchr/testify/assert"
10)
11
12func TestH2RequestHeadersToH1Request_RegularHeaders(t *testing.T) {
13 request, err := http.NewRequest(http.MethodGet, "http://example.com", nil)
14 assert.NoError(t, err)
15
16 headersConversionErr := H2RequestHeadersToH1Request(
17 []h2mux.Header{
18 h2mux.Header{
19 Name: "Mock header 1",
20 Value: "Mock value 1",
21 },
22 h2mux.Header{
23 Name: "Mock header 2",
24 Value: "Mock value 2",
25 },
26 },
27 request,
28 )
29
30 assert.Equal(t, http.Header{
31 "Mock header 1": []string{"Mock value 1"},
32 "Mock header 2": []string{"Mock value 2"},
33 }, request.Header)
34
35 assert.NoError(t, headersConversionErr)
36}
37
38func TestH2RequestHeadersToH1Request_NoHeaders(t *testing.T) {
39 request, err := http.NewRequest(http.MethodGet, "http://example.com", nil)
40 assert.NoError(t, err)
41
42 headersConversionErr := H2RequestHeadersToH1Request(
43 []h2mux.Header{},
44 request,
45 )
46
47 assert.Equal(t, http.Header{}, request.Header)
48
49 assert.NoError(t, headersConversionErr)
50}
51
52func TestH2RequestHeadersToH1Request_InvalidHostPath(t *testing.T) {
53 request, err := http.NewRequest(http.MethodGet, "http://example.com", nil)
54 assert.NoError(t, err)
55
56 headersConversionErr := H2RequestHeadersToH1Request(
57 []h2mux.Header{
58 h2mux.Header{
59 Name: ":path",
60 Value: "//bad_path/",
61 },
62 h2mux.Header{
63 Name: "Mock header",
64 Value: "Mock value",
65 },
66 },
67 request,
68 )
69
70 assert.Equal(t, http.Header{
71 "Mock header": []string{"Mock value"},
72 }, request.Header)
73
74 assert.Equal(t, request.URL.String(), "http://example.com//bad_path/")
75
76 assert.NoError(t, headersConversionErr)
77}
78