logstash-core 6.3.2-java → 6.4.0-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (139) hide show
  1. checksums.yaml +4 -4
  2. data/lib/logstash/agent.rb +10 -6
  3. data/lib/logstash/api/modules/logging.rb +4 -0
  4. data/lib/logstash/api/service.rb +0 -1
  5. data/lib/logstash/bootstrap_check/default_config.rb +0 -2
  6. data/lib/logstash/bootstrap_check/persisted_queue_config.rb +0 -1
  7. data/lib/logstash/codecs/base.rb +2 -4
  8. data/lib/logstash/compiler.rb +2 -3
  9. data/lib/logstash/compiler/lscl.rb +0 -1
  10. data/lib/logstash/config/config_ast.rb +0 -1
  11. data/lib/logstash/config/cpu_core_strategy.rb +0 -1
  12. data/lib/logstash/config/defaults.rb +0 -1
  13. data/lib/logstash/config/file.rb +0 -2
  14. data/lib/logstash/config/mixin.rb +4 -7
  15. data/lib/logstash/config/modules_common.rb +0 -2
  16. data/lib/logstash/config/source/local.rb +1 -3
  17. data/lib/logstash/config/source/modules.rb +0 -2
  18. data/lib/logstash/config/source/multi_local.rb +0 -1
  19. data/lib/logstash/config/source_loader.rb +1 -2
  20. data/lib/logstash/dependency_report.rb +19 -6
  21. data/lib/logstash/elasticsearch_client.rb +0 -2
  22. data/lib/logstash/environment.rb +3 -2
  23. data/lib/logstash/errors.rb +1 -15
  24. data/lib/logstash/event.rb +0 -1
  25. data/lib/logstash/event_dispatcher.rb +1 -40
  26. data/lib/logstash/execution_context.rb +2 -19
  27. data/lib/logstash/filters/base.rb +0 -2
  28. data/lib/logstash/inputs/base.rb +2 -4
  29. data/lib/logstash/inputs/threadable.rb +2 -3
  30. data/lib/logstash/instrument/collector.rb +0 -2
  31. data/lib/logstash/instrument/metric.rb +1 -105
  32. data/lib/logstash/instrument/namespaced_metric.rb +1 -58
  33. data/lib/logstash/instrument/namespaced_null_metric.rb +1 -58
  34. data/lib/logstash/instrument/null_metric.rb +2 -71
  35. data/lib/logstash/instrument/periodic_poller/base.rb +0 -1
  36. data/lib/logstash/instrument/periodic_poller/cgroup.rb +0 -1
  37. data/lib/logstash/java_pipeline.rb +33 -222
  38. data/lib/logstash/json.rb +0 -1
  39. data/lib/logstash/logging.rb +0 -2
  40. data/lib/logstash/logging/logger.rb +1 -159
  41. data/lib/logstash/modules/cli_parser.rb +0 -4
  42. data/lib/logstash/modules/elasticsearch_config.rb +0 -3
  43. data/lib/logstash/modules/elasticsearch_importer.rb +0 -3
  44. data/lib/logstash/modules/elasticsearch_resource.rb +0 -1
  45. data/lib/logstash/modules/file_reader.rb +0 -2
  46. data/lib/logstash/modules/kibana_base.rb +0 -1
  47. data/lib/logstash/modules/kibana_client.rb +0 -2
  48. data/lib/logstash/modules/kibana_config.rb +0 -3
  49. data/lib/logstash/modules/kibana_dashboards.rb +0 -2
  50. data/lib/logstash/modules/kibana_importer.rb +0 -3
  51. data/lib/logstash/modules/kibana_resource.rb +0 -1
  52. data/lib/logstash/modules/kibana_settings.rb +0 -2
  53. data/lib/logstash/modules/logstash_config.rb +0 -1
  54. data/lib/logstash/modules/resource_base.rb +0 -1
  55. data/lib/logstash/modules/scaffold.rb +0 -3
  56. data/lib/logstash/modules/settings_merger.rb +0 -2
  57. data/lib/logstash/namespace.rb +2 -15
  58. data/lib/logstash/outputs/base.rb +3 -5
  59. data/lib/logstash/patches/clamp.rb +6 -0
  60. data/lib/logstash/pipeline.rb +38 -180
  61. data/lib/logstash/pipeline_action/create.rb +0 -2
  62. data/lib/logstash/pipeline_action/reload.rb +1 -4
  63. data/lib/logstash/pipeline_action/stop.rb +0 -2
  64. data/lib/logstash/pipeline_reporter.rb +2 -108
  65. data/lib/logstash/plugin.rb +4 -7
  66. data/lib/logstash/plugins/hooks_registry.rb +1 -63
  67. data/lib/logstash/plugins/registry.rb +3 -2
  68. data/lib/logstash/runner.rb +6 -7
  69. data/lib/logstash/settings.rb +4 -5
  70. data/lib/logstash/shutdown_watcher.rb +0 -119
  71. data/lib/logstash/universal_plugin.rb +1 -13
  72. data/lib/logstash/util.rb +0 -1
  73. data/lib/logstash/util/buftok.rb +1 -139
  74. data/lib/logstash/util/byte_value.rb +2 -3
  75. data/lib/logstash/util/charset.rb +0 -1
  76. data/lib/logstash/util/cloud_setting_auth.rb +0 -1
  77. data/lib/logstash/util/cloud_setting_id.rb +20 -8
  78. data/lib/logstash/util/dead_letter_queue_manager.rb +2 -61
  79. data/lib/logstash/util/decorators.rb +0 -1
  80. data/lib/logstash/util/loggable.rb +1 -31
  81. data/lib/logstash/util/modules_setting_array.rb +2 -2
  82. data/lib/logstash/util/password.rb +0 -1
  83. data/lib/logstash/util/plugin_version.rb +0 -1
  84. data/lib/logstash/util/safe_uri.rb +7 -8
  85. data/lib/logstash/util/secretstore.rb +1 -38
  86. data/lib/logstash/util/substitution_variables.rb +4 -5
  87. data/lib/logstash/util/worker_threads_default_printer.rb +0 -1
  88. data/locales/en.yml +28 -1
  89. data/spec/logstash/config/mixin_spec.rb +4 -4
  90. data/spec/logstash/converge_result_spec.rb +0 -1
  91. data/spec/logstash/event_dispatcher_spec.rb +0 -2
  92. data/spec/logstash/event_spec.rb +22 -26
  93. data/spec/logstash/execution_context_spec.rb +0 -2
  94. data/spec/logstash/filter_delegator_spec.rb +12 -28
  95. data/spec/logstash/inputs/base_spec.rb +4 -5
  96. data/spec/logstash/instrument/metric_spec.rb +0 -1
  97. data/spec/logstash/instrument/namespaced_metric_spec.rb +0 -2
  98. data/spec/logstash/instrument/namespaced_null_metric_spec.rb +1 -3
  99. data/spec/logstash/instrument/null_metric_spec.rb +1 -4
  100. data/spec/logstash/instrument/periodic_poller/base_spec.rb +0 -1
  101. data/spec/logstash/instrument/periodic_poller/os_spec.rb +0 -1
  102. data/spec/logstash/instrument/wrapped_write_client_spec.rb +0 -1
  103. data/spec/logstash/java_filter_delegator_spec.rb +0 -3
  104. data/spec/logstash/java_integration_spec.rb +0 -1
  105. data/spec/logstash/java_pipeline_spec.rb +1 -4
  106. data/spec/logstash/modules/cli_parser_spec.rb +1 -3
  107. data/spec/logstash/modules/scaffold_spec.rb +0 -1
  108. data/spec/logstash/outputs/base_spec.rb +9 -10
  109. data/spec/logstash/pipeline_action/create_spec.rb +2 -3
  110. data/spec/logstash/pipeline_action/reload_spec.rb +1 -2
  111. data/spec/logstash/pipeline_action/stop_spec.rb +0 -1
  112. data/spec/logstash/pipeline_dlq_commit_spec.rb +0 -6
  113. data/spec/logstash/pipeline_reporter_spec.rb +18 -4
  114. data/spec/logstash/pipeline_spec.rb +2 -6
  115. data/spec/logstash/plugin_spec.rb +1 -2
  116. data/spec/logstash/plugins/hooks_registry_spec.rb +0 -2
  117. data/spec/logstash/queue_factory_spec.rb +0 -1
  118. data/spec/logstash/runner_spec.rb +16 -9
  119. data/spec/logstash/settings/modules_spec.rb +3 -3
  120. data/spec/logstash/shutdown_watcher_spec.rb +0 -27
  121. data/spec/logstash/state_resolver_spec.rb +0 -1
  122. data/spec/logstash/util/buftok_spec.rb +0 -1
  123. data/spec/logstash/util/cloud_setting_id_spec.rb +55 -2
  124. data/spec/logstash/util/secretstore_spec.rb +10 -10
  125. data/spec/logstash/util/wrapped_synchronous_queue_spec.rb +2 -2
  126. data/versions-gem-copy.yml +2 -2
  127. metadata +2 -16
  128. data/lib/logstash/bootstrap_check/bad_java.rb +0 -16
  129. data/lib/logstash/bootstrap_check/bad_ruby.rb +0 -12
  130. data/lib/logstash/converge_result.rb +0 -103
  131. data/lib/logstash/instrument/global_metrics.rb +0 -13
  132. data/lib/logstash/instrument/snapshot.rb +0 -15
  133. data/lib/logstash/java_integration.rb +0 -116
  134. data/lib/logstash/logging/json.rb +0 -21
  135. data/lib/logstash/plugins/plugin_factory.rb +0 -107
  136. data/lib/logstash/queue_factory.rb +0 -34
  137. data/lib/logstash/util/retryable.rb +0 -40
  138. data/spec/logstash/output_delegator_spec.rb +0 -201
  139. data/spec/logstash/timestamp_spec.rb +0 -45
