1
// Copyright 2016 Canonical Ltd.
2
// Licensed under the LGPLv3, see LICENCE file for details.
7
"github.com/juju/testing"
8
jc "github.com/juju/testing/checkers"
11
"github.com/juju/rfc/rfc5424"
14
type PrioritySuite struct {
15
testing.IsolationSuite
18
var _ = gc.Suite(&PrioritySuite{})
20
func (s *PrioritySuite) TestParsePriority(c *gc.C) {
21
p, err := rfc5424.ParsePriority("<28>")
22
c.Assert(err, jc.ErrorIsNil)
24
c.Check(p, jc.DeepEquals, rfc5424.Priority{
25
Severity: rfc5424.SeverityWarning,
26
Facility: rfc5424.FacilityDaemon,
30
func (s *PrioritySuite) TestStringFull(c *gc.C) {
31
pr := rfc5424.Priority{
32
Severity: rfc5424.SeverityWarning,
33
Facility: rfc5424.FacilityDaemon,
38
c.Check(str, gc.Equals, "<28>") // 3<<3 + 4
41
func (s *PrioritySuite) TestStringZeroValue(c *gc.C) {
42
var pr rfc5424.Priority
46
c.Check(str, gc.Equals, "<8>") // 1<<3 + 0
49
func (s *PrioritySuite) TestStringDefaultSeverity(c *gc.C) {
50
pr := rfc5424.Priority{
51
Facility: rfc5424.FacilityDaemon,
56
c.Check(str, gc.Equals, "<24>") // 3<<3 + 0
59
func (s *PrioritySuite) TestStringDefaultFacility(c *gc.C) {
60
pr := rfc5424.Priority{
61
Severity: rfc5424.SeverityWarning,
66
c.Check(str, gc.Equals, "<12>") // 1<<3 + 4
69
func (s *PrioritySuite) TestStringKernDebug(c *gc.C) {
70
pr := rfc5424.Priority{
71
Severity: rfc5424.SeverityDebug,
72
Facility: rfc5424.FacilityKern,
77
c.Check(str, gc.Equals, "<7>") // 0<<3 + 7
80
func (s *PrioritySuite) TestStringKernEmergency(c *gc.C) {
81
pr := rfc5424.Priority{
82
Severity: rfc5424.SeverityEmergency,
83
Facility: rfc5424.FacilityKern,
88
c.Check(str, gc.Equals, "<0>") // 0<<3 + 0
91
func (s *PrioritySuite) TestValidateOkay(c *gc.C) {
92
pr := rfc5424.Priority{
93
Severity: rfc5424.SeverityWarning,
94
Facility: rfc5424.FacilityDaemon,
99
c.Check(err, jc.ErrorIsNil)
102
func (s *PrioritySuite) TestValidateZeroValue(c *gc.C) {
103
var pr rfc5424.Priority
107
c.Check(err, jc.ErrorIsNil)
110
func (s *PrioritySuite) TestValidateBadSeverity(c *gc.C) {
111
pr := rfc5424.Priority{
113
Facility: rfc5424.FacilityDaemon,
118
c.Check(err, gc.ErrorMatches, `bad Severity: severity -1 not recognized`)
121
func (s *PrioritySuite) TestValidateBadFacility(c *gc.C) {
122
pr := rfc5424.Priority{
123
Severity: rfc5424.SeverityWarning,
129
c.Check(err, gc.ErrorMatches, `bad Facility: facility -1 not recognized`)