Sha256: a6c700ead153d2a83ab6cd6e4e8a05623781fc923cba41dac8a028fc68a3019d

Contents?: true

Size: 1014 Bytes

Versions: 4

Compression:

Stored size: 1014 Bytes

Contents

require 'dm-core'
require 'dm-migrations'
require 'slf4r/ruby_logger'
require 'ixtlan/audit/manager'
require 'ixtlan/audit/resource'

Audit = Ixtlan::Audit::Audit

DataMapper.setup(:default, "sqlite3::memory:")
DataMapper.finalize
DataMapper.repository.auto_migrate!

describe Ixtlan::Audit::Manager do

  before { subject.model = Audit }

  it 'should collect log events and the save them all in one go' do
    size = Audit.all.size
    subject.push( "login1", "POST", "path1", "msg1" )
    subject.push( "login2", "DELETE", "path2", "msg2" )
    subject.push( "login3", "GET", "path3", "msg3" )
    subject.save_all

    Audit.all.size.should == size + 3
  end

  it "should clean up audit logs" do
    Audit.create(:message => "msg", :login => "login")
    Audit.all.size.should > 0
    subject.keep_logs = 0
    Audit.all.size.should == 0
    subject.push( "login1", "PUT", "path1", "msg1" )
    subject.push( "login2", "OPTION", "path2", "msg2" )
    subject.save_all
    Audit.all.size.should == 2
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ixtlan-audit-0.4.3 spec/audit_manager_spec.rb
ixtlan-audit-0.4.2 spec/audit_manager_spec.rb
ixtlan-audit-0.4.1 spec/audit_manager_spec.rb
ixtlan-audit-0.4.0 spec/audit_manager_spec.rb