karafka-rdkafka 0.21.0.rc1-arm64-darwin → 0.22.0-arm64-darwin

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +15 -2
  3. data/README.md +36 -135
  4. data/docker-compose-ssl.yml +35 -0
  5. data/ext/librdkafka.dylib +0 -0
  6. data/karafka-rdkafka.gemspec +35 -6
  7. data/lib/rdkafka/bindings.rb +0 -1
  8. data/lib/rdkafka/consumer.rb +1 -1
  9. data/lib/rdkafka/version.rb +3 -3
  10. data/renovate.json +5 -17
  11. metadata +32 -52
  12. data/.github/CODEOWNERS +0 -3
  13. data/.github/FUNDING.yml +0 -1
  14. data/.github/workflows/ci_linux_x86_64_gnu.yml +0 -271
  15. data/.github/workflows/ci_linux_x86_64_musl.yml +0 -194
  16. data/.github/workflows/ci_macos_arm64.yml +0 -284
  17. data/.github/workflows/push_linux_x86_64_gnu.yml +0 -65
  18. data/.github/workflows/push_linux_x86_64_musl.yml +0 -79
  19. data/.github/workflows/push_macos_arm64.yml +0 -54
  20. data/.github/workflows/push_ruby.yml +0 -37
  21. data/.github/workflows/verify-action-pins.yml +0 -16
  22. data/.gitignore +0 -15
  23. data/.rspec +0 -2
  24. data/.ruby-gemset +0 -1
  25. data/.ruby-version +0 -1
  26. data/.yardopts +0 -2
  27. data/ext/README.md +0 -19
  28. data/ext/Rakefile +0 -131
  29. data/ext/build_common.sh +0 -361
  30. data/ext/build_linux_x86_64_gnu.sh +0 -306
  31. data/ext/build_linux_x86_64_musl.sh +0 -763
  32. data/ext/build_macos_arm64.sh +0 -550
  33. data/spec/rdkafka/abstract_handle_spec.rb +0 -117
  34. data/spec/rdkafka/admin/create_acl_handle_spec.rb +0 -56
  35. data/spec/rdkafka/admin/create_acl_report_spec.rb +0 -18
  36. data/spec/rdkafka/admin/create_topic_handle_spec.rb +0 -54
  37. data/spec/rdkafka/admin/create_topic_report_spec.rb +0 -16
  38. data/spec/rdkafka/admin/delete_acl_handle_spec.rb +0 -85
  39. data/spec/rdkafka/admin/delete_acl_report_spec.rb +0 -72
  40. data/spec/rdkafka/admin/delete_topic_handle_spec.rb +0 -54
  41. data/spec/rdkafka/admin/delete_topic_report_spec.rb +0 -16
  42. data/spec/rdkafka/admin/describe_acl_handle_spec.rb +0 -85
  43. data/spec/rdkafka/admin/describe_acl_report_spec.rb +0 -73
  44. data/spec/rdkafka/admin_spec.rb +0 -970
  45. data/spec/rdkafka/bindings_spec.rb +0 -198
  46. data/spec/rdkafka/callbacks_spec.rb +0 -20
  47. data/spec/rdkafka/config_spec.rb +0 -258
  48. data/spec/rdkafka/consumer/headers_spec.rb +0 -73
  49. data/spec/rdkafka/consumer/message_spec.rb +0 -139
  50. data/spec/rdkafka/consumer/partition_spec.rb +0 -57
  51. data/spec/rdkafka/consumer/topic_partition_list_spec.rb +0 -248
  52. data/spec/rdkafka/consumer_spec.rb +0 -1296
  53. data/spec/rdkafka/error_spec.rb +0 -95
  54. data/spec/rdkafka/metadata_spec.rb +0 -79
  55. data/spec/rdkafka/native_kafka_spec.rb +0 -130
  56. data/spec/rdkafka/producer/delivery_handle_spec.rb +0 -60
  57. data/spec/rdkafka/producer/delivery_report_spec.rb +0 -25
  58. data/spec/rdkafka/producer/partitions_count_cache_spec.rb +0 -359
  59. data/spec/rdkafka/producer_spec.rb +0 -1526
  60. data/spec/spec_helper.rb +0 -193
