File: context_test.go

package info (click to toggle)
golang-github-manyminds-api2go 1.0-RC2%2Bgit20161229.31.dc368bb-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 484 kB
  • ctags: 488
  • sloc: sh: 23; makefile: 3
file content (98 lines) | stat: -rw-r--r-- 1,797 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
package api2go

import (
	"time"

	. "github.com/onsi/ginkgo"
	. "github.com/onsi/gomega"
)

var _ = Describe("Context", func() {
	var c *APIContext

	BeforeEach(func() {
		c = &APIContext{}
	})

	Context("Set", func() {
		It("sets key", func() {
			c.Set("test", 1)
			_, ok := c.keys["test"]
			Expect(ok).To(BeTrue())
		})
	})

	Context("Get", func() {
		BeforeEach(func() {
			c.Set("test", 2)
		})

		It("gets key", func() {
			key, ok := c.Get("test")
			Expect(ok).To(BeTrue())
			Expect(key.(int)).To(Equal(2))
		})

		It("not okay if key does not exist", func() {
			key, ok := c.Get("nope")
			Expect(ok).To(BeFalse())
			Expect(key).To(BeNil())
		})
	})

	Context("Reset", func() {
		BeforeEach(func() {
			c.Set("test", 3)
		})

		It("reset removes keys", func() {
			c.Reset()
			_, ok := c.Get("test")
			Expect(ok).To(BeFalse())
		})
	})

	Context("Not yet implemented", func() {
		It("Deadline", func() {
			deadline, ok := c.Deadline()
			Expect(deadline).To(Equal(time.Time{}))
			Expect(ok).To(Equal(false))
		})

		It("Done", func() {
			var chanel <-chan struct{}
			Expect(c.Done()).To(Equal(chanel))
		})

		It("Err", func() {
			Expect(c.Err()).To(BeNil())
		})
	})

	Context("Value", func() {
		It("Value returns a set value", func() {
			c.Set("foo", "bar")
			Expect(c.Value("foo")).To(Equal("bar"))
		})

		It("Returns nil if key was not a string", func() {
			Expect(c.Value(1337)).To(BeNil())
		})

	})

	Context("ContextQueryParams", func() {
		It("returns them if set", func() {
			queryParams := map[string][]string{
				"foo": {"bar"},
			}

			c.Set("QueryParams", queryParams)
			Expect(ContextQueryParams(c)).To(Equal(queryParams))
		})

		It("sets empty ones if not set", func() {
			Expect(ContextQueryParams(c)).To(Equal(map[string][]string{}))
		})
	})
})