@@ -1,6 +1,5 @@
1
1
  # encoding: utf-8
2
2
  require "spec_helper"
3
- require "logstash/java_integration"
4
3
 
5
4
  describe "Java integration" do
6
5
 
@@ -125,10 +125,6 @@ class NilFlushingFilterPeriodic < DummyFlushingFilter
125
125
  end
126
126
  end
127
127
 
128
- class JavaTestPipeline < LogStash::JavaPipeline
129
- attr_reader :outputs, :settings
130
- end
131
-
132
128
  describe LogStash::JavaPipeline do
133
129
  let(:worker_thread_count) { 5 }
134
130
  let(:safe_thread_count) { 1 }
@@ -264,6 +260,7 @@ describe LogStash::JavaPipeline do
264
260
  end
265
261
 
266
262
  it "should print the compiled code if config.debug is set to true" do
263
+ skip("This test does not work when using a Java Logger and should be ported to JUnit")
267
264
  pipeline_settings_obj.set("config.debug", true)
268
265
  expect(logger).to receive(:debug).with(/Compiled pipeline/, anything)
269
266
  pipeline = mock_java_pipeline_from_string(test_config_with_filters, pipeline_settings_obj)
@@ -1,6 +1,4 @@
1
1
  require "spec_helper"
2
- require "logstash/logging"
3
- require "logstash/errors"
4
2
  require "logstash/modules/cli_parser"
