File: alert_test.go

package info (click to toggle)
golang-github-pion-dtls-v3 3.0.7-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 2,124 kB
  • sloc: makefile: 4
file content (46 lines) | stat: -rw-r--r-- 953 bytes parent folder | download
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
// SPDX-FileCopyrightText: 2023 The Pion community <https://pion.ly>
// SPDX-License-Identifier: MIT

package alert

import (
	"testing"

	"github.com/stretchr/testify/assert"
)

func TestAlert(t *testing.T) {
	for _, test := range []struct {
		Name               string
		Data               []byte
		Want               *Alert
		WantUnmarshalError error
	}{
		{
			Name: "Valid Alert",
			Data: []byte{0x02, 0x0A},
			Want: &Alert{
				Level:       Fatal,
				Description: UnexpectedMessage,
			},
		},
		{
			Name:               "Invalid alert length",
			Data:               []byte{0x00},
			Want:               &Alert{},
			WantUnmarshalError: errBufferTooSmall,
		},
	} {
		a := &Alert{}
		assert.ErrorIs(t, a.Unmarshal(test.Data), test.WantUnmarshalError)
		assert.Equal(t, test.Want, a)

		if test.WantUnmarshalError != nil {
			return
		}

		data, marshalErr := a.Marshal()
		assert.NoError(t, marshalErr)
		assert.Equal(t, test.Data, data)
	}
}