~hduran-8/+junk/caddylegacy

« back to all changes in this revision

Viewing changes to debian/gocode/src/github.com/mholt/caddy/caddyhttp/gzip/setup_test.go

  • Committer: Horacio Durán
  • Date: 2016-10-14 14:33:43 UTC
  • Revision ID: horacio.duran@canonical.com-20161014143343-ytyhz5sx7d1cje4q
Added new upstream version

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
package gzip
 
2
 
 
3
import (
 
4
        "testing"
 
5
 
 
6
        "github.com/mholt/caddy"
 
7
        "github.com/mholt/caddy/caddyhttp/httpserver"
 
8
)
 
9
 
 
10
func TestSetup(t *testing.T) {
 
11
        c := caddy.NewTestController("http", `gzip`)
 
12
        err := setup(c)
 
13
        if err != nil {
 
14
                t.Errorf("Expected no errors, but got: %v", err)
 
15
        }
 
16
        mids := httpserver.GetConfig(c).Middleware()
 
17
        if mids == nil {
 
18
                t.Fatal("Expected middleware, was nil instead")
 
19
        }
 
20
 
 
21
        handler := mids[0](httpserver.EmptyNext)
 
22
        myHandler, ok := handler.(Gzip)
 
23
        if !ok {
 
24
                t.Fatalf("Expected handler to be type Gzip, got: %#v", handler)
 
25
        }
 
26
 
 
27
        if !httpserver.SameNext(myHandler.Next, httpserver.EmptyNext) {
 
28
                t.Error("'Next' field of handler was not set properly")
 
29
        }
 
30
 
 
31
        tests := []struct {
 
32
                input     string
 
33
                shouldErr bool
 
34
        }{
 
35
                {`gzip {`, true},
 
36
                {`gzip {}`, true},
 
37
                {`gzip a b`, true},
 
38
                {`gzip a {`, true},
 
39
                {`gzip { not f } `, true},
 
40
                {`gzip { not } `, true},
 
41
                {`gzip { not /file
 
42
                 ext .html
 
43
                 level 1
 
44
                } `, false},
 
45
                {`gzip { level 9 } `, false},
 
46
                {`gzip { ext } `, true},
 
47
                {`gzip { ext /f
 
48
                } `, true},
 
49
                {`gzip { not /file
 
50
                 ext .html
 
51
                 level 1
 
52
                }
 
53
                gzip`, false},
 
54
                {`gzip {
 
55
                 ext ""
 
56
                }`, false},
 
57
                {`gzip { not /file
 
58
                 ext .html
 
59
                 level 1
 
60
                }
 
61
                gzip { not /file1
 
62
                 ext .htm
 
63
                 level 3
 
64
                }
 
65
                `, false},
 
66
                {`gzip { not /file
 
67
                 ext .html
 
68
                 level 1
 
69
                }
 
70
                gzip { not /file1
 
71
                 ext .htm
 
72
                 level 3
 
73
                }
 
74
                `, false},
 
75
                {`gzip { not /file
 
76
                 ext *
 
77
                 level 1
 
78
                }
 
79
                `, false},
 
80
                {`gzip { not /file
 
81
                 ext *
 
82
                 level 1
 
83
                 min_length ab
 
84
                }
 
85
                `, true},
 
86
                {`gzip { not /file
 
87
                 ext *
 
88
                 level 1
 
89
                 min_length 1000
 
90
                }
 
91
                `, false},
 
92
        }
 
93
        for i, test := range tests {
 
94
                _, err := gzipParse(caddy.NewTestController("http", test.input))
 
95
                if test.shouldErr && err == nil {
 
96
                        t.Errorf("Test %v: Expected error but found nil", i)
 
97
                } else if !test.shouldErr && err != nil {
 
98
                        t.Errorf("Test %v: Expected no error but found error: %v", i, err)
 
99
                }
 
100
        }
 
101
}