5
3
 
6
4
  describe LogStash::Modules::CLIParser do
@@ -126,4 +124,4 @@ describe LogStash::Modules::CLIParser do
126
124
  end
127
125
  end
128
126
 
129
- end
127
+ end
@@ -1,6 +1,5 @@
1
1
  # encoding: utf-8
2
2
  #
3
- require "logstash/namespace"
4
3
  require "logstash/elasticsearch_client"
5
4
  require "logstash/modules/kibana_client"
6
5
  require "logstash/modules/kibana_config"
@@ -1,7 +1,6 @@
1
1
  # encoding: utf-8
2
2
  require "spec_helper"
3
3
  require "logstash/outputs/base"
4
- require "logstash/execution_context"
5
4
  require "support/shared_contexts"
6
5
 
7
6
  # use a dummy NOOP output to test Outputs::Base
@@ -20,7 +19,7 @@ end
20
19
 
21
20
  class LogStash::Outputs::NOOPShared < ::LogStash::Outputs::Base
22
21
  concurrency :shared
23
-
22
+
24
23
  def register; end
25
24
  end
26
25
 
@@ -30,7 +29,7 @@ end
30
29
 
31
30
  class LogStash::Outputs::NOOPMultiReceiveEncoded < ::LogStash::Outputs::Base
32
31
  concurrency :single
33
-
32
+
34
33
  def register; end
35
34
 
36
35
  def multi_receive_encoded(events_and_encoded)
@@ -38,12 +37,12 @@ class LogStash::Outputs::NOOPMultiReceiveEncoded < ::LogStash::Outputs::Base
38
37
  end
