File: settings_spec.rb

package info (click to toggle)
ruby-amq-protocol 2.5.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 572 kB
  • sloc: ruby: 5,975; python: 248; makefile: 4
file content (58 lines) | stat: -rw-r--r-- 1,782 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
require "amq/settings"

RSpec.describe AMQ::Settings do
  describe ".default" do
    it "should provide some default values" do
      expect(AMQ::Settings.default).to_not be_nil
      expect(AMQ::Settings.default[:host]).to_not be_nil
    end

    it "includes default port" do
      expect(AMQ::Settings.default[:port]).to eq(5672)
    end

    it "includes default credentials" do
      expect(AMQ::Settings.default[:user]).to eq("guest")
      expect(AMQ::Settings.default[:pass]).to eq("guest")
    end
  end

  describe ".configure" do
    it "should merge custom settings with default settings" do
      settings = AMQ::Settings.configure(:host => "tagadab")
      expect(settings[:host]).to eql("tagadab")
    end

    it "should merge custom settings from AMQP URL with default settings" do
      settings = AMQ::Settings.configure("amqp://tagadab")
      expect(settings[:host]).to eql("tagadab")
    end

    it "returns default when passed nil" do
      settings = AMQ::Settings.configure(nil)
      expect(settings).to eq(AMQ::Settings.default)
    end

    it "normalizes username to user" do
      settings = AMQ::Settings.configure(:username => "admin")
      expect(settings[:user]).to eq("admin")
    end

    it "normalizes password to pass" do
      settings = AMQ::Settings.configure(:password => "secret")
      expect(settings[:pass]).to eq("secret")
    end

    it "prefers user over username when both provided" do
      settings = AMQ::Settings.configure(:user => "admin", :username => "other")
      expect(settings[:user]).to eq("admin")
    end
  end

  describe ".parse_amqp_url" do
    it "delegates to AMQ::URI.parse" do
      result = AMQ::Settings.parse_amqp_url("amqp://localhost")
      expect(result[:host]).to eq("localhost")
    end
  end
end