Sha256: 1a459a6955e2bc93216cdebdd4265267d22ec4858d0bc9938e7228b90acb7606

Contents?: true

Size: 1.34 KB

Versions: 2

Compression:

Stored size: 1.34 KB

Contents

require 'spec_helper'
require 'logger'

describe "ActiveRecord Extensions" do
  it "logs current connection name" do
    io = StringIO.new
    logger = Logger.new(io)

    ActiveRecord::Base.logger = logger

    manager = Octoshark::ConnectionManager.new(configs)
    manager.with_connection(:db1) do |connection|
      connection.execute("SELECT 1")
    end

    expect(io.string).to include('[Octoshark: db1]')

    ActiveRecord::Base.logger = nil
  end

  it "logs current database name", mysql2: true do
    io = StringIO.new
    logger = Logger.new(io)
    database_name = mysql2_configs[:db1][:database]

    ActiveRecord::Base.logger = logger

    manager = Octoshark::ConnectionManager.new(mysql2_configs)
    manager.use_database(:db1, database_name) do |connection|
      connection.execute("SELECT 1")
    end

    expect(io.string).to include("[Octoshark: db1 #{database_name}]")

    ActiveRecord::Base.logger = nil
  end

  it "logs the connection name for the Octoshark connection only" do
    io = StringIO.new
    logger = Logger.new(io)

    ActiveRecord::Base.logger = logger

    manager = Octoshark::ConnectionManager.new(configs)
    manager.with_connection(:db1) do |connection|
      ActiveRecord::Base.connection.execute("SELECT 1")
    end

    expect(io.string).not_to include('[Octoshark: db1]')

    ActiveRecord::Base.logger = nil
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
octoshark-0.1.2 spec/octoshark/active_record_extensions_spec.rb
octoshark-0.1.1 spec/octoshark/active_record_extensions_spec.rb