39
38
 
40
39
  describe "LogStash::Outputs::Base#new" do
41
- let(:params) { {} }
40
+ let(:params) { {} }
42
41
  subject(:instance) { klass.new(params.dup) }
43
42
 
44
43
  context "single" do
45
44
  let(:klass) { LogStash::Outputs::NOOPSingle }
46
-
45
+
47
46
  it "should instantiate cleanly" do
48
47
  params = { "dummy_option" => "potatoes", "codec" => "json", "workers" => 2 }
49
48
  worker_params = params.dup; worker_params["workers"] = 1
@@ -58,7 +57,7 @@ describe "LogStash::Outputs::Base#new" do
58
57
 
59
58
  context "shared" do
60
59
  let(:klass) { LogStash::Outputs::NOOPShared }
61
-
60
+
62
61
  it "should set concurrency correctly" do
63
62
  expect(subject.concurrency).to eq(:shared)
64
63
  end
@@ -66,7 +65,7 @@ describe "LogStash::Outputs::Base#new" do
66
65
 
67
66
  context "legacy" do
68
67
  let(:klass) { LogStash::Outputs::NOOPLegacy }
69
-
68
+
70
69
  it "should set concurrency correctly" do
71
70
  expect(subject.concurrency).to eq(:legacy)
72
71
  end
@@ -105,16 +104,16 @@ describe "LogStash::Outputs::Base#new" do
105
104
  describe "dispatching multi_receive" do
106
105
  let(:event) { double("event") }
107
106
  let(:events) { [event] }
108
-
107
+
109
108
  context "with multi_receive_encoded" do
110
109
  let(:klass) { LogStash::Outputs::NOOPMultiReceiveEncoded }
111
110
  let(:codec) { double("codec") }
112
111
  let(:encoded) { double("encoded") }
113
-
112
+
114
113
  before do
115
114
  allow(codec).to receive(:multi_encode).with(events).and_return(encoded)
116
115
  allow(instance).to receive(:codec).and_return(codec)
117
- allow(instance).to receive(:multi_receive_encoded)
116
+ allow(instance).to receive(:multi_receive_encoded)
118
117
  instance.multi_receive(events)
119
118
  end
120
119
 
@@ -3,7 +3,6 @@ require "spec_helper"
3
3
  require_relative "../../support/helpers"
4
4
  require_relative "../../support/matchers"
5
5
  require "logstash/pipeline_action/create"
6
- require "logstash/instrument/null_metric"
7
6
  require "logstash/inputs/generator"
8
7
 
9
8
  describe LogStash::PipelineAction::Create do
@@ -19,8 +18,8 @@ describe LogStash::PipelineAction::Create do
19
18
  subject { described_class.new(pipeline_config, metric) }
20
19
 
21
20
  after do
22
- pipelines.each do |_, pipeline|
23
- pipeline.shutdown
21
+ pipelines.each do |_, pipeline|
22
+ pipeline.shutdown
24
23
  pipeline.thread.join
25
24
  end
26
25
  end
@@ -3,7 +3,6 @@ require "spec_helper"
3
3
  require_relative "../../support/helpers"
4
4
  require_relative "../../support/matchers"
5
5
  require "logstash/pipeline_action/reload"
6
- require "logstash/instrument/null_metric"
7
6
 
8
7
  describe LogStash::PipelineAction::Reload do
9
8
  let(:metric) { LogStash::Instrument::NullMetric.new(LogStash::Instrument::Collector.new) }
@@ -22,7 +21,7 @@ describe LogStash::PipelineAction::Reload do
22
21
  end
23
22
 
24
23
  after do
25
- pipelines.each do |_, pipeline|
24
+ pipelines.each do |_, pipeline|
26
25
  pipeline.shutdown
27
26
  pipeline.thread.join
28
27
  end
@@ -3,7 +3,6 @@ require "spec_helper"
3
3
  require_relative "../../support/helpers"
4
4
  require "logstash/pipeline_action/stop"
5
5
  require "logstash/pipeline"
6
- require "logstash/instrument/null_metric"
7
6
 
8
7
  describe LogStash::PipelineAction::Stop do
9
8
  let(:pipeline_config) { "input { generator {} } output { null {} }" }
@@ -75,9 +75,6 @@ describe LogStash::Pipeline do
75
75
  let(:pipeline_id) { "test-dlq" }
