KerberosFlags_test.go 993 B

1234567891011121314151617181920212223242526272829303132333435
  1. package types
  2. import (
  3. "github.com/jcmturner/asn1"
  4. "github.com/stretchr/testify/assert"
  5. "gopkg.in/jcmturner/gokrb5.v2/iana/flags"
  6. "testing"
  7. )
  8. func TestKerberosFlags_SetFlag(t *testing.T) {
  9. b := []byte{byte(64), byte(0), byte(0), byte(16)}
  10. var f asn1.BitString
  11. SetFlag(&f, flags.Forwardable)
  12. SetFlag(&f, flags.RenewableOK)
  13. assert.Equal(t, b, f.Bytes, "Flag bytes not as expected")
  14. }
  15. func TestKerberosFlags_UnsetFlag(t *testing.T) {
  16. b := []byte{byte(64), byte(0), byte(0), byte(0)}
  17. var f asn1.BitString
  18. SetFlag(&f, flags.Forwardable)
  19. SetFlag(&f, flags.RenewableOK)
  20. UnsetFlag(&f, flags.RenewableOK)
  21. assert.Equal(t, b, f.Bytes, "Flag bytes not as expected")
  22. }
  23. func TestKerberosFlags_IsFlagSet(t *testing.T) {
  24. var f asn1.BitString
  25. SetFlag(&f, flags.Forwardable)
  26. SetFlag(&f, flags.RenewableOK)
  27. UnsetFlag(&f, flags.Proxiable)
  28. assert.True(t, IsFlagSet(&f, flags.Forwardable))
  29. assert.True(t, IsFlagSet(&f, flags.RenewableOK))
  30. assert.False(t, IsFlagSet(&f, flags.Proxiable))
  31. }