@@ -1,56 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "spec_helper"
4
-
5
- describe Rdkafka::Admin::CreateAclHandle do
6
- # If create acl was successful there is no error object
7
- # the error code is set to RD_KAFKA_RESP_ERR_NO_ERRORa
8
- # https://github.com/confluentinc/librdkafka/blob/1f9f245ac409f50f724695c628c7a0d54a763b9a/src/rdkafka_error.c#L169
9
- let(:response) { Rdkafka::Bindings::RD_KAFKA_RESP_ERR_NO_ERROR }
10
-
11
- subject do
12
- Rdkafka::Admin::CreateAclHandle.new.tap do |handle|
13
- handle[:pending] = pending_handle
14
- handle[:response] = response
15
- # If create acl was successful there is no error object and the error_string is set to ""
16
- # https://github.com/confluentinc/librdkafka/blob/1f9f245ac409f50f724695c628c7a0d54a763b9a/src/rdkafka_error.c#L178
17
- handle[:response_string] = FFI::MemoryPointer.from_string("")
18
- end
19
- end
20
-
21
- describe "#wait" do
22
- let(:pending_handle) { true }
23
-
24
- it "should wait until the timeout and then raise an error" do
25
- expect {
26
- subject.wait(max_wait_timeout: 0.1)
27
- }.to raise_error Rdkafka::Admin::CreateAclHandle::WaitTimeoutError, /create acl/
28
- end
29
-
30
- context "when not pending anymore and no error" do
31
- let(:pending_handle) { false }
32
-
33
- it "should return a create acl report" do
34
- report = subject.wait
35
-
36
- expect(report.rdkafka_response_string).to eq("")
37
- end
38
-
39
- it "should wait without a timeout" do
40
- report = subject.wait(max_wait_timeout: nil)
41
-
42
- expect(report.rdkafka_response_string).to eq("")
43
- end
44
- end
45
- end
46
-
47
- describe "#raise_error" do
48
- let(:pending_handle) { false }
49
-
50
- it "should raise the appropriate error" do
51
- expect {
52
- subject.raise_error
53
- }.to raise_exception(Rdkafka::RdkafkaError, /Success \(no_error\)/)
54
- end
55
- end
56
- end
@@ -1,18 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "spec_helper"
4
-
5
- describe Rdkafka::Admin::CreateAclReport do
6
- subject { Rdkafka::Admin::CreateAclReport.new(
7
- rdkafka_response: Rdkafka::Bindings::RD_KAFKA_RESP_ERR_NO_ERROR,
8
- rdkafka_response_string: FFI::MemoryPointer.from_string("")
9
- )}
10
-
11
- it "should get RD_KAFKA_RESP_ERR_NO_ERROR " do
12
- expect(subject.rdkafka_response).to eq(0)
13
- end
14
-
15
- it "should get empty string" do
16
- expect(subject.rdkafka_response_string).to eq("")
17
- end
18
- end
@@ -1,54 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe Rdkafka::Admin::CreateTopicHandle do
4
- let(:response) { 0 }
5
-
6
- subject do
7
- Rdkafka::Admin::CreateTopicHandle.new.tap do |handle|
8
- handle[:pending] = pending_handle
9
- handle[:response] = response
10
- handle[:error_string] = FFI::Pointer::NULL
11
- handle[:result_name] = FFI::MemoryPointer.from_string("my-test-topic")
12
- end
13
- end
14
-
15
- describe "#wait" do
16
- let(:pending_handle) { true }
17
-
18
- it "should wait until the timeout and then raise an error" do
19
- expect {
20
- subject.wait(max_wait_timeout: 0.1)
21
- }.to raise_error Rdkafka::Admin::CreateTopicHandle::WaitTimeoutError, /create topic/
22
- end
23
-
24
- context "when not pending anymore and no error" do
25
- let(:pending_handle) { false }
26
-
27
- it "should return a create topic report" do
28
- report = subject.wait
29
-
30
- expect(report.error_string).to eq(nil)
31
- expect(report.result_name).to eq("my-test-topic")
32
- end
33
-
34
- it "should wait without a timeout" do
35
- report = subject.wait(max_wait_timeout: nil)
36
-
37
- expect(report.error_string).to eq(nil)
38
- expect(report.result_name).to eq("my-test-topic")
39
- end
40
- end
41
- end
42
-
43
- describe "#raise_error" do
44
- let(:pending_handle) { false }
45
-
46
- before { subject[:response] = -1 }
47
-
48
- it "should raise the appropriate error when there is an error" do
49
- expect {
50
- subject.raise_error
51
- }.to raise_exception(Rdkafka::RdkafkaError, /Unknown broker error \(unknown\)/)
52
- end
53
- end
54
- end
@@ -1,16 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe Rdkafka::Admin::CreateTopicReport do
4
- subject { Rdkafka::Admin::CreateTopicReport.new(
5
- FFI::MemoryPointer.from_string("error string"),
6
- FFI::MemoryPointer.from_string("result name")
7
- )}
8
-
9
- it "should get the error string" do
10
- expect(subject.error_string).to eq("error string")
11
- end
12
-
13
- it "should get the result name" do
14
- expect(subject.result_name).to eq("result name")
15
- end
16
- end
@@ -1,85 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "spec_helper"
4
-
5
- describe Rdkafka::Admin::DeleteAclHandle do
6
- let(:response) { Rdkafka::Bindings::RD_KAFKA_RESP_ERR_NO_ERROR }
7
- let(:resource_name) {"acl-test-topic"}
8
- let(:resource_type) {Rdkafka::Bindings::RD_KAFKA_RESOURCE_TOPIC}
9
- let(:resource_pattern_type) {Rdkafka::Bindings::RD_KAFKA_RESOURCE_PATTERN_LITERAL}
10
- let(:principal) {"User:anonymous"}
11
- let(:host) {"*"}
12
- let(:operation) {Rdkafka::Bindings::RD_KAFKA_ACL_OPERATION_READ}
13
- let(:permission_type) {Rdkafka::Bindings::RD_KAFKA_ACL_PERMISSION_TYPE_ALLOW}
14
- let(:delete_acl_ptr) {FFI::Pointer::NULL}
15
-
16
- subject do
17
- error_buffer = FFI::MemoryPointer.from_string(" " * 256)
18
- delete_acl_ptr = Rdkafka::Bindings.rd_kafka_AclBinding_new(
19
- resource_type,
20
- FFI::MemoryPointer.from_string(resource_name),
21
- resource_pattern_type,
22
- FFI::MemoryPointer.from_string(principal),
23
- FFI::MemoryPointer.from_string(host),
24
- operation,
25
- permission_type,
26
- error_buffer,
27
- 256
28
- )
29
- if delete_acl_ptr.null?
30
- raise Rdkafka::Config::ConfigError.new(error_buffer.read_string)
31
- end
32
- pointer_array = [delete_acl_ptr]
33
- delete_acls_array_ptr = FFI::MemoryPointer.new(:pointer)
34
- delete_acls_array_ptr.write_array_of_pointer(pointer_array)
35
- Rdkafka::Admin::DeleteAclHandle.new.tap do |handle|
36
- handle[:pending] = pending_handle
37
- handle[:response] = response
38
- handle[:response_string] = FFI::MemoryPointer.from_string("")
39
- handle[:matching_acls] = delete_acls_array_ptr
40
- handle[:matching_acls_count] = 1
41
- end
42
- end
43
-
44
- after do
45
- if delete_acl_ptr != FFI::Pointer::NULL
46
- Rdkafka::Bindings.rd_kafka_AclBinding_destroy(delete_acl_ptr)
47
- end
48
- end
49
-
50
- describe "#wait" do
51
- let(:pending_handle) { true }
52
-
53
- it "should wait until the timeout and then raise an error" do
54
- expect {
55
- subject.wait(max_wait_timeout: 0.1)
56
- }.to raise_error Rdkafka::Admin::DeleteAclHandle::WaitTimeoutError, /delete acl/
57
- end
58
-
59
- context "when not pending anymore and no error" do
60
- let(:pending_handle) { false }
61
-
62
- it "should return a delete acl report" do
63
- report = subject.wait
64
-
65
- expect(report.deleted_acls.length).to eq(1)
66
- end
67
-
68
- it "should wait without a timeout" do
69
- report = subject.wait(max_wait_timeout: nil)
70
-
71
- expect(report.deleted_acls[0].matching_acl_resource_name).to eq(resource_name)
72
- end
73
- end
74
- end
75
-
76
- describe "#raise_error" do
77
- let(:pending_handle) { false }
78
-
79
- it "should raise the appropriate error" do
80
- expect {
81
- subject.raise_error
82
- }.to raise_exception(Rdkafka::RdkafkaError, /Success \(no_error\)/)
83
- end
84
- end
85
- end
@@ -1,72 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "spec_helper"
4
-
5
- describe Rdkafka::Admin::DeleteAclReport do
6
-
7
- let(:resource_name) {"acl-test-topic"}
8
- let(:resource_type) {Rdkafka::Bindings::RD_KAFKA_RESOURCE_TOPIC}
9
- let(:resource_pattern_type) {Rdkafka::Bindings::RD_KAFKA_RESOURCE_PATTERN_LITERAL}
10
- let(:principal) {"User:anonymous"}
11
- let(:host) {"*"}
12
- let(:operation) {Rdkafka::Bindings::RD_KAFKA_ACL_OPERATION_READ}
13
- let(:permission_type) {Rdkafka::Bindings::RD_KAFKA_ACL_PERMISSION_TYPE_ALLOW}
14
- let(:delete_acl_ptr) {FFI::Pointer::NULL}
15
-
16
- subject do
17
- error_buffer = FFI::MemoryPointer.from_string(" " * 256)
18
- delete_acl_ptr = Rdkafka::Bindings.rd_kafka_AclBinding_new(
19
- resource_type,
20
- FFI::MemoryPointer.from_string(resource_name),
21
- resource_pattern_type,
22
- FFI::MemoryPointer.from_string(principal),
23
- FFI::MemoryPointer.from_string(host),
24
- operation,
25
- permission_type,
26
- error_buffer,
27
- 256
28
- )
29
- if delete_acl_ptr.null?
30
- raise Rdkafka::Config::ConfigError.new(error_buffer.read_string)
31
- end
32
- pointer_array = [delete_acl_ptr]
33
- delete_acls_array_ptr = FFI::MemoryPointer.new(:pointer)
34
- delete_acls_array_ptr.write_array_of_pointer(pointer_array)
35
- Rdkafka::Admin::DeleteAclReport.new(matching_acls: delete_acls_array_ptr, matching_acls_count: 1)
36
- end
37
-
38
- after do
39
- if delete_acl_ptr != FFI::Pointer::NULL
40
- Rdkafka::Bindings.rd_kafka_AclBinding_destroy(delete_acl_ptr)
41
- end
42
- end
43
-
44
- it "should get deleted acl resource type as Rdkafka::Bindings::RD_KAFKA_RESOURCE_TOPIC" do
45
- expect(subject.deleted_acls[0].matching_acl_resource_type).to eq(Rdkafka::Bindings::RD_KAFKA_RESOURCE_TOPIC)
46
- end
47
-
48
- it "should get deleted acl resource name as acl-test-topic" do
49
- expect(subject.deleted_acls[0].matching_acl_resource_name).to eq(resource_name)
50
- end
51
-
52
- it "should get deleted acl resource pattern type as Rdkafka::Bindings::RD_KAFKA_RESOURCE_PATTERN_LITERAL" do
53
- expect(subject.deleted_acls[0].matching_acl_resource_pattern_type).to eq(Rdkafka::Bindings::RD_KAFKA_RESOURCE_PATTERN_LITERAL)
54
- expect(subject.deleted_acls[0].matching_acl_pattern_type).to eq(Rdkafka::Bindings::RD_KAFKA_RESOURCE_PATTERN_LITERAL)
55
- end
56
-
57
- it "should get deleted acl principal as User:anonymous" do
58
- expect(subject.deleted_acls[0].matching_acl_principal).to eq("User:anonymous")
59
- end
60
-
61
- it "should get deleted acl host as * " do
62
- expect(subject.deleted_acls[0].matching_acl_host).to eq("*")
63
- end
64
-
65
- it "should get deleted acl operation as Rdkafka::Bindings::RD_KAFKA_ACL_OPERATION_READ" do
66
- expect(subject.deleted_acls[0].matching_acl_operation).to eq(Rdkafka::Bindings::RD_KAFKA_ACL_OPERATION_READ)
67
- end
68
-
69
- it "should get deleted acl permission_type as Rdkafka::Bindings::RD_KAFKA_ACL_PERMISSION_TYPE_ALLOW" do
70
- expect(subject.deleted_acls[0].matching_acl_permission_type).to eq(Rdkafka::Bindings::RD_KAFKA_ACL_PERMISSION_TYPE_ALLOW)
71
- end
72
- end
@@ -1,54 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe Rdkafka::Admin::DeleteTopicHandle do
4
- let(:response) { 0 }
5
-
6
- subject do
7
- Rdkafka::Admin::DeleteTopicHandle.new.tap do |handle|
8
- handle[:pending] = pending_handle
9
- handle[:response] = response
10
- handle[:error_string] = FFI::Pointer::NULL
11
- handle[:result_name] = FFI::MemoryPointer.from_string("my-test-topic")
12
- end
13
- end
14
-
15
- describe "#wait" do
16
- let(:pending_handle) { true }
17
-
18
- it "should wait until the timeout and then raise an error" do
19
- expect {
20
- subject.wait(max_wait_timeout: 0.1)
21
- }.to raise_error Rdkafka::Admin::DeleteTopicHandle::WaitTimeoutError, /delete topic/
22
- end
23
-
24
- context "when not pending anymore and no error" do
25
- let(:pending_handle) { false }
26
-
27
- it "should return a delete topic report" do
28
- report = subject.wait
29
-
30
- expect(report.error_string).to eq(nil)
31
- expect(report.result_name).to eq("my-test-topic")
32
- end
33
-
34
- it "should wait without a timeout" do
35
- report = subject.wait(max_wait_timeout: nil)
36
-
37
- expect(report.error_string).to eq(nil)
38
- expect(report.result_name).to eq("my-test-topic")
39
- end
40
- end
41
- end
42
-
43
- describe "#raise_error" do
44
- let(:pending_handle) { false }
45
-
46
- before { subject[:response] = -1 }
47
-
48
- it "should raise the appropriate error" do
49
- expect {
50
- subject.raise_error
51
- }.to raise_exception(Rdkafka::RdkafkaError, /Unknown broker error \(unknown\)/)
52
- end
53
- end
54
- end
@@ -1,16 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe Rdkafka::Admin::DeleteTopicReport do
4
- subject { Rdkafka::Admin::DeleteTopicReport.new(
5
- FFI::MemoryPointer.from_string("error string"),
6
- FFI::MemoryPointer.from_string("result name")
7
- )}
8
-
9
- it "should get the error string" do
10
- expect(subject.error_string).to eq("error string")
11
- end
12
-
13
- it "should get the result name" do
14
- expect(subject.result_name).to eq("result name")
15
- end
16
- end
@@ -1,85 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "spec_helper"
4
-
5
- describe Rdkafka::Admin::DescribeAclHandle do
6
- let(:response) { Rdkafka::Bindings::RD_KAFKA_RESP_ERR_NO_ERROR }
7
- let(:resource_name) {"acl-test-topic"}
8
- let(:resource_type) {Rdkafka::Bindings::RD_KAFKA_RESOURCE_TOPIC}
9
- let(:resource_pattern_type) {Rdkafka::Bindings::RD_KAFKA_RESOURCE_PATTERN_LITERAL}
10
- let(:principal) {"User:anonymous"}
11
- let(:host) {"*"}
12
- let(:operation) {Rdkafka::Bindings::RD_KAFKA_ACL_OPERATION_READ}
13
- let(:permission_type) {Rdkafka::Bindings::RD_KAFKA_ACL_PERMISSION_TYPE_ALLOW}
14
- let(:describe_acl_ptr) {FFI::Pointer::NULL}
15
-
16
- subject do
17
- error_buffer = FFI::MemoryPointer.from_string(" " * 256)
18
- describe_acl_ptr = Rdkafka::Bindings.rd_kafka_AclBinding_new(
19
- resource_type,
20
- FFI::MemoryPointer.from_string(resource_name),
21
- resource_pattern_type,
22
- FFI::MemoryPointer.from_string(principal),
23
- FFI::MemoryPointer.from_string(host),
24
- operation,
25
- permission_type,
26
- error_buffer,
27
- 256
28
- )
29
- if describe_acl_ptr.null?
30
- raise Rdkafka::Config::ConfigError.new(error_buffer.read_string)
31
- end
32
- pointer_array = [describe_acl_ptr]
33
- describe_acls_array_ptr = FFI::MemoryPointer.new(:pointer)
34
- describe_acls_array_ptr.write_array_of_pointer(pointer_array)
35
- Rdkafka::Admin::DescribeAclHandle.new.tap do |handle|
36
- handle[:pending] = pending_handle
37
- handle[:response] = response
38
- handle[:response_string] = FFI::MemoryPointer.from_string("")
39
- handle[:acls] = describe_acls_array_ptr
40
- handle[:acls_count] = 1
41
- end
42
- end
43
-
44
- after do
45
- if describe_acl_ptr != FFI::Pointer::NULL
46
- Rdkafka::Bindings.rd_kafka_AclBinding_destroy(describe_acl_ptr)
47
- end
48
- end
49
-
50
- describe "#wait" do
51
- let(:pending_handle) { true }
52
-
53
- it "should wait until the timeout and then raise an error" do
54
- expect {
55
- subject.wait(max_wait_timeout: 0.1)
56
- }.to raise_error Rdkafka::Admin::DescribeAclHandle::WaitTimeoutError, /describe acl/
57
- end
58
-
59
- context "when not pending anymore and no error" do
60
- let(:pending_handle) { false }
61
-
62
- it "should return a describe acl report" do
63
- report = subject.wait
64
-
65
- expect(report.acls.length).to eq(1)
66
- end
67
-
68
- it "should wait without a timeout" do
69
- report = subject.wait(max_wait_timeout: nil)
70
-
71
- expect(report.acls[0].matching_acl_resource_name).to eq("acl-test-topic")
72
- end
73
- end
74
- end
75
-
76
- describe "#raise_error" do
77
- let(:pending_handle) { false }
78
-
79
- it "should raise the appropriate error" do
80
- expect {
81
- subject.raise_error
82
- }.to raise_exception(Rdkafka::RdkafkaError, /Success \(no_error\)/)
83
- end
84
- end
85
- end
@@ -1,73 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "spec_helper"
4
-
5
- describe Rdkafka::Admin::DescribeAclReport do
6
-
7
- let(:resource_name) {"acl-test-topic"}
8
- let(:resource_type) {Rdkafka::Bindings::RD_KAFKA_RESOURCE_TOPIC}
9
- let(:resource_pattern_type) {Rdkafka::Bindings::RD_KAFKA_RESOURCE_PATTERN_LITERAL}
10
- let(:principal) {"User:anonymous"}
11
- let(:host) {"*"}
12
- let(:operation) {Rdkafka::Bindings::RD_KAFKA_ACL_OPERATION_READ}
13
- let(:permission_type) {Rdkafka::Bindings::RD_KAFKA_ACL_PERMISSION_TYPE_ALLOW}
14
- let(:describe_acl_ptr) {FFI::Pointer::NULL}
15
-
16
- subject do
17
- error_buffer = FFI::MemoryPointer.from_string(" " * 256)
18
- describe_acl_ptr = Rdkafka::Bindings.rd_kafka_AclBinding_new(
19
- resource_type,
20
- FFI::MemoryPointer.from_string(resource_name),
21
- resource_pattern_type,
22
- FFI::MemoryPointer.from_string(principal),
23
- FFI::MemoryPointer.from_string(host),
24
- operation,
25
- permission_type,
26
- error_buffer,
27
- 256
28
- )
29
- if describe_acl_ptr.null?
30
- raise Rdkafka::Config::ConfigError.new(error_buffer.read_string)
31
- end
32
- pointer_array = [describe_acl_ptr]
33
- describe_acls_array_ptr = FFI::MemoryPointer.new(:pointer)
34
- describe_acls_array_ptr.write_array_of_pointer(pointer_array)
35
- Rdkafka::Admin::DescribeAclReport.new(acls: describe_acls_array_ptr, acls_count: 1)
36
- end
37
-
38
- after do
39
- if describe_acl_ptr != FFI::Pointer::NULL
40
- Rdkafka::Bindings.rd_kafka_AclBinding_destroy(describe_acl_ptr)
41
- end
42
- end
43
-
44
-
45
- it "should get matching acl resource type as Rdkafka::Bindings::RD_KAFKA_RESOURCE_TOPIC" do
46
- expect(subject.acls[0].matching_acl_resource_type).to eq(Rdkafka::Bindings::RD_KAFKA_RESOURCE_TOPIC)
47
- end
48
-
49
- it "should get matching acl resource name as acl-test-topic" do
50
- expect(subject.acls[0].matching_acl_resource_name).to eq(resource_name)
51
- end
52
-
53
- it "should get matching acl resource pattern type as Rdkafka::Bindings::RD_KAFKA_RESOURCE_PATTERN_LITERAL" do
54
- expect(subject.acls[0].matching_acl_resource_pattern_type).to eq(Rdkafka::Bindings::RD_KAFKA_RESOURCE_PATTERN_LITERAL)
55
- expect(subject.acls[0].matching_acl_pattern_type).to eq(Rdkafka::Bindings::RD_KAFKA_RESOURCE_PATTERN_LITERAL)
56
- end
57
-
58
- it "should get matching acl principal as User:anonymous" do
59
- expect(subject.acls[0].matching_acl_principal).to eq("User:anonymous")
60
- end
61
-
62
- it "should get matching acl host as * " do
63
- expect(subject.acls[0].matching_acl_host).to eq("*")
64
- end
65
-
66
- it "should get matching acl operation as Rdkafka::Bindings::RD_KAFKA_ACL_OPERATION_READ" do
67
- expect(subject.acls[0].matching_acl_operation).to eq(Rdkafka::Bindings::RD_KAFKA_ACL_OPERATION_READ)
68
- end
69
-
70
- it "should get matching acl permission_type as Rdkafka::Bindings::RD_KAFKA_ACL_PERMISSION_TYPE_ALLOW" do
71
- expect(subject.acls[0].matching_acl_permission_type).to eq(Rdkafka::Bindings::RD_KAFKA_ACL_PERMISSION_TYPE_ALLOW)
72
- end
73
- end