manager_test.go 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package plugin // import "github.com/docker/docker/plugin"
  2. import (
  3. "testing"
  4. "github.com/docker/docker/api/types"
  5. )
  6. func TestValidatePrivileges(t *testing.T) {
  7. testData := map[string]struct {
  8. requiredPrivileges types.PluginPrivileges
  9. privileges types.PluginPrivileges
  10. result bool
  11. }{
  12. "diff-len": {
  13. requiredPrivileges: []types.PluginPrivilege{
  14. {Name: "Privilege1", Description: "Description", Value: []string{"abc", "def", "ghi"}},
  15. },
  16. privileges: []types.PluginPrivilege{
  17. {Name: "Privilege1", Description: "Description", Value: []string{"abc", "def", "ghi"}},
  18. {Name: "Privilege2", Description: "Description", Value: []string{"123", "456", "789"}},
  19. },
  20. result: false,
  21. },
  22. "diff-value": {
  23. requiredPrivileges: []types.PluginPrivilege{
  24. {Name: "Privilege1", Description: "Description", Value: []string{"abc", "def", "GHI"}},
  25. {Name: "Privilege2", Description: "Description", Value: []string{"123", "456", "***"}},
  26. },
  27. privileges: []types.PluginPrivilege{
  28. {Name: "Privilege1", Description: "Description", Value: []string{"abc", "def", "ghi"}},
  29. {Name: "Privilege2", Description: "Description", Value: []string{"123", "456", "789"}},
  30. },
  31. result: false,
  32. },
  33. "diff-order-but-same-value": {
  34. requiredPrivileges: []types.PluginPrivilege{
  35. {Name: "Privilege1", Description: "Description", Value: []string{"abc", "def", "GHI"}},
  36. {Name: "Privilege2", Description: "Description", Value: []string{"123", "456", "789"}},
  37. },
  38. privileges: []types.PluginPrivilege{
  39. {Name: "Privilege2", Description: "Description", Value: []string{"123", "456", "789"}},
  40. {Name: "Privilege1", Description: "Description", Value: []string{"GHI", "abc", "def"}},
  41. },
  42. result: true,
  43. },
  44. }
  45. for key, data := range testData {
  46. err := validatePrivileges(data.requiredPrivileges, data.privileges)
  47. if (err == nil) != data.result {
  48. t.Fatalf("Test item %s expected result to be %t, got %t", key, data.result, (err == nil))
  49. }
  50. }
  51. }