Sha256: 003cce41d31e6df6f14bfa0d3798b9cbf8cce9feef0ea2991515711a6fdc48eb

Contents?: true

Size: 1016 Bytes

Versions: 1

Compression:

Stored size: 1016 Bytes

Contents

require 'spec_helper'
require "logstash/plugin"
require "logstash/json"

describe "inputs/neo4j" do

  let(:path)   { "spec/fixtures/graph.db" }
  let(:query)  { "MATCH (p:`Person`)-[r]->(m:`Movie`) WHERE m.released = 2000 RETURN *" }
  let(:plugin) { LogStash::Plugin.lookup("input", "neo4j").new( {"path" => path, "query" => query} ) }

  it "register without errors" do
    expect { plugin.register }.to_not raise_error
  end

  it "teardown without errors" do
    expect { plugin.teardown }.to_not raise_error
  end

  context "event retrieval" do

    let(:logstash_queue) { Queue.new }

    before do
      plugin.register
      plugin.run logstash_queue
    end

    it "retrieve data from neo4j" do
      expect(logstash_queue.size).to eq(24)
    end

    it "retrieve data in the expected format" do
      while(!logstash_queue.empty?)
        element = logstash_queue.pop
        message = JSON.parse(element["message"])
        expect(message["props"]["released"]).to eq(2000)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
logstash-input-neo4j-0.9.0-java spec/inputs/neo4j_spec.rb