cassie 1.0.0.alpha.8 → 1.0.0.alpha.9
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.
- checksums.yaml +4 -4
- data/lib/cassie/testing/fake/execution_info.rb +17 -0
- data/lib/cassie/testing/fake/prepared_statement.rb +13 -0
- data/lib/cassie/testing/fake/query.rb +28 -0
- data/lib/cassie/testing/fake/result.rb +24 -0
- data/lib/cassie/testing/fake/session.rb +18 -0
- data/lib/cassie/testing.rb +5 -0
- metadata +7 -2
- data/lib/cassie/testing/cassandra_fake.rb +0 -65
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d4f358a5c9aa4f3af968d60e8a2774d26a034eb7
|
4
|
+
data.tar.gz: 4b8e0a4bf0a6a7f9c4d1befaa360e0d1e2305c2e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 88e76c3a5d635b6c82655e63fcc6d99bdfcfb461bfe151cbf2375535d126e3268d7f33d1260def101d3fe3a076c4d720338b94e25231ea494eb781af2e9f97fa
|
7
|
+
data.tar.gz: 9cfa13abf740a4ccbbccda4e54e63fd8dadecd29fc4d8cf7b71ed91cbf955a7d7a27aea0bf1d94f8288e8bbf9f20b3d089309e619699c540f61f55e394227d63
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require_relative 'session'
|
2
|
+
|
3
|
+
module Cassie::Testing::Fake
|
4
|
+
module Query
|
5
|
+
def self.extended(extender)
|
6
|
+
return if extender.class === Class
|
7
|
+
|
8
|
+
# object has been extended (as opposed to class)
|
9
|
+
# memoize the fake session in metaclass for this object
|
10
|
+
# as we don't want to change behavior of _every_ object
|
11
|
+
# instantiated from the class, only _this_ object
|
12
|
+
extender.class.define_singleton_method(:session) do
|
13
|
+
@session ||= Session.new
|
14
|
+
end
|
15
|
+
|
16
|
+
# overwrite definition from extension
|
17
|
+
# to delegate to class definition to
|
18
|
+
# minimize difference from vanilla Query
|
19
|
+
def extender.session
|
20
|
+
self.class.session
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def session
|
25
|
+
@session ||= Session.new
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require_relative 'execution_info'
|
2
|
+
|
3
|
+
module Cassie::Testing::Fake
|
4
|
+
class Result
|
5
|
+
attr_accessor :rows, :statement
|
6
|
+
|
7
|
+
def initialize(statement, opts={})
|
8
|
+
@statement = statement
|
9
|
+
@rows = opts[:rows]
|
10
|
+
end
|
11
|
+
|
12
|
+
def execution_info
|
13
|
+
ExecutionInfo.new(statement)
|
14
|
+
end
|
15
|
+
|
16
|
+
def rows
|
17
|
+
@rows || []
|
18
|
+
end
|
19
|
+
|
20
|
+
def empty?
|
21
|
+
rows.empty?
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require_relative 'result'
|
2
|
+
require_relative 'prepared_statement'
|
3
|
+
|
4
|
+
module Cassie::Testing::Fake
|
5
|
+
class Session
|
6
|
+
attr_reader :last_statement
|
7
|
+
attr_accessor :rows
|
8
|
+
|
9
|
+
def execute(statement, *args)
|
10
|
+
@last_statement = statement
|
11
|
+
Result.new(statement, rows: rows)
|
12
|
+
end
|
13
|
+
|
14
|
+
def prepare(statement)
|
15
|
+
PreparedStatement.new(statement)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cassie
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.alpha.
|
4
|
+
version: 1.0.0.alpha.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Evan Prothro
|
@@ -132,7 +132,12 @@ files:
|
|
132
132
|
- lib/cassie/queries/statement/selection.rb
|
133
133
|
- lib/cassie/queries/statement/updating.rb
|
134
134
|
- lib/cassie/query.rb
|
135
|
-
- lib/cassie/testing
|
135
|
+
- lib/cassie/testing.rb
|
136
|
+
- lib/cassie/testing/fake/execution_info.rb
|
137
|
+
- lib/cassie/testing/fake/prepared_statement.rb
|
138
|
+
- lib/cassie/testing/fake/query.rb
|
139
|
+
- lib/cassie/testing/fake/result.rb
|
140
|
+
- lib/cassie/testing/fake/session.rb
|
136
141
|
homepage: https://github.com/eprothro/cassie
|
137
142
|
licenses:
|
138
143
|
- MIT
|
@@ -1,65 +0,0 @@
|
|
1
|
-
#TODO: think about a better test harness approach
|
2
|
-
module CassandraFake
|
3
|
-
class PreparedStatement
|
4
|
-
attr_reader :statement
|
5
|
-
|
6
|
-
def initialize(statement)
|
7
|
-
@statement = statement
|
8
|
-
end
|
9
|
-
|
10
|
-
def bind(params)
|
11
|
-
statement
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
class ExecutionInfo
|
16
|
-
attr_reader :statement
|
17
|
-
|
18
|
-
def initialize(statement)
|
19
|
-
@statement = statement
|
20
|
-
end
|
21
|
-
|
22
|
-
def bind(params)
|
23
|
-
statement
|
24
|
-
end
|
25
|
-
|
26
|
-
def trace
|
27
|
-
nil
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
class Result
|
32
|
-
attr_accessor :rows, :statement
|
33
|
-
|
34
|
-
def initialize(statement, opts={})
|
35
|
-
@statement = statement
|
36
|
-
@rows = opts[:rows]
|
37
|
-
end
|
38
|
-
|
39
|
-
def execution_info
|
40
|
-
ExecutionInfo.new(statement)
|
41
|
-
end
|
42
|
-
|
43
|
-
def rows
|
44
|
-
@rows || []
|
45
|
-
end
|
46
|
-
|
47
|
-
def empty?
|
48
|
-
rows.empty?
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
class Session
|
53
|
-
attr_reader :last_statement
|
54
|
-
attr_accessor :rows
|
55
|
-
|
56
|
-
def execute(statement, *args)
|
57
|
-
@last_statement = statement
|
58
|
-
Result.new(statement, rows: rows)
|
59
|
-
end
|
60
|
-
|
61
|
-
def prepare(statement)
|
62
|
-
PreparedStatement.new(statement)
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|