@@ -58,5 +58,56 @@ class LoggingTest < Minitest::Test
5858 RubySaml ::Logging . info ( 'sup?' )
5959 end
6060 end
61+
62+ describe "OneLogin::RubySaml::Logging compatibility" do
63+ it "defines OneLogin::RubySaml::Logging as an alias to RubySaml::Logging" do
64+ assert defined? ( OneLogin ::RubySaml ::Logging ) ,
65+ "Expected OneLogin::RubySaml::Logging to be defined"
66+
67+ assert_equal RubySaml ::Logging . object_id ,
68+ OneLogin ::RubySaml ::Logging . object_id ,
69+ "Expected OneLogin::RubySaml::Logging to alias RubySaml::Logging"
70+ end
71+
72+ it "shares the same logger instance when set via RubySaml::Logging" do
73+ logger = mock ( 'Logger' )
74+ RubySaml ::Logging . logger = logger
75+
76+ assert_same logger , OneLogin ::RubySaml ::Logging . logger
77+ end
78+
79+ it "shares the same logger instance when set via OneLogin::RubySaml::Logging" do
80+ logger = mock ( 'Logger' )
81+ OneLogin ::RubySaml ::Logging . logger = logger
82+
83+ assert_same logger , RubySaml ::Logging . logger
84+ end
85+
86+ it "delegates to the configured logger when using the legacy constant" do
87+ logger = mock ( 'Logger' )
88+ OneLogin ::RubySaml ::Logging . logger = logger
89+
90+ logger . expects ( :debug ) . with ( 'hi mom' )
91+ logger . expects ( :info ) . with ( 'sup?' )
92+
93+ OneLogin ::RubySaml ::Logging . debug ( 'hi mom' )
94+ OneLogin ::RubySaml ::Logging . info ( 'sup?' )
95+ end
96+
97+ it "respects ENV['ruby-saml/testing'] and does not log when set (legacy constant)" do
98+ logger = mock ( 'Logger' )
99+ OneLogin ::RubySaml ::Logging . logger = logger
100+
101+ ENV [ "ruby-saml/testing" ] = "1"
102+
103+ # No expectations on logger; any call would cause Mocha to fail the test.
104+ OneLogin ::RubySaml ::Logging . debug ( 'hi mom' )
105+ OneLogin ::RubySaml ::Logging . info ( 'sup?' )
106+ OneLogin ::RubySaml ::Logging . warn ( 'hey' )
107+ OneLogin ::RubySaml ::Logging . error ( 'oops' )
108+
109+ ENV . delete ( "ruby-saml/testing" )
110+ end
111+ end
61112 end
62113end
0 commit comments