td-logger 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
data/ChangeLog CHANGED
@@ -1,4 +1,9 @@
1
1
 
2
+ == 2011-11-10 version 0.3.3
3
+
4
+ * Validate database name and table name before queuing events
5
+
6
+
2
7
  == 2011-11-10 version 0.3.2
3
8
 
4
9
  * Include 'action' column for all preset events
@@ -47,7 +47,7 @@ class TreasureDataLogger < Fluent::Logger::LoggerBase
47
47
  require 'net/http'
48
48
  require 'cgi'
49
49
  require 'logger'
50
- require 'td/client'
50
+ require 'td-client'
51
51
 
52
52
  @logger = ::Logger.new(STDERR)
53
53
  if debug
@@ -156,6 +156,19 @@ class TreasureDataLogger < Fluent::Logger::LoggerBase
156
156
  end
157
157
 
158
158
  def add(db, table, msg)
159
+ begin
160
+ TreasureData::API.validate_database_name(db)
161
+ rescue
162
+ @logger.error("TreasureDataLogger: Invalid database name #{db.inspect}: #{$!}")
163
+ return false
164
+ end
165
+ begin
166
+ TreasureData::API.validate_table_name(table)
167
+ @logger.error("TreasureDataLogger: Invalid table name #{table.inspect}: #{$!}")
168
+ rescue
169
+ return false
170
+ end
171
+
159
172
  begin
160
173
  data = to_msgpack(msg)
161
174
  rescue
@@ -1,7 +1,7 @@
1
1
  module TreasureData
2
2
  module Logger
3
3
 
4
- VERSION = '0.3.2'
4
+ VERSION = '0.3.3'
5
5
 
6
6
  end
7
7
  end
@@ -16,6 +16,25 @@ describe TreasureData::Logger::TreasureDataLogger do
16
16
  td.should_receive(:add).with('overwrite', 'table1', {:foo=>:bar, :time=>time.to_i})
17
17
  td.post_with_time('overwrite.table1', {:foo=>:bar}, time)
18
18
  end
19
+
20
+ it 'success' do
21
+ td = TreasureData::Logger::TreasureDataLogger.new('db1', :apikey=>'test')
22
+ td.post('valid', {}).should == true
23
+ end
24
+ end
25
+
26
+ context 'validate' do
27
+ it 'validate table name' do
28
+ td = TreasureData::Logger::TreasureDataLogger.new('db1', :apikey=>'test')
29
+ td.post('invalid-name', {}).should == false
30
+ td.post('', {}).should == false
31
+ td.post('9', {}).should == false
32
+ end
33
+
34
+ it 'validate database name' do
35
+ td = TreasureData::Logger::TreasureDataLogger.new('invalid-db-name', :apikey=>'test')
36
+ td.post('table', {}).should == false
37
+ end
19
38
  end
20
39
  end
21
40
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: td-logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-11-09 00:00:00.000000000Z
12
+ date: 2011-11-10 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: msgpack
16
- requirement: &70322049770860 !ruby/object:Gem::Requirement
16
+ requirement: &70314747460680 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.4.4
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70322049770860
24
+ version_requirements: *70314747460680
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: td-client
27
- requirement: &70322049768540 !ruby/object:Gem::Requirement
27
+ requirement: &70314747460200 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 0.8.0
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70322049768540
35
+ version_requirements: *70314747460200
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: fluent-logger
38
- requirement: &70322049767320 !ruby/object:Gem::Requirement
38
+ requirement: &70314747459720 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: 0.4.1
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70322049767320
46
+ version_requirements: *70314747459720
47
47
  description:
48
48
  email:
49
49
  executables: []