logstash-input-google_pubsub 1.4.1 → 1.4.3

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 (81) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/lib/logstash-input-google_pubsub_jars.rb +45 -44
  4. data/spec/inputs/google_pubsub_spec.rb +116 -36
  5. data/vendor/jar-dependencies/com/google/api/api-common/2.59.0/api-common-2.59.0.jar +0 -0
  6. data/vendor/jar-dependencies/com/google/api/gax/2.76.0/gax-2.76.0.jar +0 -0
  7. data/vendor/jar-dependencies/com/google/api/gax-grpc/2.76.0/gax-grpc-2.76.0.jar +0 -0
  8. data/vendor/jar-dependencies/com/google/api/gax-httpjson/2.76.0/gax-httpjson-2.76.0.jar +0 -0
  9. data/vendor/jar-dependencies/com/google/api/grpc/proto-google-cloud-pubsub-v1/1.132.0/proto-google-cloud-pubsub-v1-1.132.0.jar +0 -0
  10. data/vendor/jar-dependencies/com/google/api/grpc/proto-google-common-protos/2.67.0/proto-google-common-protos-2.67.0.jar +0 -0
  11. data/vendor/jar-dependencies/com/google/api/grpc/proto-google-iam-v1/1.62.0/proto-google-iam-v1-1.62.0.jar +0 -0
  12. data/vendor/jar-dependencies/com/google/auth/google-auth-library-credentials/1.43.0/google-auth-library-credentials-1.43.0.jar +0 -0
  13. data/vendor/jar-dependencies/com/google/auth/google-auth-library-oauth2-http/1.43.0/google-auth-library-oauth2-http-1.43.0.jar +0 -0
  14. data/vendor/jar-dependencies/com/google/auto/value/auto-value-annotations/1.11.0/auto-value-annotations-1.11.0.jar +0 -0
  15. data/vendor/jar-dependencies/com/google/cloud/google-cloud-pubsub/1.150.0/google-cloud-pubsub-1.150.0.jar +0 -0
  16. data/vendor/jar-dependencies/com/google/code/gson/gson/2.12.1/gson-2.12.1.jar +0 -0
  17. data/vendor/jar-dependencies/com/google/errorprone/error_prone_annotations/2.42.0/error_prone_annotations-2.42.0.jar +0 -0
  18. data/vendor/jar-dependencies/com/google/guava/failureaccess/1.0.3/failureaccess-1.0.3.jar +0 -0
  19. data/vendor/jar-dependencies/com/google/guava/guava/33.5.0-jre/guava-33.5.0-jre.jar +0 -0
  20. data/vendor/jar-dependencies/com/google/http-client/google-http-client/{1.43.3/google-http-client-1.43.3.jar → 2.1.0/google-http-client-2.1.0.jar} +0 -0
  21. data/vendor/jar-dependencies/com/google/http-client/google-http-client-gson/{1.43.3/google-http-client-gson-1.43.3.jar → 2.1.0/google-http-client-gson-2.1.0.jar} +0 -0
  22. data/vendor/jar-dependencies/com/google/j2objc/j2objc-annotations/3.1/j2objc-annotations-3.1.jar +0 -0
  23. data/vendor/jar-dependencies/com/google/protobuf/protobuf-java/4.33.2/protobuf-java-4.33.2.jar +0 -0
  24. data/vendor/jar-dependencies/com/google/protobuf/protobuf-java-util/4.33.2/protobuf-java-util-4.33.2.jar +0 -0
  25. data/vendor/jar-dependencies/com/google/re2j/re2j/{1.7/re2j-1.7.jar → 1.8/re2j-1.8.jar} +0 -0
  26. data/vendor/jar-dependencies/commons-codec/commons-codec/1.18.0/commons-codec-1.18.0.jar +0 -0
  27. data/vendor/jar-dependencies/io/grpc/grpc-alts/1.76.3/grpc-alts-1.76.3.jar +0 -0
  28. data/vendor/jar-dependencies/io/grpc/grpc-api/{1.75.0/grpc-api-1.75.0.jar → 1.76.3/grpc-api-1.76.3.jar} +0 -0
  29. data/vendor/jar-dependencies/io/grpc/grpc-auth/{1.56.1/grpc-auth-1.56.1.jar → 1.76.3/grpc-auth-1.76.3.jar} +0 -0
  30. data/vendor/jar-dependencies/io/grpc/grpc-context/1.76.3/grpc-context-1.76.3.jar +0 -0
  31. data/vendor/jar-dependencies/io/grpc/grpc-core/1.76.3/grpc-core-1.76.3.jar +0 -0
  32. data/vendor/jar-dependencies/io/grpc/grpc-googleapis/1.76.3/grpc-googleapis-1.76.3.jar +0 -0
  33. data/vendor/jar-dependencies/io/grpc/grpc-grpclb/1.76.3/grpc-grpclb-1.76.3.jar +0 -0
  34. data/vendor/jar-dependencies/io/grpc/grpc-inprocess/1.76.3/grpc-inprocess-1.76.3.jar +0 -0
  35. data/vendor/jar-dependencies/io/grpc/grpc-netty-shaded/{1.75.0/grpc-netty-shaded-1.75.0.jar → 1.76.3/grpc-netty-shaded-1.76.3.jar} +0 -0
  36. data/vendor/jar-dependencies/io/grpc/grpc-protobuf/1.76.3/grpc-protobuf-1.76.3.jar +0 -0
  37. data/vendor/jar-dependencies/io/grpc/grpc-protobuf-lite/1.76.3/grpc-protobuf-lite-1.76.3.jar +0 -0
  38. data/vendor/jar-dependencies/io/grpc/grpc-services/1.76.3/grpc-services-1.76.3.jar +0 -0
  39. data/vendor/jar-dependencies/io/grpc/grpc-stub/1.76.3/grpc-stub-1.76.3.jar +0 -0
  40. data/vendor/jar-dependencies/io/grpc/grpc-util/{1.75.0/grpc-util-1.75.0.jar → 1.76.3/grpc-util-1.76.3.jar} +0 -0
  41. data/vendor/jar-dependencies/io/grpc/grpc-xds/{1.56.1/grpc-xds-1.56.1.jar → 1.76.3/grpc-xds-1.76.3.jar} +0 -0
  42. data/vendor/jar-dependencies/io/opentelemetry/opentelemetry-api/1.51.0/opentelemetry-api-1.51.0.jar +0 -0
  43. data/vendor/jar-dependencies/io/opentelemetry/opentelemetry-context/1.51.0/opentelemetry-context-1.51.0.jar +0 -0
  44. data/vendor/jar-dependencies/io/perfmark/perfmark-api/0.27.0/perfmark-api-0.27.0.jar +0 -0
  45. data/vendor/jar-dependencies/org/jspecify/jspecify/1.0.0/jspecify-1.0.0.jar +0 -0
  46. data/vendor/jar-dependencies/org/logstash/inputs/plugin/1.4.3/plugin-1.4.3.jar +0 -0
  47. data/vendor/jar-dependencies/org/threeten/threetenbp/{1.6.8/threetenbp-1.6.8.jar → 1.7.0/threetenbp-1.7.0.jar} +0 -0
  48. metadata +45 -44
  49. data/vendor/jar-dependencies/com/google/api/api-common/2.15.0/api-common-2.15.0.jar +0 -0
  50. data/vendor/jar-dependencies/com/google/api/gax/2.32.0/gax-2.32.0.jar +0 -0
  51. data/vendor/jar-dependencies/com/google/api/gax-grpc/2.32.0/gax-grpc-2.32.0.jar +0 -0
  52. data/vendor/jar-dependencies/com/google/api/gax-httpjson/2.32.0/gax-httpjson-2.32.0.jar +0 -0
  53. data/vendor/jar-dependencies/com/google/api/grpc/proto-google-cloud-pubsub-v1/1.106.1/proto-google-cloud-pubsub-v1-1.106.1.jar +0 -0
  54. data/vendor/jar-dependencies/com/google/api/grpc/proto-google-common-protos/2.23.0/proto-google-common-protos-2.23.0.jar +0 -0
  55. data/vendor/jar-dependencies/com/google/api/grpc/proto-google-iam-v1/1.18.0/proto-google-iam-v1-1.18.0.jar +0 -0
  56. data/vendor/jar-dependencies/com/google/auth/google-auth-library-credentials/1.19.0/google-auth-library-credentials-1.19.0.jar +0 -0
  57. data/vendor/jar-dependencies/com/google/auth/google-auth-library-oauth2-http/1.19.0/google-auth-library-oauth2-http-1.19.0.jar +0 -0
  58. data/vendor/jar-dependencies/com/google/auto/value/auto-value-annotations/1.10.2/auto-value-annotations-1.10.2.jar +0 -0
  59. data/vendor/jar-dependencies/com/google/cloud/google-cloud-pubsub/1.124.1/google-cloud-pubsub-1.124.1.jar +0 -0
  60. data/vendor/jar-dependencies/com/google/code/gson/gson/2.10.1/gson-2.10.1.jar +0 -0
  61. data/vendor/jar-dependencies/com/google/errorprone/error_prone_annotations/2.18.0/error_prone_annotations-2.18.0.jar +0 -0
  62. data/vendor/jar-dependencies/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar +0 -0
  63. data/vendor/jar-dependencies/com/google/guava/guava/32.1.2-jre/guava-32.1.2-jre.jar +0 -0
  64. data/vendor/jar-dependencies/com/google/j2objc/j2objc-annotations/2.8/j2objc-annotations-2.8.jar +0 -0
  65. data/vendor/jar-dependencies/com/google/protobuf/protobuf-java/3.25.5/protobuf-java-3.25.5.jar +0 -0
  66. data/vendor/jar-dependencies/com/google/protobuf/protobuf-java-util/3.25.5/protobuf-java-util-3.25.5.jar +0 -0
  67. data/vendor/jar-dependencies/commons-codec/commons-codec/1.15/commons-codec-1.15.jar +0 -0
  68. data/vendor/jar-dependencies/commons-logging/commons-logging/1.2/commons-logging-1.2.jar +0 -0
  69. data/vendor/jar-dependencies/io/grpc/grpc-alts/1.56.1/grpc-alts-1.56.1.jar +0 -0
  70. data/vendor/jar-dependencies/io/grpc/grpc-context/1.56.1/grpc-context-1.56.1.jar +0 -0
  71. data/vendor/jar-dependencies/io/grpc/grpc-core/1.56.1/grpc-core-1.56.1.jar +0 -0
  72. data/vendor/jar-dependencies/io/grpc/grpc-googleapis/1.56.1/grpc-googleapis-1.56.1.jar +0 -0
  73. data/vendor/jar-dependencies/io/grpc/grpc-grpclb/1.56.1/grpc-grpclb-1.56.1.jar +0 -0
  74. data/vendor/jar-dependencies/io/grpc/grpc-protobuf/1.56.1/grpc-protobuf-1.56.1.jar +0 -0
  75. data/vendor/jar-dependencies/io/grpc/grpc-protobuf-lite/1.56.1/grpc-protobuf-lite-1.56.1.jar +0 -0
  76. data/vendor/jar-dependencies/io/grpc/grpc-services/1.56.1/grpc-services-1.56.1.jar +0 -0
  77. data/vendor/jar-dependencies/io/grpc/grpc-stub/1.56.1/grpc-stub-1.56.1.jar +0 -0
  78. data/vendor/jar-dependencies/io/opencensus/opencensus-proto/0.2.0/opencensus-proto-0.2.0.jar +0 -0
  79. data/vendor/jar-dependencies/io/perfmark/perfmark-api/0.26.0/perfmark-api-0.26.0.jar +0 -0
  80. data/vendor/jar-dependencies/org/checkerframework/checker-qual/3.33.0/checker-qual-3.33.0.jar +0 -0
  81. data/vendor/jar-dependencies/org/logstash/inputs/plugin/1.4.1/plugin-1.4.1.jar +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a3a35e5a5cdff1316afeb33ec758f75739b3c9f70a82b98ba6aa25231906850c
