Sha256: 075ad5d307cf37974ea815d2c65971090ad6f93e0e1b5e8944bc1c2fd3aa599f
Contents?: true
Size: 1.9 KB
Versions: 1
Compression:
Stored size: 1.9 KB
Contents
# encoding: utf-8 require_relative "../spec_helper" require "google/api_client" require "tempfile" describe LogStash::Outputs::GoogleCloudStorage do let(:client) { double("google-client") } let(:service_account) { double("service-account") } let(:key) { "key" } subject { described_class.new(config) } let(:config) { {"bucket" => "", "key_path" => "", "service_account" => "", "uploader_interval_secs" => 0.1 } } before(:each) do allow(Google::APIClient).to receive(:new).and_return(client) allow(client).to receive(:discovered_api).with("storage", "v1") allow(Google::APIClient::PKCS12).to receive(:load_key).with("", "notasecret").and_return(key) allow(Google::APIClient::JWTAsserter).to receive(:new).and_return(service_account) allow(client).to receive(:authorization=) allow(service_account).to receive(:authorize) end it "should register without errors" do expect { subject.register }.to_not raise_error end describe "file size based decider for uploading" do let(:upload_queue) { Queue.new } let(:content) { } before(:each) do allow(subject).to receive(:new_upload_queue).and_return(upload_queue) subject.send(:initialize_upload_queue) subject.send(:initialize_temp_directory) subject.send(:initialize_current_log) current_file = upload_queue.pop File.write(current_file, content) if content upload_queue.push(current_file) subject.send(:initialize_next_log) end context "when spooled file is empty" do let(:content) { nil } it "doesn't get uploaded" do expect(subject).to_not receive(:upload_object) subject.send(:upload_from_queue) end end context "when spooled file has content" do let(:content) { "hello" } it "gets uploaded" do expect(subject).to receive(:upload_object) subject.send(:upload_from_queue) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
logstash-output-google_cloud_storage-3.0.5 | spec/outputs/google_cloud_storage_spec.rb |