priority_test.go 894 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // SPDX-FileCopyrightText: 2023 The Pion community <https://pion.ly>
  2. // SPDX-License-Identifier: MIT
  3. package ice
  4. import (
  5. "errors"
  6. "testing"
  7. "github.com/pion/stun"
  8. )
  9. func TestPriority_GetFrom(t *testing.T) { //nolint:dupl
  10. m := new(stun.Message)
  11. var p PriorityAttr
  12. if err := p.GetFrom(m); !errors.Is(err, stun.ErrAttributeNotFound) {
  13. t.Error("unexpected error")
  14. }
  15. if err := m.Build(stun.BindingRequest, &p); err != nil {
  16. t.Error(err)
  17. }
  18. m1 := new(stun.Message)
  19. if _, err := m1.Write(m.Raw); err != nil {
  20. t.Error(err)
  21. }
  22. var p1 PriorityAttr
  23. if err := p1.GetFrom(m1); err != nil {
  24. t.Error(err)
  25. }
  26. if p1 != p {
  27. t.Error("not equal")
  28. }
  29. t.Run("IncorrectSize", func(t *testing.T) {
  30. m3 := new(stun.Message)
  31. m3.Add(stun.AttrPriority, make([]byte, 100))
  32. var p2 PriorityAttr
  33. if err := p2.GetFrom(m3); !stun.IsAttrSizeInvalid(err) {
  34. t.Error("should error")
  35. }
  36. })
  37. }