mongoid_traffic 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -50,11 +50,11 @@ module MongoidTraffic
50
50
  describe '.aggregate_on' do
51
51
  let(:log_1) { MyLog.new(date_from: Date.today, date_to: Date.today) }
52
52
  let(:log_2) { MyLog.new(date_from: Date.tomorrow, date_to: Date.tomorrow) }
53
-
53
+
54
54
  describe '.aggregate_on(:access_count)' do
55
55
  before do
56
- log_1.tap{ |l| l.access_count = 1 }.save
57
- log_2.tap{ |l| l.access_count = 2 }.save
56
+ log_1.tap { |l| l.access_count = 1 }.save
57
+ log_2.tap { |l| l.access_count = 2 }.save
58
58
  end
59
59
 
60
60
  it 'sums the access_counts' do
@@ -65,82 +65,80 @@ module MongoidTraffic
65
65
  describe '.aggregate_on(:browsers)' do
66
66
  # not the key names have been abbreviated
67
67
  before do
68
- log_1.tap do |l|
68
+ log_1.tap do |l|
69
69
  l.browsers = {
70
- "Mac" => {
71
- "Saf" => { "8" => 1 }
72
- },
73
- "Win" => {
74
- "Saf" => { "7" => 5 }
70
+ 'Mac' => {
71
+ 'Saf' => { '8' => 1 }
72
+ },
73
+ 'Win' => {
74
+ 'Saf' => { '7' => 5 }
75
75
  }
76
76
  }
77
77
  end.save
78
-
79
- log_2.tap do |l|
80
- l.browsers = {
81
- "Mac" => {
82
- "Saf" => { "8" => 10, "7" => 100 },
83
- "Chr" => { "3" => 5 }
84
- },
85
- "Win" => {
86
- "Saf" => { "7" => 100 },
87
- "IE" => { "10" => 1 }
88
- }
78
+
79
+ log_2.tap do |l|
80
+ l.browsers = {
81
+ 'Mac' => {
82
+ 'Saf' => { '8' => 10, '7' => 100 },
83
+ 'Chr' => { '3' => 5 }
84
+ },
85
+ 'Win' => {
86
+ 'Saf' => { '7' => 100 },
87
+ 'IE' => { '10' => 1 }
88
+ }
89
89
  }
90
90
  end.save
91
91
  end
92
92
 
93
93
  it 'sums the browsers' do
94
- MyLog.aggregate_on(:browsers).must_equal({
95
- "Mac" => {
96
- "Saf" => { "8" => 11, "7" => 100 },
97
- "Chr" => { "3" => 5 }
98
- },
99
- "Win" => {
100
- "Saf" => { "7" => 105 },
101
- "IE" => { "10" => 1 }
102
- }
103
- })
94
+ MyLog.aggregate_on(:browsers).must_equal('Mac' => {
95
+ 'Saf' => { '8' => 11, '7' => 100 },
96
+ 'Chr' => { '3' => 5 }
97
+ },
98
+ 'Win' => {
99
+ 'Saf' => { '7' => 105 },
100
+ 'IE' => { '10' => 1 }
101
+ })
104
102
  end
105
103
  end
106
104
 
107
105
  describe '.aggregate_on(:referers)' do
108
106
  before do
109
- log_1.tap{ |l| l.referers = { 'google' => 100, 'apple' => 1000 } }.save
110
- log_2.tap{ |l| l.referers = { 'google' => 10, 'apple' => 100, 'ms' => 1 } }.save
107
+ log_1.tap { |l| l.referers = { 'google' => 100, 'apple' => 1000 } }.save
108
+ log_2.tap { |l| l.referers = { 'google' => 10, 'apple' => 100, 'ms' => 1 } }.save
111
109
  end
112
110
 
113
111
  it 'sums the referers' do
114
- MyLog.aggregate_on(:referers).must_equal({ 'google' => 110, 'apple' => 1100, 'ms' => 1 })
112
+ MyLog.aggregate_on(:referers).must_equal('google' => 110, 'apple' => 1100, 'ms' => 1)
115
113
  end
116
114
  end
117
115
 
118
116
  describe '.aggregate_on(:countries)' do
119
117
  before do
120
- log_1.tap{ |l| l.countries = { 'CZ' => 100 } }.save
121
- log_2.tap{ |l| l.countries = { 'DE' => 10 } }.save
118
+ log_1.tap { |l| l.countries = { 'CZ' => 100 } }.save
119
+ log_2.tap { |l| l.countries = { 'DE' => 10 } }.save
122
120
  end
123
121
 
124
122
  it 'sums the countries' do
125
- MyLog.aggregate_on(:countries).must_equal({ 'CZ' => 100, 'DE' => 10 })
123
+ MyLog.aggregate_on(:countries).must_equal('CZ' => 100, 'DE' => 10)
126
124
  end
127
125
  end
128
126
 
129
127
  describe '.aggregate_on(:unique_ids)' do
130
128
  before do
131
- log_1.tap{ |l| l.unique_ids = { '01234' => 100, '56789' => 100 } }.save
132
- log_2.tap{ |l| l.unique_ids = { '56789' => 100 } }.save
129
+ log_1.tap { |l| l.unique_ids = { '01234' => 100, '56789' => 100 } }.save
130
+ log_2.tap { |l| l.unique_ids = { '56789' => 100 } }.save
133
131
  end
134
132
 
135
133
  it 'sums the unique_ids' do
136
- MyLog.aggregate_on(:unique_ids).must_equal({ '01234' => 100, '56789' => 200 })
134
+ MyLog.aggregate_on(:unique_ids).must_equal('01234' => 100, '56789' => 200)
137
135
  end
138
136
  end
139
137
 
140
138
  describe '.sum(:unique_ids)' do
141
139
  before do
142
- log_1.tap{ |l| l.unique_ids = { '01234' => 100, '56789' => 100 } }.save
143
- log_2.tap{ |l| l.unique_ids = { '56789' => 100, 'ABCDE' => 1 } }.save
140
+ log_1.tap { |l| l.unique_ids = { '01234' => 100, '56789' => 100 } }.save
141
+ log_2.tap { |l| l.unique_ids = { '56789' => 100, 'ABCDE' => 1 } }.save
144
142
  end
145
143
 
146
144
  it 'sums the unique_ids' do
@@ -148,6 +146,5 @@ module MongoidTraffic
148
146
  end
149
147
  end
150
148
  end
151
-
152
149
  end
153
- end
150
+ end
@@ -5,7 +5,6 @@ require_relative '../../../lib/mongoid_traffic/logger/bots'
5
5
  module MongoidTraffic
6
6
  class Logger
7
7
  describe 'Bots' do
8
-
9
8
  describe '.list' do
10
9
  it 'parses the allagents.xml and converts it into Array of referers' do
11
10
  Bots.list.must_be_kind_of Array
@@ -17,7 +16,6 @@ module MongoidTraffic
17
16
  Bots.is_a_bot?('Googlebot/Test ( http://www.googlebot.com/bot.html)').must_equal true
18
17
  end
19
18
  end
20
-
21
19
  end
22
20
  end
23
- end
21
+ end
@@ -5,7 +5,6 @@ require_relative '../../../lib/mongoid_traffic/logger/browser'
5
5
  module MongoidTraffic
6
6
  class Logger
7
7
  describe 'Browser' do
8
-
9
8
  let(:user_agent_string) { 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10) AppleWebKit/538.46 (KHTML, like Gecko) Version/8.0 Safari/538.46' }
10
9
  subject { Browser.new(user_agent_string) }
11
10
 
@@ -20,7 +19,6 @@ module MongoidTraffic
20
19
  it 'returns :version' do
21
20
  subject.version.must_equal '8.0'
22
21
  end
23
-
24
22
  end
25
23
  end
26
- end
24
+ end
@@ -5,13 +5,11 @@ require_relative '../../../lib/mongoid_traffic/logger/geo_ip'
5
5
  module MongoidTraffic
6
6
  class Logger
7
7
  describe 'GeoIp' do
8
-
9
8
  describe '.country_code2' do
10
9
  it 'returns country code' do
11
10
  GeoIp.country_code2('github.com').must_equal 'US'
12
11
  end
13
12
  end
14
-
15
13
  end
16
14
  end
17
- end
15
+ end
@@ -5,7 +5,6 @@ require_relative '../../../lib/mongoid_traffic/logger/referer'
5
5
  module MongoidTraffic
6
6
  class Logger
7
7
  describe 'Referer' do
8
-
9
8
  let(:referer_string) { 'http://www.google.com:80/path/to?foo=bar' }
10
9
  subject { Referer.new(referer_string) }
11
10
 
@@ -24,7 +23,6 @@ module MongoidTraffic
24
23
  it 'strips query params' do
25
24
  subject.host.wont_include '?foo=bar'
26
25
  end
27
-
28
26
  end
29
27
  end
30
- end
28
+ end
@@ -17,7 +17,7 @@ module MongoidTraffic
17
17
 
18
18
  describe 'ClassMethods' do
19
19
  describe '.log' do
20
- before do
20
+ before do
21
21
  MongoidTraffic::Logger.log(::MyLog, user_agent: user_agent_string, referer: referer, ip_address: ip_address, unique_id: unique_id)
22
22
  MongoidTraffic::Logger.log(::MyLog, scope: scope, user_agent: user_agent_string, referer: referer, ip_address: ip_address, unique_id: unique_id)
23
23
  end
@@ -58,6 +58,5 @@ module MongoidTraffic
58
58
  end
59
59
  end
60
60
  end
61
-
62
61
  end
63
- end
62
+ end
@@ -0,0 +1,10 @@
1
+ require 'database_cleaner'
2
+
3
+ DatabaseCleaner.orm = :mongoid
4
+ DatabaseCleaner.strategy = :truncation
5
+
6
+ class MiniTest::Spec
7
+ around do |tests|
8
+ DatabaseCleaner.cleaning(&tests)
9
+ end
10
+ end
@@ -0,0 +1,8 @@
1
+ require 'mongoid'
2
+
3
+ Mongoid.logger.level = Logger::INFO
4
+ Mongo::Logger.logger.level = Logger::INFO
5
+
6
+ Mongoid.configure do |config|
7
+ config.connect_to('mongoid_traffic_test')
8
+ end
data/test/test_helper.rb CHANGED
@@ -1,28 +1,21 @@
1
1
  require 'bundler/setup'
2
2
  require 'database_cleaner'
3
+
3
4
  require 'minitest'
5
+ require 'minitest/around'
4
6
  require 'minitest/autorun'
5
7
  require 'minitest/spec'
8
+
6
9
  require 'mongoid'
7
10
  require 'mongoid_traffic'
8
11
 
12
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
13
+
9
14
  if ENV["CI"]
10
15
  require "coveralls"
11
16
  Coveralls.wear!
12
17
  end
13
18
 
14
- Mongoid.configure do |config|
15
- config.connect_to('mongoid_traffic_test')
16
- end
17
-
18
- DatabaseCleaner.orm = :mongoid
19
- DatabaseCleaner.strategy = :truncation
20
-
21
- class MiniTest::Spec
22
- before(:each) { DatabaseCleaner.start }
23
- after(:each) { DatabaseCleaner.clean }
24
- end
25
-
26
19
  class MyLog
27
20
  include Mongoid::Document
28
21
  include MongoidTraffic::Log
Binary file