76
76
 
77
77
  it "retrieves proper pipeline-level DLQ writer" do
78
- expect(LogStash::Util::PluginDeadLetterQueueWriter).to receive(:new).with(anything, "input_id", "singlegenerator").and_call_original
79
- expect(LogStash::Util::PluginDeadLetterQueueWriter).to receive(:new).with(anything, "filter_id", "dlq_commit").and_call_original
80
- expect(LogStash::Util::PluginDeadLetterQueueWriter).to receive(:new).with(anything, "output_id", "dummyoutput").and_call_original
81
78
  expect_any_instance_of(org.logstash.common.io.DeadLetterQueueWriter).to receive(:close).and_call_original
82
79
  subject.run
83
80
  dlq_path = java.nio.file.Paths.get(pipeline_settings_obj.get("path.dead_letter_queue"), pipeline_id)
@@ -94,9 +91,6 @@ describe LogStash::Pipeline do
94
91
  let(:pipeline_id) { "test-without-dlq" }
95
92
 
96
93
  it "does not write to the DLQ" do
97
- expect(LogStash::Util::PluginDeadLetterQueueWriter).to receive(:new).with(anything, "input_id", "singlegenerator").and_call_original
98
- expect(LogStash::Util::PluginDeadLetterQueueWriter).to receive(:new).with(anything, "filter_id", "dlq_commit").and_call_original
99
- expect(LogStash::Util::PluginDeadLetterQueueWriter).to receive(:new).with(anything, "output_id", "dummyoutput").and_call_original
100
94
  expect(LogStash::Util::DummyDeadLetterQueueWriter).to receive(:new).and_call_original
101
95
  expect_any_instance_of(LogStash::Util::DummyDeadLetterQueueWriter).to receive(:close).and_call_original
102
96
  subject.run
@@ -1,18 +1,17 @@
1
1
  # encoding: utf-8
2
2
  require "spec_helper"
3
3
  require "logstash/pipeline"
4
- require "logstash/pipeline_reporter"
5
4
  require_relative "../support/helpers"
6
5
  require_relative "../support/mocks_classes"
7
6
 
8
7
  #TODO: Figure out how to add more tests that actually cover inflight events
9
8
  #This will require some janky multithreading stuff
10
- describe LogStash::PipelineReporter do
9
+ shared_examples "a pipeline reporter" do |pipeline_setup|
11
10
  let(:generator_count) { 5 }
12
11
  let(:config) do
13
12
  "input { generator { count => #{generator_count} } } output { dummyoutput {} } "
14
13
  end
15
- let(:pipeline) { mock_pipeline_from_string(config)}
14
+ let(:pipeline) { Kernel.send(pipeline_setup, config)}
16
15
  let(:reporter) { pipeline.reporter }
17
16
 
18
17
  before do
@@ -21,7 +20,7 @@ describe LogStash::PipelineReporter do
21
20
  allow(LogStash::Plugin).to receive(:lookup).with("codec", "plain").and_call_original
22
21
 
23
22
  @pre_snapshot = reporter.snapshot
24
-
23
+
25
24
  pipeline.run
26
25
  @post_snapshot = reporter.snapshot
27
26
  end
@@ -30,6 +29,16 @@ describe LogStash::PipelineReporter do
30
29
  pipeline.shutdown
31
30
  end
32
31
 
32
+ describe "stalling threads info" do
33
+ it "should start with no stalled threads" do
34
+ expect(@pre_snapshot.stalling_threads_info).to eql([])
35
+ end
36
+
37
+ it "should end with no stalled threads" do
38
+ expect(@pre_snapshot.stalling_threads_info).to eql([])
39
+ end
40
+ end
41
+
33
42
  describe "events filtered" do
34
43
  it "should start at zero" do
35
44
  expect(@pre_snapshot.events_filtered).to eql(0)
@@ -60,3 +69,8 @@ describe LogStash::PipelineReporter do
60
69
  end
61
70
  end
62
71
  end
72
+
73
+ describe LogStash::PipelineReporter do
74
+ it_behaves_like "a pipeline reporter", :mock_pipeline_from_string
75
+ it_behaves_like "a pipeline reporter", :mock_java_pipeline_from_string
76
+ end
@@ -118,10 +118,6 @@ class DummyFlushingFilterPeriodic < DummyFlushingFilter
118
118
  end
