oktopus/backend/services/mtp/stomp/frame/header_test.go

70 lines
1.6 KiB
Go

package frame
import (
. "gopkg.in/check.v1"
)
func (s *FrameSuite) TestHeaderGetSetAddDel(c *C) {
h := &Header{}
c.Assert(h.Get("xxx"), Equals, "")
h.Add("xxx", "yyy")
c.Assert(h.Get("xxx"), Equals, "yyy")
h.Add("xxx", "zzz")
c.Assert(h.GetAll("xxx"), DeepEquals, []string{"yyy", "zzz"})
h.Set("xxx", "111")
c.Assert(h.Get("xxx"), Equals, "111")
h.Del("xxx")
c.Assert(h.Get("xxx"), Equals, "")
}
func (s *FrameSuite) TestHeaderClone(c *C) {
h := Header{}
h.Set("xxx", "yyy")
h.Set("yyy", "zzz")
hc := h.Clone()
h.Del("xxx")
h.Del("yyy")
c.Assert(hc.Get("xxx"), Equals, "yyy")
c.Assert(hc.Get("yyy"), Equals, "zzz")
}
func (s *FrameSuite) TestHeaderContains(c *C) {
h := NewHeader("xxx", "yyy", "zzz", "aaa", "xxx", "ccc")
v, ok := h.Contains("xxx")
c.Assert(v, Equals, "yyy")
c.Assert(ok, Equals, true)
v, ok = h.Contains("123")
c.Assert(v, Equals, "")
c.Assert(ok, Equals, false)
}
func (s *FrameSuite) TestContentLength(c *C) {
h := NewHeader("xxx", "yy", "content-length", "202", "zz", "123")
cl, ok, err := h.ContentLength()
c.Assert(cl, Equals, 202)
c.Assert(ok, Equals, true)
c.Assert(err, Equals, nil)
h.Set("content-length", "twenty")
cl, ok, err = h.ContentLength()
c.Assert(cl, Equals, 0)
c.Assert(ok, Equals, true)
c.Assert(err, NotNil)
h.Del("content-length")
cl, ok, err = h.ContentLength()
c.Assert(cl, Equals, 0)
c.Assert(ok, Equals, false)
c.Assert(err, IsNil)
}
func (s *FrameSuite) TestLit(c *C) {
_ = Frame{
Command: "CONNECT",
Header: NewHeader("login", "xxx", "passcode", "yyy"),
Body: []byte{1, 2, 3, 4},
}
}