Sha256: 2f36e363753893500320a0eab04c53a5d0141cdbf59680066db33a9ae9eb9fd9

Contents?: true

Size: 1.37 KB

Versions: 12

Compression:

Stored size: 1.37 KB

Contents

require_relative '../spec_helper'
require "logstash/filters/local-classifier"
require "logstash/filters/elastic-db"
require "logstash/filters/classification-request"

describe LogStash::Filters::Empow::LocalClassifier do

    describe "sync'ed local database as a fallback" do
    	it "value isn't in memory, later fetched from local db" do
            local_db = instance_double(LogStash::Filters::Empow::PersistentKeyValueDB)
            allow(local_db).to receive(:query).and_return(nil)
            allow(local_db).to receive(:close)

    		classifier = described_class.new(5, 300, false, local_db)

            key = LogStash::Filters::Empow::ClassificationRequest.new("product_type", "product", "threat", true, true)

            expect(classifier.classify(key)).to be_nil

            allow(local_db).to receive(:query).and_return("intent")

            # allow backend thread to process the request
            res = nil

            for i in 1..10 do
                sleep 1

                res = classifier.classify(key)

                break if !res.nil?
            end

            expect(res).to eq("intent")
    	end
    end

    describe "no local database configured" do
        it "value isn't in memory" do
            classifier = described_class.new(5, 300, false, nil)

            key = "key-1"

            expect(classifier.classify(key)).to be_nil
        end
    end
end

Version data entries

12 entries across 12 versions & 2 rubygems

Version Path
logstash-filter-threats_classifier-1.0.4 spec/filters/local-classifier_spec.rb
logstash-filter-empowclassifier-1.0.2 spec/filters/local-classifier_spec.rb
logstash-filter-empowclassifier-1.0.1 spec/filters/local-classifier_spec.rb
logstash-filter-empowclassifier-1.0.0 spec/filters/local-classifier_spec.rb
logstash-filter-empowclassifier-0.3.23 spec/filters/local-classifier_spec.rb
logstash-filter-empowclassifier-0.3.21 spec/filters/local-classifier_spec.rb
logstash-filter-empowclassifier-0.3.20 spec/filters/local-classifier_spec.rb
logstash-filter-empowclassifier-0.3.19 spec/filters/local-classifier_spec.rb
logstash-filter-empowclassifier-0.3.18 spec/filters/local-classifier_spec.rb
logstash-filter-empowclassifier-0.3.17 spec/filters/local-classifier_spec.rb
logstash-filter-empowclassifier-0.3.16 spec/filters/local-classifier_spec.rb
logstash-filter-empowclassifier-0.3.15 spec/filters/local-classifier_spec.rb