119
119
  end
120
120
 
121
- class TestPipeline < LogStash::Pipeline
122
- attr_reader :outputs, :settings
123
- end
124
-
125
121
  describe LogStash::Pipeline do
126
122
  let(:worker_thread_count) { 5 }
127
123
  let(:safe_thread_count) { 1 }
@@ -370,7 +366,7 @@ describe LogStash::Pipeline do
370
366
  after do
371
367
  pipeline.shutdown
372
368
  end
373
-
369
+
374
370
  it "should call close of output without output-workers" do
375
371
  pipeline.run
376
372
 
@@ -395,7 +391,7 @@ describe LogStash::Pipeline do
395
391
  # cause the suite to fail :(
396
392
  pipeline.close
397
393
  end
398
-
394
+
399
395
  it "should use LIR provided IDs" do
400
396
  expect(pipeline.inputs.first.id).to eq(pipeline.lir.input_plugin_vertices.first.id)
401
397
  expect(pipeline.filters.first.id).to eq(pipeline.lir.filter_plugin_vertices.first.id)
@@ -5,7 +5,6 @@ require "logstash/outputs/base"
5
5
  require "logstash/codecs/base"
6
6
  require "logstash/inputs/base"
7
7
  require "logstash/filters/base"
8
- require "logstash/execution_context"
9
8
  require "support/shared_contexts"
10
9
 
11
10
  describe LogStash::Plugin do
@@ -319,7 +318,7 @@ describe LogStash::Plugin do
319
318
  end
320
319
  end
321
320
 
322
- subject { plugin.new(config) }
321
+ subject { plugin.new(config) }
323
322
 
324
323
  context "when no metric is set to the plugin" do
325
324
  context "when `enable_metric` is TRUE" do
@@ -1,6 +1,4 @@
1
1
  # encoding: utf-8
2
- require "logstash/event_dispatcher"
3
- require "logstash/plugins/hooks_registry"
4
2
 
5
3
  describe LogStash::Plugins::HooksRegistry do
6
4
  class DummyEmitter
@@ -1,5 +1,4 @@
1
1
  # encoding: utf-8
2
- require "logstash/queue_factory"
3
2
  require "logstash/settings"
4
3
  require "stud/temporary"
5
4
 
@@ -5,7 +5,6 @@ require "stud/task"
5
5
  require "stud/trap"
6
6
  require "stud/temporary"
7
7
  require "logstash/util/java_version"
8
- require "logstash/logging/json"
9
8
  require "logstash/config/source_loader"
10
9
  require "logstash/config/modules_common"
11
10
  require "logstash/modules/util"
@@ -43,6 +42,10 @@ describe LogStash::Runner do
43
42
  allow(agent).to receive(:shutdown)
44
43
  end
45
44
 
45
+ after(:each) do
46
+ LogStash::SETTINGS.get_value("modules_list").clear
47
+ end
48
+
46
49
  describe "argument precedence" do
47
50
  let(:config) { "input {} output {}" }
48
51
  let(:cli_args) { ["-e", config, "-w", "20"] }
@@ -83,23 +86,27 @@ describe LogStash::Runner do
83
86
 
84
87
  context "--pluginpath" do
85
88
  subject { LogStash::Runner.new("") }
86
- let(:single_path) { "/some/path" }
87
- let(:multiple_paths) { ["/some/path1", "/some/path2"] }
89
+ let(:valid_directory) { Stud::Temporary.directory }
90
+ let(:invalid_directory) { "/a/path/that/doesnt/exist" }
91
+ let(:multiple_paths) { [Stud::Temporary.directory, Stud::Temporary.directory] }
92
+
93
+ it "should pass -p contents to the configure_plugin_paths method" do
94
+ args = ["-p", valid_directory]
95
+ expect(subject).to receive(:configure_plugin_paths).with([valid_directory])
96
+ expect { subject.run(args) }.to_not raise_error
97
+ end
88
98
 
89
99
  it "should add single valid dir path to the environment" do
90
- expect(File).to receive(:directory?).and_return(true)
91
- expect(LogStash::Environment).to receive(:add_plugin_path).with(single_path)
92
- subject.configure_plugin_paths(single_path)
100
+ expect(LogStash::Environment).to receive(:add_plugin_path).with(valid_directory)
101
+ subject.configure_plugin_paths(valid_directory)
93
102
  end
