datasift 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/LICENSE +21 -0
- data/README.md +38 -0
- data/Rakefile +36 -0
- data/VERSION +1 -0
- data/config.yml +2 -0
- data/datasift.gemspec +28 -0
- data/examples/cost.rb +123 -0
- data/examples/football-buffered.rb +50 -0
- data/examples/football.rb +52 -0
- data/examples/twitter-track.rb +60 -0
- data/lib/DataSift/apiclient.rb +79 -0
- data/lib/DataSift/definition.rb +154 -0
- data/lib/DataSift/exceptions.rb +16 -0
- data/lib/DataSift/mockapiclient.rb +55 -0
- data/lib/DataSift/stream_consumer.rb +124 -0
- data/lib/DataSift/stream_consumer_http.rb +160 -0
- data/lib/DataSift/user.rb +104 -0
- data/lib/datasift.rb +19 -0
- data/test/helper.rb +24 -0
- data/test/test_definition.rb +282 -0
- data/test/test_live_api.rb +100 -0
- data/test/test_user.rb +68 -0
- data/test/testdata.yml +4 -0
- metadata +135 -0
data/test/test_user.rb
ADDED
@@ -0,0 +1,68 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestUser < Test::Unit::TestCase
|
4
|
+
context "Given a new User object" do
|
5
|
+
setup do
|
6
|
+
init()
|
7
|
+
initUser()
|
8
|
+
end
|
9
|
+
|
10
|
+
should "have the correct username" do
|
11
|
+
assert_not_nil @user
|
12
|
+
assert_equal @config['username'], @user.username
|
13
|
+
end
|
14
|
+
|
15
|
+
should "have the correct API key" do
|
16
|
+
assert_not_nil @user
|
17
|
+
assert_equal @config['api_key'], @user.api_key
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
context "Given an empty definition from the User factory" do
|
22
|
+
setup do
|
23
|
+
init()
|
24
|
+
initUser()
|
25
|
+
@definition = @user.createDefinition()
|
26
|
+
end
|
27
|
+
|
28
|
+
should "have an empty CSDL" do
|
29
|
+
assert_not_nil @definition
|
30
|
+
assert_equal '', @definition.csdl
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
context "Given an new definition from the User factory" do
|
35
|
+
setup do
|
36
|
+
init()
|
37
|
+
initUser()
|
38
|
+
@definition = @user.createDefinition(" " + @testdata['definition'])
|
39
|
+
end
|
40
|
+
|
41
|
+
should "have the correct CSDL" do
|
42
|
+
assert_not_nil @definition
|
43
|
+
assert_equal @testdata['definition'], @definition.csdl
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
context "Given a call has been made to the API" do
|
48
|
+
setup do
|
49
|
+
init()
|
50
|
+
initUser()
|
51
|
+
@definition = @user.createDefinition(@testdata['definition'])
|
52
|
+
@user.api_client.setResponse(200, {
|
53
|
+
'hash' => @testdata['definition_hash'],
|
54
|
+
'created_at' => Time.now.strftime('%Y-%m-%d %H:%M:%S'),
|
55
|
+
'cost' => 10,
|
56
|
+
}, 200, 150)
|
57
|
+
@definition.compile()
|
58
|
+
end
|
59
|
+
|
60
|
+
should "have a rate limit value" do
|
61
|
+
assert @user.rate_limit == 200
|
62
|
+
end
|
63
|
+
|
64
|
+
should "have a rate limit remaining value" do
|
65
|
+
assert @user.rate_limit_remaining == 150
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
data/test/testdata.yml
ADDED
metadata
ADDED
@@ -0,0 +1,135 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: datasift
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.0
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- MediaSift
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2011-09-06 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rest-client
|
16
|
+
requirement: &22559520 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 1.6.3
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *22559520
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: crack
|
27
|
+
requirement: &22559040 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ~>
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
type: :runtime
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *22559040
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: yajl-ruby
|
38
|
+
requirement: &22558540 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ~>
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 0.8.2
|
44
|
+
type: :runtime
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *22558540
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: rdoc
|
49
|
+
requirement: &22558040 !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
type: :development
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *22558040
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: shoulda
|
60
|
+
requirement: &22557580 !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
62
|
+
requirements:
|
63
|
+
- - ~>
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: 2.11.3
|
66
|
+
type: :development
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: *22557580
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rspec
|
71
|
+
requirement: &22557000 !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
73
|
+
requirements:
|
74
|
+
- - ~>
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: 2.6.0
|
77
|
+
type: :development
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: *22557000
|
80
|
+
description: The official Ruby library for accessing the DataSift API. See http://datasift.net/
|
81
|
+
for full details and to sign up for an account.
|
82
|
+
email:
|
83
|
+
- support@datasift.net
|
84
|
+
executables: []
|
85
|
+
extensions: []
|
86
|
+
extra_rdoc_files: []
|
87
|
+
files:
|
88
|
+
- LICENSE
|
89
|
+
- README.md
|
90
|
+
- Rakefile
|
91
|
+
- VERSION
|
92
|
+
- config.yml
|
93
|
+
- datasift.gemspec
|
94
|
+
- examples/cost.rb
|
95
|
+
- examples/football-buffered.rb
|
96
|
+
- examples/football.rb
|
97
|
+
- examples/twitter-track.rb
|
98
|
+
- lib/DataSift/apiclient.rb
|
99
|
+
- lib/DataSift/definition.rb
|
100
|
+
- lib/DataSift/exceptions.rb
|
101
|
+
- lib/DataSift/mockapiclient.rb
|
102
|
+
- lib/DataSift/stream_consumer.rb
|
103
|
+
- lib/DataSift/stream_consumer_http.rb
|
104
|
+
- lib/DataSift/user.rb
|
105
|
+
- lib/datasift.rb
|
106
|
+
- test/helper.rb
|
107
|
+
- test/test_definition.rb
|
108
|
+
- test/test_live_api.rb
|
109
|
+
- test/test_user.rb
|
110
|
+
- test/testdata.yml
|
111
|
+
homepage: http://github.com/mediasift/datasift-ruby
|
112
|
+
licenses: []
|
113
|
+
post_install_message:
|
114
|
+
rdoc_options: []
|
115
|
+
require_paths:
|
116
|
+
- lib
|
117
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
118
|
+
none: false
|
119
|
+
requirements:
|
120
|
+
- - ! '>='
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
version: '0'
|
123
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
124
|
+
none: false
|
125
|
+
requirements:
|
126
|
+
- - ! '>='
|
127
|
+
- !ruby/object:Gem::Version
|
128
|
+
version: 1.3.6
|
129
|
+
requirements: []
|
130
|
+
rubyforge_project:
|
131
|
+
rubygems_version: 1.8.10
|
132
|
+
signing_key:
|
133
|
+
specification_version: 3
|
134
|
+
summary: DataSit is a simple wrapper for the DataSift API.
|
135
|
+
test_files: []
|