4
- data.tar.gz: 4d7aebaa0c8dbd5535a6a75a4f7ddf3540bf126588c90ed8465b9fca0f18630a
3
+ metadata.gz: 3565e146721f39335e2111837c81927a49117bd49898c23d6fc6877b649c53d9
4
+ data.tar.gz: bfdd3de7a67f489af525a495a7489f09474e8990361f682425fc59a57b34d222
5
5
  SHA512:
6
- metadata.gz: '09a9d6a29677789f8d80dea93e72159c7d23d5b4d5f7b728007dd6b01da9231f164c1edea7909fc0e842c1b86ca394994434c72c21814d35a31f5550fdd65266'
7
- data.tar.gz: f4fcfa827820a110d9cbfca6ab5b79fbc16166eca9900d4bf0a42674b99ce8f7a35e20c680319cffd07bd7dc951e4d23de01cf982b4230f5a522f1f21e60fda6
6
+ metadata.gz: 630fef6c579f4c46be9eb7b40ae757088a26845c1a9153b7a3589eae317e11ac2328bcb35c00e974c45fa56c86f5f469ef411def8a9fca75c003549db21fd0cb
7
+ data.tar.gz: 69dd2c549a33abfbb43359bc0e4b0f777ae47b9b9b253344d8abd7eeb5267d05fb46bddc5ca7ea40bb1ac64d382f76726617406c88dbd2f0c35c2b4cd251f361
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## 1.4.3
2
+ - Adopted Google Cloud BOM (`libraries-bom:26.79.0`) for dependency management, replacing manual version constraints so upgrades `google-cloud-pubsub`, gRPC and `protobuf-java` dependencies [#78](https://github.com/logstash-plugins/logstash-input-google_pubsub/pull/78)
3
+ - Added `checkDependencyAlignment` Gradle task to validate gRPC version consistency
4
+
5
+ ## 1.4.2
6
+ - Fixed the no class found issues due to gRPC dependency mismatch caused by re-packaging [#75](https://github.com/logstash-plugins/logstash-input-google_pubsub/pull/75)
7
+
1
8
  ## 1.4.1
2
9
  - Re-packaging the plugin [#72](https://github.com/logstash-plugins/logstash-input-google_pubsub/pull/72)
3
10
  - Removed `jar-dependencies` dependency. [#70](https://github.com/logstash-plugins/logstash-input-google_pubsub/pull/70)
@@ -1,55 +1,56 @@
1
1
  # AUTOGENERATED BY THE GRADLE SCRIPT. DO NOT EDIT.
2
2
 
3
3
  require 'jar_dependencies'
4
- require_jar('com.google.cloud', 'google-cloud-pubsub', '1.124.1')
5
- require_jar('com.google.protobuf', 'protobuf-java', '3.25.5')
6
- require_jar('com.google.protobuf', 'protobuf-java-util', '3.25.5')
7
- require_jar('io.grpc', 'grpc-netty-shaded', '1.75.0')
8
- require_jar('io.grpc', 'grpc-util', '1.75.0')
9
- require_jar('io.grpc', 'grpc-api', '1.75.0')
10
- require_jar('io.grpc', 'grpc-context', '1.56.1')
11
- require_jar('io.grpc', 'grpc-stub', '1.56.1')
12
- require_jar('io.grpc', 'grpc-protobuf', '1.56.1')
13
- require_jar('io.grpc', 'grpc-protobuf-lite', '1.56.1')
14
- require_jar('com.google.api', 'api-common', '2.15.0')
15
- require_jar('com.google.api.grpc', 'proto-google-common-protos', '2.23.0')
16
- require_jar('com.google.auth', 'google-auth-library-oauth2-http', '1.19.0')
17
- require_jar('com.google.auth', 'google-auth-library-credentials', '1.19.0')
18
- require_jar('com.google.http-client', 'google-http-client-gson', '1.43.3')
19
- require_jar('com.google.api.grpc', 'proto-google-cloud-pubsub-v1', '1.106.1')
20
- require_jar('com.google.api.grpc', 'proto-google-iam-v1', '1.18.0')
21
- require_jar('com.google.guava', 'guava', '32.1.2-jre')
22
- require_jar('com.google.guava', 'failureaccess', '1.0.1')
4
+ require_jar('com.google.cloud', 'google-cloud-pubsub', '1.150.0')
5
+ require_jar('com.google.api.grpc', 'proto-google-cloud-pubsub-v1', '1.132.0')
6
+ require_jar('com.google.auto.value', 'auto-value-annotations', '1.11.0')
7
+ require_jar('com.google.auth', 'google-auth-library-credentials', '1.43.0')
8
+ require_jar('com.google.auth', 'google-auth-library-oauth2-http', '1.43.0')
9
+ require_jar('com.google.http-client', 'google-http-client', '2.1.0')
10
+ require_jar('com.google.http-client', 'google-http-client-gson', '2.1.0')
11
+ require_jar('com.google.guava', 'guava', '33.5.0-jre')
12
+ require_jar('com.google.protobuf', 'protobuf-java', '4.33.2')
13
+ require_jar('com.google.protobuf', 'protobuf-java-util', '4.33.2')
14
+ require_jar('io.grpc', 'grpc-alts', '1.76.3')
15
+ require_jar('io.grpc', 'grpc-api', '1.76.3')
16
+ require_jar('io.grpc', 'grpc-auth', '1.76.3')
17
+ require_jar('io.grpc', 'grpc-context', '1.76.3')
18
+ require_jar('io.grpc', 'grpc-core', '1.76.3')
19
+ require_jar('io.grpc', 'grpc-googleapis', '1.76.3')
20
+ require_jar('io.grpc', 'grpc-grpclb', '1.76.3')
21
+ require_jar('io.grpc', 'grpc-inprocess', '1.76.3')
22
+ require_jar('io.grpc', 'grpc-netty-shaded', '1.76.3')
23
+ require_jar('io.grpc', 'grpc-protobuf', '1.76.3')
24
+ require_jar('io.grpc', 'grpc-protobuf-lite', '1.76.3')
25
+ require_jar('io.grpc', 'grpc-services', '1.76.3')
26
+ require_jar('io.grpc', 'grpc-stub', '1.76.3')
27
+ require_jar('io.grpc', 'grpc-util', '1.76.3')
28
+ require_jar('io.grpc', 'grpc-xds', '1.76.3')
29
+ require_jar('com.google.api', 'gax', '2.76.0')
30
+ require_jar('com.google.api', 'gax-grpc', '2.76.0')
31
+ require_jar('com.google.api', 'gax-httpjson', '2.76.0')
32
+ require_jar('com.google.code.gson', 'gson', '2.12.1')
33
+ require_jar('com.google.api', 'api-common', '2.59.0')
34
+ require_jar('com.google.api.grpc', 'proto-google-common-protos', '2.67.0')
35
+ require_jar('com.google.api.grpc', 'proto-google-iam-v1', '1.62.0')
36
+ require_jar('org.codehaus.mojo', 'animal-sniffer-annotations', '1.24')
37
+ require_jar('com.google.j2objc', 'j2objc-annotations', '3.1')
38
+ require_jar('com.google.guava', 'failureaccess', '1.0.3')
23
39
  require_jar('com.google.guava', 'listenablefuture', '9999.0-empty-to-avoid-conflict-with-guava')
24
- require_jar('org.checkerframework', 'checker-qual', '3.33.0')
25
- require_jar('com.google.j2objc', 'j2objc-annotations', '2.8')
26
- require_jar('com.google.api', 'gax', '2.32.0')
27
- require_jar('com.google.api', 'gax-grpc', '2.32.0')
28
- require_jar('io.grpc', 'grpc-alts', '1.56.1')
29
- require_jar('io.grpc', 'grpc-grpclb', '1.56.1')
40
+ require_jar('org.jspecify', 'jspecify', '1.0.0')
41
+ require_jar('com.google.android', 'annotations', '4.1.1.4')
30
42
  require_jar('org.conscrypt', 'conscrypt-openjdk-uber', '2.5.2')
31
- require_jar('io.grpc', 'grpc-auth', '1.56.1')
32
- require_jar('io.grpc', 'grpc-googleapis', '1.56.1')
33
- require_jar('io.grpc', 'grpc-xds', '1.56.1')
34
- require_jar('io.opencensus', 'opencensus-proto', '0.2.0')
35
- require_jar('io.grpc', 'grpc-services', '1.56.1')
36
- require_jar('com.google.re2j', 're2j', '1.7')
37
- require_jar('com.google.api', 'gax-httpjson', '2.32.0')
38
- require_jar('com.google.code.gson', 'gson', '2.10.1')
39
- require_jar('org.threeten', 'threetenbp', '1.6.8')
43
+ require_jar('io.perfmark', 'perfmark-api', '0.27.0')
44
+ require_jar('com.google.re2j', 're2j', '1.8')
45
+ require_jar('org.threeten', 'threetenbp', '1.7.0')
40
46
  require_jar('com.google.code.findbugs', 'jsr305', '3.0.2')
41
47
  require_jar('io.opencensus', 'opencensus-api', '0.31.1')
42
- require_jar('io.grpc', 'grpc-core', '1.56.1')
43
- require_jar('com.google.android', 'annotations', '4.1.1.4')
44
- require_jar('org.codehaus.mojo', 'animal-sniffer-annotations', '1.24')
45
- require_jar('io.perfmark', 'perfmark-api', '0.26.0')
46
- require_jar('com.google.errorprone', 'error_prone_annotations', '2.18.0')
47
- require_jar('com.google.auto.value', 'auto-value-annotations', '1.10.2')
48
- require_jar('com.google.http-client', 'google-http-client', '1.43.3')
48
+ require_jar('com.google.errorprone', 'error_prone_annotations', '2.42.0')
49
49
  require_jar('org.apache.httpcomponents', 'httpclient', '4.5.14')
50
- require_jar('commons-logging', 'commons-logging', '1.2')
51
- require_jar('commons-codec', 'commons-codec', '1.15')
50
+ require_jar('commons-codec', 'commons-codec', '1.18.0')
52
51
  require_jar('org.apache.httpcomponents', 'httpcore', '4.4.16')
53
52
  require_jar('io.opencensus', 'opencensus-contrib-http-util', '0.31.1')
53
+ require_jar('io.opentelemetry', 'opentelemetry-api', '1.51.0')
54
+ require_jar('io.opentelemetry', 'opentelemetry-context', '1.51.0')
54
55
  require_jar('javax.annotation', 'javax.annotation-api', '1.3.2')
55
- require_jar('org.logstash.inputs', 'plugin', '1.4.1')
56
+ require_jar('org.logstash.inputs', 'plugin', '1.4.3')
@@ -1,45 +1,125 @@
1
- # encoding: utf-8
2
- # Copyright 2016 Google Inc.
3
- #
4
- # Licensed under the Apache License, Version 2.0 (the "License");
5
- # you may not use this file except in compliance with the License.
6
- # You may obtain a copy of the License at
7
- #
8
- # http://www.apache.org/licenses/LICENSE-2.0
9
- #
10
- # Unless required by applicable law or agreed to in writing, software
11
- # distributed under the License is distributed on an "AS IS" BASIS,
12
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- # See the License for the specific language governing permissions and
14
- # limitations under the License.
15
-
16
1
  require "logstash/devutils/rspec/spec_helper"
17
2
  require "logstash/inputs/google_pubsub"
18
3
 
19
4
  describe LogStash::Inputs::GooglePubSub do
20
5
 
21
- let(:bad1) { { 'topic' => 'foo', 'subscription' => 'bar' } }
22
- let(:bad2) { { 'project_id' => 'foo', 'subscription' => 'bar' } }
23
- let(:bad3) { { 'project_id' => 'foo', 'topic' => 'bar' } }
24
- let(:config) { { 'project_id' => 'myproj', 'subscription' => 'foo', 'topic' => 'bar' } }
25
-
26
- it "ensures required config options are present" do
27
- expect {
28
- plugin = LogStash::Inputs::GooglePubSub.new(bad1)
29
- }.to raise_error(LogStash::ConfigurationError)
30
- expect {
31
- plugin = LogStash::Inputs::GooglePubSub.new(bad2)
32
- }.to raise_error(LogStash::ConfigurationError)
33
- expect {
34
- plugin = LogStash::Inputs::GooglePubSub.new(bad3)
35
- }.to raise_error(LogStash::ConfigurationError)
6
+ let(:minimal_config) { { 'project_id' => 'myproj', 'subscription' => 'foo', 'topic' => 'bar' } }
7
+
8
+ describe "configuration validation" do
9
+ context "required settings" do
10
+ it "raises error when project_id is missing" do
11
+ config = { 'topic' => 'foo', 'subscription' => 'bar' }
12
+ expect {
13
+ LogStash::Inputs::GooglePubSub.new(config)
14
+ }.to raise_error(LogStash::ConfigurationError)
15
+ end
16
+
17
+ it "raises error when topic is missing" do
18
+ config = { 'project_id' => 'foo', 'subscription' => 'bar' }
19
+ expect {
20
+ LogStash::Inputs::GooglePubSub.new(config)
21
+ }.to raise_error(LogStash::ConfigurationError)
22
+ end
23
+
24
+ it "raises error when subscription is missing" do
25
+ config = { 'project_id' => 'foo', 'topic' => 'bar' }
26
+ expect {
27
+ LogStash::Inputs::GooglePubSub.new(config)
28
+ }.to raise_error(LogStash::ConfigurationError)
29
+ end
30
+
31
+ it "accepts valid minimal configuration" do
32
+ expect {
33
+ LogStash::Inputs::GooglePubSub.new(minimal_config)
34
+ }.not_to raise_error
35
+ end
36
+ end
37
+
38
+ context "authentication settings" do
39
+ it "raises error when both json_key_file and json_key_file_content are specified" do
40
+ config = minimal_config.merge(
41
+ 'json_key_file' => 'spec/inputs/test.json',
42
+ 'json_key_file_content' => '{}'
43
+ )
44
+ expect {
45
+ plugin = LogStash::Inputs::GooglePubSub.new(config)
46
+ plugin.register
47
+ }.to raise_error(LogStash::ConfigurationError, /Specify either 'json_key_file' or 'json_key_file_content'/)
48
+ end
49
+
50
+ it "accepts configuration with only json_key_file" do
51
+ config = minimal_config.merge('json_key_file' => 'spec/inputs/test.json')
52
+ plugin = LogStash::Inputs::GooglePubSub.new(config)
53
+ # Note: register will fail if file doesn't exist, but config validation passes
54
+ expect(plugin.json_key_file).to eq('spec/inputs/test.json')
55
+ end
56
+
57
+ it "accepts configuration with only json_key_file_content" do
58
+ config = minimal_config.merge('json_key_file_content' => '{"type": "service_account"}')
59
+ plugin = LogStash::Inputs::GooglePubSub.new(config)
60
+ expect(plugin.json_key_file_content).to eq('{"type": "service_account"}')
61
+ end
62
+
63
+ it "accepts configuration without any authentication (uses Application Default Credentials)" do
64
+ plugin = LogStash::Inputs::GooglePubSub.new(minimal_config)
65
+ expect(plugin.json_key_file).to be_nil
66
+ expect(plugin.json_key_file_content).to be_nil
67
+ end
68
+ end
69
+
70
+ context "optional settings" do
71
+ it "has default max_messages of 5" do
72
+ plugin = LogStash::Inputs::GooglePubSub.new(minimal_config)
73
+ expect(plugin.max_messages).to eq(5)
74
+ end
75
+
76
+ it "allows custom max_messages value" do
77
+ config = minimal_config.merge('max_messages' => 100)
78
+ plugin = LogStash::Inputs::GooglePubSub.new(config)
79
+ expect(plugin.max_messages).to eq(100)
80
+ end
81
+
82
+ it "has default include_metadata of false" do
83
+ plugin = LogStash::Inputs::GooglePubSub.new(minimal_config)
84
+ expect(plugin.include_metadata).to eq(false)
85
+ end
86
+
87
+ it "allows enabling include_metadata" do
88
+ config = minimal_config.merge('include_metadata' => true)
89
+ plugin = LogStash::Inputs::GooglePubSub.new(config)
90
+ expect(plugin.include_metadata).to eq(true)
91
+ end
92
+
93
+ it "has default create_subscription of false" do
94
+ plugin = LogStash::Inputs::GooglePubSub.new(minimal_config)
95
+ expect(plugin.create_subscription).to eq(false)
96
+ end
97
+
98
+ it "allows enabling create_subscription" do
99
+ config = minimal_config.merge('create_subscription' => true)
100
+ plugin = LogStash::Inputs::GooglePubSub.new(config)
101
+ expect(plugin.create_subscription).to eq(true)
102
+ end
103
+
104
+ it "has default codec of plain" do
105
+ plugin = LogStash::Inputs::GooglePubSub.new(minimal_config)
106
+ expect(plugin.codec.class.to_s).to include("Plain")
107
+ end
108
+ end
36
109
  end
37
110
 
38
- let(:file_and_content_config_settings) { { 'project_id' => 'myproj', 'subscription' => 'foo', 'topic' => 'bar', 'json_key_file' => 'spec/inputs/test.json', 'json_key_file_content' => '{}' } }
39
- it "raise a configuration error if both 'json_key_file' and 'json_key_file_content' are present" do
40
- expect {
41
- plugin = LogStash::Inputs::GooglePubSub.new(file_and_content_config_settings)
42
- plugin.register()
43
- }.to raise_error(LogStash::ConfigurationError)
111
+ describe "register" do
112
+ it "sets subscription_id correctly" do
113
+ plugin = LogStash::Inputs::GooglePubSub.new(minimal_config)
114
+ plugin.register
115
+ # subscription_id is private, but we can verify registration completes
116
+ expect(plugin).to be_a(LogStash::Inputs::GooglePubSub)
117
+ end
118
+
119
+ it "handles project with special characters in name" do
120
+ config = minimal_config.merge('project_id' => 'my-project-123')
121
+ plugin = LogStash::Inputs::GooglePubSub.new(config)
122
+ expect { plugin.register }.not_to raise_error
123
+ end
44
124
  end
45
125
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-input-google_pubsub
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.1
4
+ version: 1.4.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Johnson
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2026-01-31 00:00:00.000000000 Z
10
+ date: 2026-04-14 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: logstash-core
@@ -107,57 +107,58 @@ files:
107
107
  - spec/inputs/google_pubsub_spec.rb
108
108
  - spec/inputs/test.json
109
109
  - vendor/jar-dependencies/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar
110
- - vendor/jar-dependencies/com/google/api/api-common/2.15.0/api-common-2.15.0.jar
111
- - vendor/jar-dependencies/com/google/api/gax-grpc/2.32.0/gax-grpc-2.32.0.jar
112
- - vendor/jar-dependencies/com/google/api/gax-httpjson/2.32.0/gax-httpjson-2.32.0.jar
113
- - vendor/jar-dependencies/com/google/api/gax/2.32.0/gax-2.32.0.jar
114
- - vendor/jar-dependencies/com/google/api/grpc/proto-google-cloud-pubsub-v1/1.106.1/proto-google-cloud-pubsub-v1-1.106.1.jar
115
- - vendor/jar-dependencies/com/google/api/grpc/proto-google-common-protos/2.23.0/proto-google-common-protos-2.23.0.jar
116
- - vendor/jar-dependencies/com/google/api/grpc/proto-google-iam-v1/1.18.0/proto-google-iam-v1-1.18.0.jar
117
- - vendor/jar-dependencies/com/google/auth/google-auth-library-credentials/1.19.0/google-auth-library-credentials-1.19.0.jar
118
- - vendor/jar-dependencies/com/google/auth/google-auth-library-oauth2-http/1.19.0/google-auth-library-oauth2-http-1.19.0.jar
119
- - vendor/jar-dependencies/com/google/auto/value/auto-value-annotations/1.10.2/auto-value-annotations-1.10.2.jar
120
- - vendor/jar-dependencies/com/google/cloud/google-cloud-pubsub/1.124.1/google-cloud-pubsub-1.124.1.jar
110
+ - vendor/jar-dependencies/com/google/api/api-common/2.59.0/api-common-2.59.0.jar
111
+ - vendor/jar-dependencies/com/google/api/gax-grpc/2.76.0/gax-grpc-2.76.0.jar
112
+ - vendor/jar-dependencies/com/google/api/gax-httpjson/2.76.0/gax-httpjson-2.76.0.jar
113
+ - vendor/jar-dependencies/com/google/api/gax/2.76.0/gax-2.76.0.jar
114
+ - vendor/jar-dependencies/com/google/api/grpc/proto-google-cloud-pubsub-v1/1.132.0/proto-google-cloud-pubsub-v1-1.132.0.jar
115
+ - vendor/jar-dependencies/com/google/api/grpc/proto-google-common-protos/2.67.0/proto-google-common-protos-2.67.0.jar
116
+ - vendor/jar-dependencies/com/google/api/grpc/proto-google-iam-v1/1.62.0/proto-google-iam-v1-1.62.0.jar
117
+ - vendor/jar-dependencies/com/google/auth/google-auth-library-credentials/1.43.0/google-auth-library-credentials-1.43.0.jar
118
+ - vendor/jar-dependencies/com/google/auth/google-auth-library-oauth2-http/1.43.0/google-auth-library-oauth2-http-1.43.0.jar
119
+ - vendor/jar-dependencies/com/google/auto/value/auto-value-annotations/1.11.0/auto-value-annotations-1.11.0.jar
120
+ - vendor/jar-dependencies/com/google/cloud/google-cloud-pubsub/1.150.0/google-cloud-pubsub-1.150.0.jar
121
121
  - vendor/jar-dependencies/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar
122
- - vendor/jar-dependencies/com/google/code/gson/gson/2.10.1/gson-2.10.1.jar
123
- - vendor/jar-dependencies/com/google/errorprone/error_prone_annotations/2.18.0/error_prone_annotations-2.18.0.jar
124
- - vendor/jar-dependencies/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar
125
- - vendor/jar-dependencies/com/google/guava/guava/32.1.2-jre/guava-32.1.2-jre.jar
122
+ - vendor/jar-dependencies/com/google/code/gson/gson/2.12.1/gson-2.12.1.jar
123
+ - vendor/jar-dependencies/com/google/errorprone/error_prone_annotations/2.42.0/error_prone_annotations-2.42.0.jar
124
+ - vendor/jar-dependencies/com/google/guava/failureaccess/1.0.3/failureaccess-1.0.3.jar
125
+ - vendor/jar-dependencies/com/google/guava/guava/33.5.0-jre/guava-33.5.0-jre.jar
126
126
  - vendor/jar-dependencies/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
127
- - vendor/jar-dependencies/com/google/http-client/google-http-client-gson/1.43.3/google-http-client-gson-1.43.3.jar
128
- - vendor/jar-dependencies/com/google/http-client/google-http-client/1.43.3/google-http-client-1.43.3.jar
129
- - vendor/jar-dependencies/com/google/j2objc/j2objc-annotations/2.8/j2objc-annotations-2.8.jar
130
- - vendor/jar-dependencies/com/google/protobuf/protobuf-java-util/3.25.5/protobuf-java-util-3.25.5.jar
131
- - vendor/jar-dependencies/com/google/protobuf/protobuf-java/3.25.5/protobuf-java-3.25.5.jar
132
- - vendor/jar-dependencies/com/google/re2j/re2j/1.7/re2j-1.7.jar
133
- - vendor/jar-dependencies/commons-codec/commons-codec/1.15/commons-codec-1.15.jar
134
- - vendor/jar-dependencies/commons-logging/commons-logging/1.2/commons-logging-1.2.jar
135
- - vendor/jar-dependencies/io/grpc/grpc-alts/1.56.1/grpc-alts-1.56.1.jar
136
- - vendor/jar-dependencies/io/grpc/grpc-api/1.75.0/grpc-api-1.75.0.jar
137
- - vendor/jar-dependencies/io/grpc/grpc-auth/1.56.1/grpc-auth-1.56.1.jar
138
- - vendor/jar-dependencies/io/grpc/grpc-context/1.56.1/grpc-context-1.56.1.jar
139
- - vendor/jar-dependencies/io/grpc/grpc-core/1.56.1/grpc-core-1.56.1.jar
140
- - vendor/jar-dependencies/io/grpc/grpc-googleapis/1.56.1/grpc-googleapis-1.56.1.jar
141
- - vendor/jar-dependencies/io/grpc/grpc-grpclb/1.56.1/grpc-grpclb-1.56.1.jar
142
- - vendor/jar-dependencies/io/grpc/grpc-netty-shaded/1.75.0/grpc-netty-shaded-1.75.0.jar
143
- - vendor/jar-dependencies/io/grpc/grpc-protobuf-lite/1.56.1/grpc-protobuf-lite-1.56.1.jar
144
- - vendor/jar-dependencies/io/grpc/grpc-protobuf/1.56.1/grpc-protobuf-1.56.1.jar
145
- - vendor/jar-dependencies/io/grpc/grpc-services/1.56.1/grpc-services-1.56.1.jar
146
- - vendor/jar-dependencies/io/grpc/grpc-stub/1.56.1/grpc-stub-1.56.1.jar
147
- - vendor/jar-dependencies/io/grpc/grpc-util/1.75.0/grpc-util-1.75.0.jar
148
- - vendor/jar-dependencies/io/grpc/grpc-xds/1.56.1/grpc-xds-1.56.1.jar
127
+ - vendor/jar-dependencies/com/google/http-client/google-http-client-gson/2.1.0/google-http-client-gson-2.1.0.jar
128
+ - vendor/jar-dependencies/com/google/http-client/google-http-client/2.1.0/google-http-client-2.1.0.jar
129
+ - vendor/jar-dependencies/com/google/j2objc/j2objc-annotations/3.1/j2objc-annotations-3.1.jar
130
+ - vendor/jar-dependencies/com/google/protobuf/protobuf-java-util/4.33.2/protobuf-java-util-4.33.2.jar
131
+ - vendor/jar-dependencies/com/google/protobuf/protobuf-java/4.33.2/protobuf-java-4.33.2.jar
132
+ - vendor/jar-dependencies/com/google/re2j/re2j/1.8/re2j-1.8.jar
133
+ - vendor/jar-dependencies/commons-codec/commons-codec/1.18.0/commons-codec-1.18.0.jar
134
+ - vendor/jar-dependencies/io/grpc/grpc-alts/1.76.3/grpc-alts-1.76.3.jar
135
+ - vendor/jar-dependencies/io/grpc/grpc-api/1.76.3/grpc-api-1.76.3.jar
136
+ - vendor/jar-dependencies/io/grpc/grpc-auth/1.76.3/grpc-auth-1.76.3.jar
137
+ - vendor/jar-dependencies/io/grpc/grpc-context/1.76.3/grpc-context-1.76.3.jar
138
+ - vendor/jar-dependencies/io/grpc/grpc-core/1.76.3/grpc-core-1.76.3.jar
139
+ - vendor/jar-dependencies/io/grpc/grpc-googleapis/1.76.3/grpc-googleapis-1.76.3.jar
140
+ - vendor/jar-dependencies/io/grpc/grpc-grpclb/1.76.3/grpc-grpclb-1.76.3.jar
141
+ - vendor/jar-dependencies/io/grpc/grpc-inprocess/1.76.3/grpc-inprocess-1.76.3.jar
142
+ - vendor/jar-dependencies/io/grpc/grpc-netty-shaded/1.76.3/grpc-netty-shaded-1.76.3.jar
143
+ - vendor/jar-dependencies/io/grpc/grpc-protobuf-lite/1.76.3/grpc-protobuf-lite-1.76.3.jar
144
+ - vendor/jar-dependencies/io/grpc/grpc-protobuf/1.76.3/grpc-protobuf-1.76.3.jar
145
+ - vendor/jar-dependencies/io/grpc/grpc-services/1.76.3/grpc-services-1.76.3.jar
146
+ - vendor/jar-dependencies/io/grpc/grpc-stub/1.76.3/grpc-stub-1.76.3.jar
147
+ - vendor/jar-dependencies/io/grpc/grpc-util/1.76.3/grpc-util-1.76.3.jar
148
+ - vendor/jar-dependencies/io/grpc/grpc-xds/1.76.3/grpc-xds-1.76.3.jar
149
149
  - vendor/jar-dependencies/io/opencensus/opencensus-api/0.31.1/opencensus-api-0.31.1.jar
150
150
  - vendor/jar-dependencies/io/opencensus/opencensus-contrib-http-util/0.31.1/opencensus-contrib-http-util-0.31.1.jar
151
- - vendor/jar-dependencies/io/opencensus/opencensus-proto/0.2.0/opencensus-proto-0.2.0.jar
152
- - vendor/jar-dependencies/io/perfmark/perfmark-api/0.26.0/perfmark-api-0.26.0.jar
151
+ - vendor/jar-dependencies/io/opentelemetry/opentelemetry-api/1.51.0/opentelemetry-api-1.51.0.jar
152
+ - vendor/jar-dependencies/io/opentelemetry/opentelemetry-context/1.51.0/opentelemetry-context-1.51.0.jar
153
+ - vendor/jar-dependencies/io/perfmark/perfmark-api/0.27.0/perfmark-api-0.27.0.jar
153
154
  - vendor/jar-dependencies/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar
154
155
  - vendor/jar-dependencies/org/apache/httpcomponents/httpclient/4.5.14/httpclient-4.5.14.jar
155
156
  - vendor/jar-dependencies/org/apache/httpcomponents/httpcore/4.4.16/httpcore-4.4.16.jar
156
- - vendor/jar-dependencies/org/checkerframework/checker-qual/3.33.0/checker-qual-3.33.0.jar
157
157
  - vendor/jar-dependencies/org/codehaus/mojo/animal-sniffer-annotations/1.24/animal-sniffer-annotations-1.24.jar
158
158
  - vendor/jar-dependencies/org/conscrypt/conscrypt-openjdk-uber/2.5.2/conscrypt-openjdk-uber-2.5.2.jar
159
- - vendor/jar-dependencies/org/logstash/inputs/plugin/1.4.1/plugin-1.4.1.jar
160
- - vendor/jar-dependencies/org/threeten/threetenbp/1.6.8/threetenbp-1.6.8.jar
159
+ - vendor/jar-dependencies/org/jspecify/jspecify/1.0.0/jspecify-1.0.0.jar
160
+ - vendor/jar-dependencies/org/logstash/inputs/plugin/1.4.3/plugin-1.4.3.jar
161
+ - vendor/jar-dependencies/org/threeten/threetenbp/1.7.0/threetenbp-1.7.0.jar
161
162
  homepage: https://cloud.google.com/pubsub/overview
162
163
  licenses:
163
164
  - Apache-2.0