94
103
 
95
104
  it "should fail with single invalid dir path" do
96
- expect(File).to receive(:directory?).and_return(false)
97
105
  expect(LogStash::Environment).not_to receive(:add_plugin_path)
98
- expect{subject.configure_plugin_paths(single_path)}.to raise_error(Clamp::UsageError)
106
+ expect{subject.configure_plugin_paths(invalid_directory)}.to raise_error(Clamp::UsageError)
99
107
  end
100
108
 
101
109
  it "should add multiple valid dir path to the environment" do
102
- expect(File).to receive(:directory?).exactly(multiple_paths.size).times.and_return(true)
103
110
  multiple_paths.each{|path| expect(LogStash::Environment).to receive(:add_plugin_path).with(path)}
104
111
  subject.configure_plugin_paths(multiple_paths)
105
112
  end
@@ -34,19 +34,19 @@ describe LogStash::Setting::Modules do
34
34
  subject { described_class.new("mycloudid", LogStash::Util::CloudSettingId) }
35
35
  context "when given a string which is not a cloud id" do
36
36
  it "should raise an exception" do
37
- expect { subject.set("foobarbaz") }.to raise_error(ArgumentError, /Cloud Id does not decode/)
37
+ expect { subject.set("foobarbaz") }.to raise_error(ArgumentError, /Cloud Id.*is invalid/)
38
38
  end
39
39
  end
40
40
 
41
41
  context "when given a string which is empty" do
42
42
  it "should raise an exception" do
43
- expect { subject.set("") }.to raise_error(ArgumentError, /Cloud Id does not decode/)
43
+ expect { subject.set("") }.to raise_error(ArgumentError, /Cloud Id.*is invalid/)
44
44
  end
45
45
  end
46
46
 
47
47
  context "when given a string which is has environment prefix only" do
48
48
  it "should raise an exception" do
49
- expect { subject.set("testing:") }.to raise_error(ArgumentError, /Cloud Id does not decode/)
49
+ expect { subject.set("testing:") }.to raise_error(ArgumentError, /Cloud Id.*is invalid/)
50
50
  end
51
51
  end
52
52
 
@@ -1,6 +1,5 @@
1
1
  # encoding: utf-8
2
2
  require "spec_helper"
3
- require "logstash/shutdown_watcher"
4
3
 
5
4
  describe LogStash::ShutdownWatcher do
6
5
  let(:check_every) { 0.01 }
@@ -24,32 +23,6 @@ describe LogStash::ShutdownWatcher do
24
23
  allow(reporter_snapshot).to receive(:stalling_threads) { { } }
25
24
  end
26
25
 
27
- describe ".unsafe_shutdown = true" do
28
- let(:abort_threshold) { subject.abort_threshold }
29
- let(:report_every) { subject.report_every }
30
-
31
- before :each do
32
- subject.class.unsafe_shutdown = true
33
- end
34
-
35
- it "should force the shutdown" do
36
- expect(subject).to receive(:force_exit).once
37
- subject.start
38
- end
39
-
40
- it "should do exactly \"abort_threshold\" stall checks" do
41
- allow(subject).to receive(:force_exit)
42
- expect(subject).to receive(:shutdown_stalled?).exactly(abort_threshold).times.and_call_original
43
- subject.start
44
- end
45
-
46
- it "should do exactly \"abort_threshold\"*\"report_every\" stall checks" do
47
- allow(subject).to receive(:force_exit)
48
- expect(subject).to receive(:pipeline_report_snapshot).exactly(abort_threshold*report_every).times.and_call_original
49
- subject.start
50
- end
51
- end
52
-
53
26
  describe ".unsafe_shutdown = false" do
54
27
 
55
28
  before :each do
@@ -4,7 +4,6 @@ require_relative "../support/helpers"
4
4
  require_relative "../support/matchers"
5
5
  require "logstash/state_resolver"
6
6
  require "logstash/config/pipeline_config"
7
- require "logstash/instrument/null_metric"
8
7
  require "logstash/pipeline"
9
8
  require "ostruct"
10
9
  require "digest"
@@ -1,6 +1,5 @@
1
1
  # encoding: utf-8
2
2
  require "spec_helper"
3
- require "logstash/util/buftok"
4
3
 
5
4
  describe FileWatch::BufferedTokenizer do
6
5