KerberosFlags_test.go 1.0 KB

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