logstash-output-googlecloudstorage 0.1.0-java

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.
@@ -0,0 +1,29 @@
1
+ # encoding: utf-8
2
+ require 'logstash/outputs/gcs/worker_pool'
3
+
4
+ describe LogStash::Outputs::Gcs::WorkerPool do
5
+ describe '#post' do
6
+ it 'runs the task in the same thread if synchronous' do
7
+ pool = LogStash::Outputs::Gcs::WorkerPool.new(5, true)
8
+ expect(pool.workers).to_not receive(:post)
9
+
10
+ pool.post { 1 + 2 }
11
+ pool.stop!
12
+ end
13
+
14
+ it 'runs the task in a different thread if asynchronous' do
15
+ pool = LogStash::Outputs::Gcs::WorkerPool.new(5, false)
16
+ expect(pool.workers).to receive(:post)
17
+
18
+ pool.post { 1 + 2 }
19
+ pool.stop!
20
+ end
21
+
22
+ it 'raises an error if the pool is already stopped' do
23
+ pool = LogStash::Outputs::Gcs::WorkerPool.new(5, true)
24
+ pool.stop!
25
+
26
+ expect{ pool.post{} }.to raise_error(RuntimeError)
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,29 @@
1
+ # encoding: utf-8
2
+ require_relative "../spec_helper"
3
+ require "google/api_client"
4
+ require "tempfile"
5
+
6
+ describe LogStash::Outputs::GoogleCloudStorage do
7
+
8
+ let(:client) { double("google-client") }
9
+ let(:service_account) { double("service-account") }
10
+ let(:key) { "key" }
11
+
12
+ subject { described_class.new(config) }
13
+ let(:config) { {"bucket" => "", "key_path" => "", "service_account" => "", "uploader_interval_secs" => 0.1, "upload_synchronous" => true} }
14
+
15
+ before(:each) do
16
+ allow(Google::APIClient).to receive(:new).and_return(client)
17
+ allow(client).to receive(:discovered_api).with("storage", "v1")
18
+ allow(Google::APIClient::PKCS12).to receive(:load_key).with("", "notasecret").and_return(key)
19
+ allow(Google::APIClient::JWTAsserter).to receive(:new).and_return(service_account)
20
+ allow(client).to receive(:authorization=)
21
+ allow(service_account).to receive(:authorize)
22
+ end
23
+
24
+ it "should register without errors" do
25
+ expect { subject.register }.to_not raise_error
26
+
27
+ subject.close
28
+ end
29
+ end
@@ -0,0 +1,3 @@
1
+ # encoding: utf-8
2
+ require "logstash/devutils/rspec/spec_helper"
3
+ require "logstash/outputs/google_cloud_storage"
metadata ADDED
@@ -0,0 +1,176 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: logstash-output-googlecloudstorage
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: java
6
+ authors:
7
+ - Shailesh
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2019-03-14 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '1.60'
19
+ - - "<="
20
+ - !ruby/object:Gem::Version
21
+ version: '2.99'
22
+ name: logstash-core-plugin-api
23
+ prerelease: false
24
+ type: :runtime
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '1.60'
30
+ - - "<="
31
+ - !ruby/object:Gem::Version
32
+ version: '2.99'
33
+ - !ruby/object:Gem::Dependency
34
+ requirement: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - ">="
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
39
+ name: logstash-devutils
40
+ prerelease: false
41
+ type: :development
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ - !ruby/object:Gem::Dependency
48
+ requirement: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: '0'
53
+ name: stud
54
+ prerelease: false
55
+ type: :runtime
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ - !ruby/object:Gem::Dependency
62
+ requirement: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - "~>"
65
+ - !ruby/object:Gem::Version
66
+ version: 0.8.7
67
+ name: google-api-client
68
+ prerelease: false
69
+ type: :runtime
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: 0.8.7
75
+ - !ruby/object:Gem::Dependency
76
+ requirement: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ version: '0'
81
+ name: logstash-codec-plain
82
+ prerelease: false
83
+ type: :runtime
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ - !ruby/object:Gem::Dependency
90
+ requirement: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - "~>"
93
+ - !ruby/object:Gem::Version
94
+ version: '2'
95
+ name: mime-types
96
+ prerelease: false
97
+ type: :runtime
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '2'
103
+ - !ruby/object:Gem::Dependency
104
+ requirement: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - '='
107
+ - !ruby/object:Gem::Version
108
+ version: 1.0.5
109
+ name: concurrent-ruby
110
+ prerelease: false
111
+ type: :runtime
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - '='
115
+ - !ruby/object:Gem::Version
116
+ version: 1.0.5
117
+ description: This gem is a Logstash plugin required to be installed on top of the
118
+ Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This
119
+ gem is not a stand-alone program
120
+ email: shailesh17mar@gmail.com
121
+ executables: []
122
+ extensions: []
123
+ extra_rdoc_files: []
124
+ files:
125
+ - CHANGELOG.md
126
+ - CONTRIBUTORS
127
+ - Gemfile
128
+ - LICENSE
129
+ - NOTICE.TXT
130
+ - README.md
131
+ - docs/index.asciidoc
132
+ - lib/logstash/outputs/gcs/log_rotate.rb
133
+ - lib/logstash/outputs/gcs/path_factory.rb
134
+ - lib/logstash/outputs/gcs/temp_log_file.rb
135
+ - lib/logstash/outputs/gcs/worker_pool.rb
136
+ - lib/logstash/outputs/google_cloud_storage.rb
137
+ - logstash-output-googlecloudstorage.gemspec
138
+ - spec/outputs/gcs/log_rotate_spec.rb
139
+ - spec/outputs/gcs/path_factory_spec.rb
140
+ - spec/outputs/gcs/temp_log_file_spec.rb
141
+ - spec/outputs/gcs/worker_pool_spec.rb
142
+ - spec/outputs/google_cloud_storage_spec.rb
143
+ - spec/spec_helper.rb
144
+ homepage: http://www.elastic.co/guide/en/logstash/current/index.html
145
+ licenses:
146
+ - Apache-2.0
147
+ metadata:
148
+ logstash_plugin: 'true'
149
+ logstash_group: output
150
+ post_install_message:
151
+ rdoc_options: []
152
+ require_paths:
153
+ - lib
154
+ required_ruby_version: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ version: '0'
159
+ required_rubygems_version: !ruby/object:Gem::Requirement
160
+ requirements:
161
+ - - ">="
162
+ - !ruby/object:Gem::Version
163
+ version: '0'
164
+ requirements: []
165
+ rubyforge_project:
166
+ rubygems_version: 2.7.6
167
+ signing_key:
168
+ specification_version: 4
169
+ summary: plugin to upload log events to Google Cloud Storage (GCS)
170
+ test_files:
171
+ - spec/outputs/gcs/log_rotate_spec.rb
172
+ - spec/outputs/gcs/path_factory_spec.rb
173
+ - spec/outputs/gcs/temp_log_file_spec.rb
174
+ - spec/outputs/gcs/worker_pool_spec.rb
175
+ - spec/outputs/google_cloud_storage_spec.rb
176
+ - spec/spec_helper.rb