Skip to content

Commit

Permalink
Update auth for solrcloud
Browse files Browse the repository at this point in the history
  • Loading branch information
sensei100 committed Aug 12, 2024
1 parent e1e7f97 commit 683c1af
Show file tree
Hide file tree
Showing 2 changed files with 82 additions and 3 deletions.
5 changes: 2 additions & 3 deletions lib/funnel_cake_index/indexer_config.rb
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,8 @@
provide "nokogiri.strict_mode", "false"

if ENV["SOLR_AUTH_USER"] && ENV["SOLR_AUTH_PASSWORD"]
client = HTTPClient.new
client.set_auth(solr_url, ENV["SOLR_AUTH_USER"], ENV["SOLR_AUTH_PASSWORD"])
provide "solr_json_writer.http_client", client
provide "solr_writer.basic_auth_user", ENV["SOLR_AUTH_USER"]
provide "solr_writer.basic_auth_password", ENV["SOLR_AUTH_PASSWORD"]
end
end

Expand Down
80 changes: 80 additions & 0 deletions spec/indexer_config_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# frozen_string_literal: true

RSpec.describe "Traject configuration" do
indexer = Traject::Indexer::NokogiriIndexer.new
let(:settings) {
indexer.load_config_file("lib/funnel_cake_index/indexer_config.rb")
indexer.settings
}
let(:mapped_record) { indexer.map_record(record) }

context "neither SOLR_AUTH_USER, nor SOLR_AUTH_PASSWORD env variables are set" do
before do
ENV["SOLR_URL"] = "http://example.com:8090"
end

it "does not set solr_writer.basic_auth_user" do
expect(settings["solr_writer.basic_auth_user"]).to be_nil
end

it "does not set solr_writer.basic_auth_password" do
expect(settings["solr_writer.basic_auth_password"]).to be_nil
end
end

context "only SOLR_AUTH_USER env variable is set" do
before do
ENV["SOLR_AUTH_USER"] = "foo"
end

after do
ENV.delete("SOLR_AUTH_USER")
end

it "does not set solr_writer.basic_auth_user" do
expect(settings["solr_writer.basic_auth_user"]).to be_nil
end

it "does not set solr_writer.basic_auth_password" do
expect(settings["solr_writer.basic_auth_password"]).to be_nil
end
end

context "only SOLR_AUTH_PASSWORD env variable is set" do
before do
ENV["SOLR_AUTH_PASSWORD"] = "bar"
end

after do
ENV.delete("SOLR_AUTH_PASSWORD")
end

it "does not set solr_writer.basic_auth_user" do
expect(settings["solr_writer.basic_auth_user"]).to be_nil
end

it "does not set solr_writer.basic_auth_password" do
expect(settings["solr_writer.basic_auth_password"]).to be_nil
end
end

context "both SOLR_AUTH_USER, and SOLR_AUTH_PASSWORD env variables are set" do
before do
ENV["SOLR_AUTH_USER"] = "foo"
ENV["SOLR_AUTH_PASSWORD"] = "bar"
end

after do
ENV.delete("SOLR_AUTH_USER")
ENV.delete("SOLR_AUTH_PASSWORD")
end

it "does not set solr_writer.basic_auth_user" do
expect(settings["solr_writer.basic_auth_user"]).to eq("foo")
end

it "does not set solr_writer.basic_auth_password" do
expect(settings["solr_writer.basic_auth_password"]).to eq("bar")
end
end
end

0 comments on commit 683c1af

Please sign in to comment.