logstash-output-googlecloudstorage 0.1.0-java

Sign up to get free protection for your applications and to get access to all the features.
@@ -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