daemon_unit_test.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. package daemon
  2. import (
  3. "testing"
  4. "github.com/docker/docker/runconfig"
  5. )
  6. func TestParseSecurityOpt(t *testing.T) {
  7. container := &Container{}
  8. config := &runconfig.HostConfig{}
  9. // test apparmor
  10. config.SecurityOpt = []string{"apparmor:test_profile"}
  11. if err := parseSecurityOpt(container, config); err != nil {
  12. t.Fatalf("Unexpected parseSecurityOpt error: %v", err)
  13. }
  14. if container.AppArmorProfile != "test_profile" {
  15. t.Fatalf("Unexpected AppArmorProfile, expected: \"test_profile\", got %q", container.AppArmorProfile)
  16. }
  17. // test valid label
  18. config.SecurityOpt = []string{"label:user:USER"}
  19. if err := parseSecurityOpt(container, config); err != nil {
  20. t.Fatalf("Unexpected parseSecurityOpt error: %v", err)
  21. }
  22. // test invalid label
  23. config.SecurityOpt = []string{"label"}
  24. if err := parseSecurityOpt(container, config); err == nil {
  25. t.Fatal("Expected parseSecurityOpt error, got nil")
  26. }
  27. // test invalid opt
  28. config.SecurityOpt = []string{"test"}
  29. if err := parseSecurityOpt(container, config); err == nil {
  30. t.Fatal("Expected parseSecurityOpt error, got nil")
  31. }
  32. }