alter_configs_request_test.go 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package sarama
  2. import "testing"
  3. var (
  4. emptyAlterConfigsRequest = []byte{
  5. 0, 0, 0, 0, // 0 configs
  6. 0, // don't Validate
  7. }
  8. singleAlterConfigsRequest = []byte{
  9. 0, 0, 0, 1, // 1 config
  10. 2, // a topic
  11. 0, 3, 'f', 'o', 'o', // topic name: foo
  12. 0, 0, 0, 1, //1 config name
  13. 0, 10, // 10 chars
  14. 's', 'e', 'g', 'm', 'e', 'n', 't', '.', 'm', 's',
  15. 0, 4,
  16. '1', '0', '0', '0',
  17. 0, // don't validate
  18. }
  19. doubleAlterConfigsRequest = []byte{
  20. 0, 0, 0, 2, // 2 config
  21. 2, // a topic
  22. 0, 3, 'f', 'o', 'o', // topic name: foo
  23. 0, 0, 0, 1, //1 config name
  24. 0, 10, // 10 chars
  25. 's', 'e', 'g', 'm', 'e', 'n', 't', '.', 'm', 's',
  26. 0, 4,
  27. '1', '0', '0', '0',
  28. 2, // a topic
  29. 0, 3, 'b', 'a', 'r', // topic name: foo
  30. 0, 0, 0, 2, //2 config
  31. 0, 10, // 10 chars
  32. 's', 'e', 'g', 'm', 'e', 'n', 't', '.', 'm', 's',
  33. 0, 4,
  34. '1', '0', '0', '0',
  35. 0, 12, // 12 chars
  36. 'r', 'e', 't', 'e', 'n', 't', 'i', 'o', 'n', '.', 'm', 's',
  37. 0, 4,
  38. '1', '0', '0', '0',
  39. 0, // don't validate
  40. }
  41. )
  42. func TestAlterConfigsRequest(t *testing.T) {
  43. var request *AlterConfigsRequest
  44. request = &AlterConfigsRequest{
  45. Resources: []*AlterConfigsResource{},
  46. }
  47. testRequest(t, "no requests", request, emptyAlterConfigsRequest)
  48. configValue := "1000"
  49. request = &AlterConfigsRequest{
  50. Resources: []*AlterConfigsResource{
  51. &AlterConfigsResource{
  52. Type: TopicResource,
  53. Name: "foo",
  54. ConfigEntries: map[string]*string{
  55. "segment.ms": &configValue,
  56. },
  57. },
  58. },
  59. }
  60. testRequest(t, "one config", request, singleAlterConfigsRequest)
  61. request = &AlterConfigsRequest{
  62. Resources: []*AlterConfigsResource{
  63. &AlterConfigsResource{
  64. Type: TopicResource,
  65. Name: "foo",
  66. ConfigEntries: map[string]*string{
  67. "segment.ms": &configValue,
  68. },
  69. },
  70. &AlterConfigsResource{
  71. Type: TopicResource,
  72. Name: "bar",
  73. ConfigEntries: map[string]*string{
  74. "segment.ms": &configValue,
  75. "retention.ms": &configValue,
  76. },
  77. },
  78. },
  79. }
  80. testRequest(t, "two configs", request, doubleAlterConfigsRequest)
  81. }