Sha256: da4afe0a716b31a15a2c56d4495c15af229051f308a7c2bc45bc6f9237e135f2

Contents?: true

Size: 1.46 KB

Versions: 45

Compression:

Stored size: 1.46 KB

Contents

require_relative "spec_helper"

describe "server_logging extension" do
  before do
    @o = Object.new
    def @o.logs; @logs || []; end
    def @o.log; logs.length.must_equal 1; logs.first.length.must_equal 1; logs.shift.first; end
    def @o.to_ary; [self]; end
    def @o.method_missing(m, *args); (@logs ||= []) << args; end
    @db = Sequel::mock(:test=>false, :servers=>{:read_only=>{}, :b=>{}}, :logger=>@o).extension(:server_logging)
  end

  it "should include shard when logging" do
    @db[:a].all
    @o.log.must_include "server: read_only) SELECT * FROM a"
    @db[:a].insert
    @o.log.must_include "server: default) INSERT INTO a DEFAULT VALUES"
    @db[:a].server(:b).all
    @o.log.must_include "server: b) SELECT * FROM a"
  end

  it "should not include shard when not logging connection info" do
    @db.log_connection_info = false
    @db[:a].all
    log = @o.log
    log.wont_include "server: read_only) SELECT * FROM a"
    log.must_include "SELECT * FROM a"
  end

  it "should not turn on logging connction info if it was turned off" do
    @db.log_connection_info = false
    @db.extension :server_logging
    @db[:a].all
    log = @o.log
    log.wont_include "server: read_only) SELECT * FROM a"
    log.must_include "SELECT * FROM a"
  end

  it "should remove mapping when disconnecting" do
    c = @db.synchronize{|c1| c1}
    @db.disconnect
    @db.send(:log_connection_execute, c, "SELECT * FROM a")
    @o.log.must_include "server: ) SELECT * FROM a"
  end
end

Version data entries

45 entries across 41 versions & 2 rubygems

Version Path
tdiary-5.1.2 vendor/bundle/ruby/2.6.0/gems/sequel-5.26.0/spec/extensions/server_logging_spec.rb
tdiary-5.1.1 vendor/bundle/ruby/2.6.0/gems/sequel-5.26.0/spec/extensions/server_logging_spec.rb
tdiary-5.1.1 vendor/bundle/ruby/2.7.0/gems/sequel-5.29.0/spec/extensions/server_logging_spec.rb
sequel-5.29.0 spec/extensions/server_logging_spec.rb
sequel-5.28.0 spec/extensions/server_logging_spec.rb
sequel-5.27.0 spec/extensions/server_logging_spec.rb
tdiary-5.1.0 vendor/bundle/gems/sequel-5.26.0/spec/extensions/server_logging_spec.rb
sequel-5.26.0 spec/extensions/server_logging_spec.rb
sequel-5.25.0 spec/extensions/server_logging_spec.rb
sequel-5.24.0 spec/extensions/server_logging_spec.rb
sequel-5.23.0 spec/extensions/server_logging_spec.rb
sequel-5.22.0 spec/extensions/server_logging_spec.rb
sequel-5.21.0 spec/extensions/server_logging_spec.rb
sequel-5.20.0 spec/extensions/server_logging_spec.rb
tdiary-5.0.13 vendor/bundle/gems/sequel-5.18.0/spec/extensions/server_logging_spec.rb
sequel-5.19.0 spec/extensions/server_logging_spec.rb
tdiary-5.0.12.1 vendor/bundle/gems/sequel-5.18.0/spec/extensions/server_logging_spec.rb
sequel-5.18.0 spec/extensions/server_logging_spec.rb
sequel-5.17.0 spec/extensions/server_logging_spec.rb
sequel-5.16.0 spec/extensions/server_logging_spec.rb