ccp 0.4.2 → 0.4.3

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/.gitignore CHANGED
@@ -2,6 +2,7 @@
2
2
  .bundle
3
3
  .ruby-version
4
4
  Gemfile.lock
5
+ Gemfile.jruby.lock
5
6
  pkg/*
6
7
  tmp/*
7
8
  vendor
data/Gemfile.jruby ADDED
@@ -0,0 +1,3 @@
1
+ source "http://rubygems.org"
2
+
3
+ gemspec
@@ -12,7 +12,7 @@ class Ccp::Persistent::Dir < Ccp::Persistent::Base
12
12
  def load!(key)
13
13
  path = path_for(key)
14
14
  if path.exist?
15
- decode(path.read{})
15
+ decode(path.open("rb").read{})
16
16
  else
17
17
  raise Ccp::Persistent::NotFound, key.to_s
18
18
  end
@@ -25,7 +25,7 @@ class Ccp::Persistent::Dir < Ccp::Persistent::Base
25
25
  end
26
26
 
27
27
  def []=(key, val)
28
- path_for(key).open("w+"){|f| f.print encode(val)}
28
+ path_for(key).open("wb+"){|f| f.print encode(val)}
29
29
  end
30
30
 
31
31
  def keys
@@ -55,12 +55,12 @@ class Ccp::Persistent::File < Ccp::Persistent::Base
55
55
 
56
56
  def read!
57
57
  path.exist? or raise Ccp::Persistent::NotFound, path.to_s
58
- decode(path.read{}).must(Hash)
58
+ decode(path.open("rb").read{}).must(Hash)
59
59
  end
60
60
 
61
61
  private
62
62
  def raw_write(buf)
63
63
  path.parent.mkpath
64
- path.open("w+"){|f| f.print buf}
64
+ path.open("wb+"){|f| f.print buf}
65
65
  end
66
66
  end
@@ -54,7 +54,7 @@ class Ccp::Persistent::Versioned
54
54
  def initialize(dir, options = {})
55
55
  @path = Pathname(dir)
56
56
  @kvs = options[:kvs] || :dir
57
- @ext = options[:ext] || :json
57
+ @ext = options[:ext] || :msgpack
58
58
  @storages = {}
59
59
 
60
60
  @path.mkpath
@@ -33,8 +33,8 @@ module Ccp
33
33
 
34
34
  # Values
35
35
  self[:fixture_dir] = "tmp/fixtures"
36
- self[:fixture_kvs] = :file
37
- self[:fixture_ext] = :json
36
+ self[:fixture_kvs] = :dir
37
+ self[:fixture_ext] = :msgpack
38
38
  self[:fixture_save] = false
39
39
  self[:fixture_test] = false
40
40
  self[:fixture_keys] = true
data/lib/ccp/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Ccp
2
- VERSION = "0.4.2"
2
+ VERSION = "0.4.3"
3
3
  end
@@ -29,19 +29,19 @@ describe Ccp::Receivers::Fixtures do
29
29
  it "should test CRFC1, CRFC2, CRFF in order" do
30
30
  lambda {
31
31
  CRFCC.test
32
- }.should raise_error(Ccp::Fixtures::NotFound, "tmp/fixtures/crfc1/mock.json")
32
+ }.should raise_error(Ccp::Fixtures::NotFound, "tmp/fixtures/crfc1/mock.msgpack")
33
33
 
34
- save_fixture("tmp/fixtures/crfc1/mock.json", "a"=>1)
34
+ save_fixture("tmp/fixtures/crfc1/mock.msgpack", "a"=>1)
35
35
  lambda {
36
36
  CRFCC.test
37
- }.should raise_error(Ccp::Fixtures::NotFound, "tmp/fixtures/crfc2/mock.json")
37
+ }.should raise_error(Ccp::Fixtures::NotFound, "tmp/fixtures/crfc2/mock.msgpack")
38
38
 
39
- save_fixture("tmp/fixtures/crfc2/mock.json", "b"=>2)
39
+ save_fixture("tmp/fixtures/crfc2/mock.msgpack", "b"=>2)
40
40
  lambda {
41
41
  CRFCC.test
42
- }.should raise_error(Ccp::Fixtures::NotFound, "tmp/fixtures/crfcc/mock.json")
42
+ }.should raise_error(Ccp::Fixtures::NotFound, "tmp/fixtures/crfcc/mock.msgpack")
43
43
 
44
- save_fixture("tmp/fixtures/crfcc/mock.json", {})
44
+ save_fixture("tmp/fixtures/crfcc/mock.msgpack", {})
45
45
  lambda {
46
46
  CRFCC.test
47
47
  }.should_not raise_error
@@ -51,7 +51,7 @@ describe Ccp::Receivers::Fixtures do
51
51
  it "should test only CRFC2" do
52
52
  lambda {
53
53
  CRFCC.test(:fixture_test=>'CRFC2')
54
- }.should raise_error(Ccp::Fixtures::NotFound, "tmp/fixtures/crfc2/mock.json")
54
+ }.should raise_error(Ccp::Fixtures::NotFound, "tmp/fixtures/crfc2/mock.msgpack")
55
55
  end
56
56
  end
57
57
  end
@@ -61,19 +61,19 @@ describe Ccp::Receivers::Fixtures do
61
61
  it "should test CRFC1, CRFC2, CRFF in order" do
62
62
  lambda {
63
63
  CRFCC.execute(:fixture_test=>true)
64
- }.should raise_error(Ccp::Fixtures::NotFound, "tmp/fixtures/crfc1/mock.json")
64
+ }.should raise_error(Ccp::Fixtures::NotFound, "tmp/fixtures/crfc1/mock.msgpack")
65
65
 
66
- save_fixture("tmp/fixtures/crfc1/mock.json", "a"=>1)
66
+ save_fixture("tmp/fixtures/crfc1/mock.msgpack", "a"=>1)
67
67
  lambda {
68
68
  CRFCC.execute(:fixture_test=>true)
69
- }.should raise_error(Ccp::Fixtures::NotFound, "tmp/fixtures/crfc2/mock.json")
69
+ }.should raise_error(Ccp::Fixtures::NotFound, "tmp/fixtures/crfc2/mock.msgpack")
70
70
 
71
- save_fixture("tmp/fixtures/crfc2/mock.json", "b"=>2)
71
+ save_fixture("tmp/fixtures/crfc2/mock.msgpack", "b"=>2)
72
72
  lambda {
73
73
  CRFCC.execute(:fixture_test=>true)
74
- }.should raise_error(Ccp::Fixtures::NotFound, "tmp/fixtures/crfcc/mock.json")
74
+ }.should raise_error(Ccp::Fixtures::NotFound, "tmp/fixtures/crfcc/mock.msgpack")
75
75
 
76
- save_fixture("tmp/fixtures/crfcc/mock.json", {})
76
+ save_fixture("tmp/fixtures/crfcc/mock.msgpack", {})
77
77
  lambda {
78
78
  CRFCC.execute(:fixture_test=>true)
79
79
  }.should_not raise_error
@@ -84,7 +84,7 @@ describe Ccp::Receivers::Fixtures do
84
84
  it "should test only CRFC2" do
85
85
  lambda {
86
86
  CRFCC.execute(:fixture_test=>'CRFC2')
87
- }.should raise_error(Ccp::Fixtures::NotFound, "tmp/fixtures/crfc2/mock.json")
87
+ }.should raise_error(Ccp::Fixtures::NotFound, "tmp/fixtures/crfc2/mock.msgpack")
88
88
  end
89
89
  end
90
90
 
@@ -2,8 +2,8 @@ require "spec_helper"
2
2
 
3
3
  describe Ccp::Commands::Fixturable do
4
4
  before do
5
- @stub = Pathname("tmp/fixtures/square_cmd/stub.json")
6
- @mock = Pathname("tmp/fixtures/square_cmd/mock.json")
5
+ @stub = Pathname("tmp/fixtures/square_cmd/stub.msgpack")
6
+ @mock = Pathname("tmp/fixtures/square_cmd/mock.msgpack")
7
7
  @stub.parent.mkpath
8
8
  save_fixture(@stub, "x"=>10)
9
9
  save_fixture(@mock, "x"=>100)
@@ -21,13 +21,13 @@ describe Ccp::Commands::Fixturable do
21
21
  end
22
22
 
23
23
  class SquareCmdPass < SquareCmd
24
- stub "tmp/fixtures/square_cmd/stub.json"
25
- mock "tmp/fixtures/square_cmd/mock.json"
24
+ stub "tmp/fixtures/square_cmd/stub.msgpack"
25
+ mock "tmp/fixtures/square_cmd/mock.msgpack"
26
26
  end
27
27
 
28
28
  class SquareCmdFail < SquareCmd
29
- stub "tmp/fixtures/square_cmd/stub.json"
30
- mock "tmp/fixtures/square_cmd/mock.json"
29
+ stub "tmp/fixtures/square_cmd/stub.msgpack"
30
+ mock "tmp/fixtures/square_cmd/mock.msgpack"
31
31
 
32
32
  def execute
33
33
  data[:x] = data[:x] + 1
@@ -32,46 +32,46 @@ describe Ccp::Receivers::Fixtures do
32
32
  end
33
33
 
34
34
  describe ".execute" do
35
- context "(:fixture_save=>true, :fixture_kvs=>:dir, :fixture_ext=>:json)" do
36
- before { @options = {:fixture_save=>true, :fixture_kvs=>:dir, :fixture_ext=>:json} }
35
+ context "(:fixture_save=>true, :fixture_kvs=>:dir, :fixture_ext=>:msgpack)" do
36
+ before { @options = {:fixture_save=>true, :fixture_kvs=>:dir, :fixture_ext=>:msgpack} }
37
37
 
38
38
  it "should create stubs and mocks as dir" do
39
39
  Example1::Main.execute(@options)
40
40
 
41
41
  Pathname("tmp/fixtures/example1").should exist
42
- Dir["tmp/**/*.json"].sort.should ==
43
- ["tmp/fixtures/example1/calculate_mean/mock.json",
44
- "tmp/fixtures/example1/calculate_mean/mock.json/mean.json",
45
- "tmp/fixtures/example1/calculate_mean/stub.json",
46
- "tmp/fixtures/example1/calculate_mean/stub.json/ints.json",
47
- "tmp/fixtures/example1/load_ints/mock.json",
48
- "tmp/fixtures/example1/load_ints/mock.json/ints.json",
49
- "tmp/fixtures/example1/main/mock.json",
50
- "tmp/fixtures/example1/main/mock.json/ints.json",
51
- "tmp/fixtures/example1/main/mock.json/mean.json",
52
- "tmp/fixtures/example1/main/stub.json",
53
- "tmp/fixtures/example1/main/stub.json/ints.json"]
42
+ Dir["tmp/**/*.msgpack"].sort.should ==
43
+ ["tmp/fixtures/example1/calculate_mean/mock.msgpack",
44
+ "tmp/fixtures/example1/calculate_mean/mock.msgpack/mean.msgpack",
45
+ "tmp/fixtures/example1/calculate_mean/stub.msgpack",
46
+ "tmp/fixtures/example1/calculate_mean/stub.msgpack/ints.msgpack",
47
+ "tmp/fixtures/example1/load_ints/mock.msgpack",
48
+ "tmp/fixtures/example1/load_ints/mock.msgpack/ints.msgpack",
49
+ "tmp/fixtures/example1/main/mock.msgpack",
50
+ "tmp/fixtures/example1/main/mock.msgpack/ints.msgpack",
51
+ "tmp/fixtures/example1/main/mock.msgpack/mean.msgpack",
52
+ "tmp/fixtures/example1/main/stub.msgpack",
53
+ "tmp/fixtures/example1/main/stub.msgpack/ints.msgpack"]
54
54
  end
55
55
 
56
56
  it "should pass all test" do
57
57
  Example1::Main.execute(@options)
58
58
  lambda {
59
- Example1::Main.test
59
+ Example1::Main.test(:fixture_kvs=>:dir, :fixture_ext=>:msgpack)
60
60
  }.should_not raise_error
61
61
  end
62
62
 
63
63
  it "should pass partial test" do
64
64
  Example1::Main.execute(@options)
65
65
  lambda {
66
- Example1::CalculateMean.test
66
+ Example1::CalculateMean.test(:fixture_kvs=>:dir, :fixture_ext=>:msgpack)
67
67
  }.should_not raise_error
68
68
  end
69
69
 
70
70
  it "should raise Typed::NotDefined when partial stub file is deleted" do
71
71
  Example1::Main.execute(@options)
72
- Pathname("tmp/fixtures/example1/calculate_mean/stub.json/ints.json").unlink
72
+ Pathname("tmp/fixtures/example1/calculate_mean/stub.msgpack/ints.msgpack").unlink
73
73
  lambda {
74
- Example1::CalculateMean.test
74
+ Example1::CalculateMean.test(:fixture_kvs=>:dir, :fixture_ext=>:msgpack)
75
75
  }.should raise_error(Typed::NotDefined, /'ints' is not initialized/)
76
76
  end
77
77
  end
@@ -8,15 +8,16 @@ describe Ccp::Invokers::Base do
8
8
  end
9
9
 
10
10
  context "(:fixture_save=>true)" do
11
- it "should generate stub/mock fixtures in tmp/fixtures as json files" do
11
+ it "should generate stub/mock fixtures in tmp/fixtures as msgpack files" do
12
12
  path = Pathname("tmp/fixtures")
13
13
  data = {:breadcrumbs => []}
14
14
  opts = {:fixture_save=>true}
15
15
 
16
16
  CompositeInvoker.execute(data.merge(opts))
17
17
 
18
- (stub = path + "composite_invoker/stub.json" ).should exist
19
- load_fixture(stub)["breadcrumbs"].should ==
18
+ stub = path + "composite_invoker/stub.msgpack"
19
+ stub.should exist
20
+ load_fixture("#{stub}/breadcrumbs.msgpack").should ==
20
21
  ["CompositeInvoker#before",
21
22
  "Cmd1#before", "Cmd1#execute", "Cmd1#after",
22
23
  "Cmd23#before",
@@ -137,12 +137,25 @@ describe Ccp::Persistent::Dir do
137
137
  end
138
138
  end
139
139
 
140
- it "should save data into storage and load it" do
141
- kvs = Ccp::Persistent::Dir.new(db1, :json)
142
- kvs[:foo] = "[1,2,3]"
140
+ context "(:json)" do
141
+ it "should save data into storage and load it" do
142
+ kvs = Ccp::Persistent::Dir.new(db1, :json)
143
+ kvs[:foo] = "[1,2,3]"
144
+
145
+ FileUtils.mv(db1, db2)
146
+ kvs = Ccp::Persistent::Dir.new(db2, :json)
147
+ kvs[:foo].should == "[1,2,3]"
148
+ end
149
+ end
150
+
151
+ context "(:msgpack)" do
152
+ it "should save data into storage and load it" do
153
+ kvs = Ccp::Persistent::Dir.new(db1, :msgpack)
154
+ kvs[:flag] = [false, [], true, 1.2]
143
155
 
144
- FileUtils.mv(db1, db2)
145
- kvs = Ccp::Persistent::Dir.new(db2, :json)
146
- kvs[:foo].should == "[1,2,3]"
156
+ FileUtils.mv(db1, db2)
157
+ kvs = Ccp::Persistent::Dir.new(db2, :msgpack)
158
+ kvs[:flag].should == [false, [], true, 1.2]
159
+ end
147
160
  end
148
161
  end
@@ -156,4 +156,42 @@ describe Ccp::Persistent::File do
156
156
  db.should_not exist
157
157
  end
158
158
  end
159
+
160
+ context "(:json)" do
161
+ def db1; Pathname("tmp/spec/ccp/persistent/file/db1.json"); end
162
+ def db2; Pathname("tmp/spec/ccp/persistent/file/db2.json"); end
163
+
164
+ before do
165
+ FileUtils.rm_rf(db1)
166
+ FileUtils.rm_rf(db2)
167
+ end
168
+
169
+ it "should save data into storage and load it" do
170
+ kvs = Ccp::Persistent::File.new(db1, :json)
171
+ kvs[:foo] = "[1,2,3]"
172
+
173
+ FileUtils.mv(db1, db2)
174
+ kvs = Ccp::Persistent::File.new(db2, :json)
175
+ kvs[:foo].should == "[1,2,3]"
176
+ end
177
+ end
178
+
179
+ context "(:msgpack)" do
180
+ def db1; Pathname("tmp/spec/ccp/persistent/file/db1.msgpack"); end
181
+ def db2; Pathname("tmp/spec/ccp/persistent/file/db2.msgpack"); end
182
+
183
+ before do
184
+ FileUtils.rm_rf(db1)
185
+ FileUtils.rm_rf(db2)
186
+ end
187
+
188
+ it "should save data into storage and load it" do
189
+ kvs = Ccp::Persistent::File.new(db1, :msgpack)
190
+ kvs[:flag] = [false, [], true, 1.2]
191
+
192
+ FileUtils.mv(db1, db2)
193
+ kvs = Ccp::Persistent::File.new(db2, :msgpack)
194
+ kvs[:flag].should == [false, [], true, 1.2]
195
+ end
196
+ end
159
197
  end
@@ -7,16 +7,16 @@ describe "Ccp::Commands::Core" do
7
7
  FileUtils.rm_rf("tmp")
8
8
  end
9
9
 
10
- context "(:fixture_save=>true, :fixture_ext=>:msgpack)" do
10
+ context "(:fixture_save=>true, :fixture_ext=>:msgpack, :fixture_kvs=>:file)" do
11
11
  it "should generate stub/mock fixtures in tmp/fixtures as yaml files" do
12
12
  path = Pathname("tmp/fixtures")
13
13
  data = {:a=>"a", :b=>"b", :x=>1, :y=>2}
14
- opts = {:fixture_save=>true, :fixture_ext=>:msgpack}
14
+ opts = {:fixture_save=>true, :fixture_ext=>:msgpack, :fixture_kvs=>:file}
15
15
 
16
16
  TSFC.execute(data.merge(opts))
17
17
 
18
- load_fixture(path + "tsfc/stub.msgpack").should == {"a" => "a"}
19
- load_fixture(path + "tsfc/mock.msgpack").should == {"x" => 10}
18
+ Ccp::Persistent::File.new(path + "tsfc/stub.msgpack", :msgpack).read.should == {"a" => "a"}
19
+ Ccp::Persistent::File.new(path + "tsfc/mock.msgpack", :msgpack).read.should == {"x" => 10}
20
20
  end
21
21
  end
22
22
 
@@ -28,8 +28,8 @@ describe "Ccp::Commands::Core" do
28
28
 
29
29
  TSFC.execute(data.merge(opts))
30
30
 
31
- load_fixture(path + "tsfc/stub.msgpack/a.msgpack").should == "a"
32
- load_fixture(path + "tsfc/mock.msgpack/x.msgpack").should == 10
31
+ Ccp::Persistent::Dir.new(path + "tsfc/stub.msgpack", :msgpack).read.should == {"a" => "a"}
32
+ Ccp::Persistent::Dir.new(path + "tsfc/mock.msgpack", :msgpack).read.should == {"x" => 10}
33
33
  end
34
34
  end
35
35
  end
@@ -8,15 +8,15 @@ describe "Ccp::Commands::Core" do
8
8
  end
9
9
 
10
10
  context "(:fixture_save=>true)" do
11
- it "should generate stub/mock fixtures in tmp/fixtures as json files" do
11
+ it "should generate stub/mock fixtures in tmp/fixtures as msgpack files" do
12
12
  path = Pathname("tmp/fixtures")
13
13
  data = {:a=>"a", :b=>"b", :x=>1, :y=>2}
14
14
  opts = {:fixture_save=>true}
15
15
 
16
16
  TSFC.execute(data.merge(opts))
17
17
 
18
- load_fixture(path + "tsfc/stub.json").should == {"a" => "a"}
19
- load_fixture(path + "tsfc/mock.json").should == {"x" => 10}
18
+ Ccp::Persistent::Dir.new(path + "tsfc/stub.msgpack", :msgpack).read.should == {"a" => "a"}
19
+ Ccp::Persistent::Dir.new(path + "tsfc/mock.msgpack", :msgpack).read.should == {"x" => 10}
20
20
  end
21
21
  end
22
22
 
@@ -28,21 +28,21 @@ describe "Ccp::Commands::Core" do
28
28
 
29
29
  TSFC.execute(data.merge(opts))
30
30
 
31
- load_fixture(path + "tsfc/stub.yaml" ).should == {"a" => "a"}
32
- load_fixture(path + "tsfc/mock.yaml").should == {"x" => 10}
31
+ Ccp::Persistent::Dir.new(path + "tsfc/stub.yaml", :yaml).read.should == {"a" => "a"}
32
+ Ccp::Persistent::Dir.new(path + "tsfc/mock.yaml", :yaml).read.should == {"x" => 10}
33
33
  end
34
34
  end
35
35
 
36
36
  context "(:fixture_save=>true, :fixture_kvs=>:dir)" do
37
- it "should generate json files in stub/mock dir" do
37
+ it "should generate msgpack files in stub/mock dir" do
38
38
  path = Pathname("tmp/fixtures")
39
39
  data = {:a=>"a", :b=>"b", :x=>1, :y=>2}
40
40
  opts = {:fixture_save=>true, :fixture_kvs=>:dir}
41
41
 
42
42
  TSFC.execute(data.merge(opts))
43
43
 
44
- load_fixture(path + "tsfc/stub.json/a.json" ).should == "a"
45
- load_fixture(path + "tsfc/mock.json/x.json").should == 10
44
+ load_fixture(path + "tsfc/stub.msgpack/a.msgpack").should == "a"
45
+ load_fixture(path + "tsfc/mock.msgpack/x.msgpack").should == 10
46
46
  end
47
47
  end
48
48
  end
@@ -21,8 +21,8 @@ describe Ccp::Invokers::Base do
21
21
  it "should ignore :logger in default" do
22
22
  ULI.execute(:a=>"a", :fixture_save=>true)
23
23
 
24
- load_fixture("tmp/fixtures/uli/stub.json").should == {"a" => "a"}
25
- load_fixture("tmp/fixtures/uli/mock.json").should == {"x" => 10}
24
+ Ccp::Persistent::Dir.new("tmp/fixtures/uli/stub.msgpack", :msgpack).read.should == {"a" => "a"}
25
+ Ccp::Persistent::Dir.new("tmp/fixtures/uli/mock.msgpack", :msgpack).read.should == {"x" => 10}
26
26
  end
27
27
  end
28
28
  end
@@ -13,7 +13,8 @@ describe Cmd1 do
13
13
  end
14
14
 
15
15
  def created_keys
16
- load_fixture(FIXTURE_PATH + "stub.json").keys.sort
16
+ path = FIXTURE_PATH + "stub.msgpack"
17
+ Ccp::Persistent::Dir.new(path, :msgpack).read.keys.sort
17
18
  rescue Errno::ENOENT
18
19
  []
19
20
  end
@@ -8,15 +8,15 @@ describe "Ccp::Commands::Core" do
8
8
  end
9
9
 
10
10
  context "(:fixture_save=>true, :fixture_dir=>...)" do
11
- it "should generate stub/mock fixtures in <save_fixture_dir> as json files" do
11
+ it "should generate stub/mock fixtures in <save_fixture_dir> as msgpack files" do
12
12
  path = Pathname("tmp/test/fixtures")
13
13
  data = {:a=>"a", :b=>"b", :x=>1, :y=>2}
14
14
  opts = {:fixture_save=>true, :fixture_dir=>path.to_s}
15
15
 
16
16
  TSFC.execute(data.merge(opts))
17
17
 
18
- load_fixture(path + "tsfc/stub.json").should == {"a" => "a"}
19
- load_fixture(path + "tsfc/mock.json").should == {"x" => 10}
18
+ Ccp::Persistent::Dir.new(path + "tsfc/stub.msgpack", :msgpack).read.should == {"a" => "a"}
19
+ Ccp::Persistent::Dir.new(path + "tsfc/mock.msgpack", :msgpack).read.should == {"x" => 10}
20
20
  end
21
21
  end
22
22
 
@@ -26,8 +26,8 @@ describe "Ccp::Commands::Core" do
26
26
  opts = {:fixture_save=>true}
27
27
 
28
28
  begin
29
- TSFC.stub "tmp/tsfc/in.json"
30
- TSFC.mock "tmp/tsfc/out.json"
29
+ TSFC.stub "tmp/tsfc/in.msgpack"
30
+ TSFC.mock "tmp/tsfc/out.msgpack"
31
31
 
32
32
  TSFC.execute(data.merge(opts))
33
33
  ensure
@@ -35,11 +35,11 @@ describe "Ccp::Commands::Core" do
35
35
  TSFC.mock nil
36
36
  end
37
37
 
38
- load_fixture("tmp/tsfc/in.json").should == {"a" => "a"}
39
- load_fixture("tmp/tsfc/out.json").should == {"x" => 10}
38
+ Ccp::Persistent::Dir.new("tmp/tsfc/in.msgpack" , :msgpack).read.should == {"a" => "a"}
39
+ Ccp::Persistent::Dir.new("tmp/tsfc/out.msgpack", :msgpack).read.should == {"x" => 10}
40
40
  end
41
41
 
42
- it "should generate stub/mock fixtures in <dir> as json files" do
42
+ it "should generate stub/mock fixtures in <dir> as msgpack files" do
43
43
  data = {:a=>"a", :b=>"b", :x=>1, :y=>2}
44
44
  opts = {:fixture_save=>true}
45
45
 
@@ -51,8 +51,8 @@ describe "Ccp::Commands::Core" do
51
51
  TSFC.dir nil
52
52
  end
53
53
 
54
- load_fixture("tmp/foo/tsfc/stub.json").should == {"a" => "a"}
55
- load_fixture("tmp/foo/tsfc/mock.json").should == {"x" => 10}
54
+ Ccp::Persistent::Dir.new("tmp/foo/tsfc/stub.msgpack", :msgpack).read.should == {"a" => "a"}
55
+ Ccp::Persistent::Dir.new("tmp/foo/tsfc/mock.msgpack", :msgpack).read.should == {"x" => 10}
56
56
  end
57
57
  end
58
58
  end
@@ -13,7 +13,7 @@ describe Ccp::Commands::Composite do
13
13
  end
14
14
 
15
15
  def created_fixtures
16
- Dir.chdir(FIXTURE_ROOT){Dir["*/stub.json"].map{|i| File.dirname(i)}.sort}
16
+ Dir.chdir(FIXTURE_ROOT){Dir["*/stub.msgpack"].map{|i| File.dirname(i)}.sort}
17
17
  rescue Errno::ENOENT
18
18
  []
19
19
  end
data/spec/spec_helper.rb CHANGED
@@ -36,19 +36,17 @@ def breadcrumbs_receiver
36
36
  return r
37
37
  end
38
38
 
39
- def lookup_serializer(extname)
40
- {".json"=>JSON, ".yaml"=>YAML, ".msgpack"=>MessagePack}[extname] or raise "no serializers for #{extname}"
41
- end
42
-
43
39
  def load_fixture(path)
44
40
  path = Pathname(path)
45
- lookup_serializer(path.extname).load(path.read{})
41
+ ext = Ccp::Serializers.lookup(path.extname.sub(/^\./, ''))
42
+ ext.decode(path.open("rb").read{})
46
43
  end
47
44
 
48
45
  def save_fixture(path, obj)
49
46
  path = Pathname(path)
50
- buf = lookup_serializer(path.extname).dump(obj)
51
- path.open("w+"){|f| f.print buf}
47
+ ext = Ccp::Serializers.lookup(path.extname.sub(/^\./, ''))
48
+ buf = ext.encode(obj)
49
+ path.open("wb+"){|f| f.print buf}
52
50
  end
53
51
 
54
52
  def truncate_pathname(dir)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ccp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.4.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-12-12 00:00:00.000000000 Z
12
+ date: 2013-12-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -196,6 +196,7 @@ extra_rdoc_files: []
196
196
  files:
197
197
  - .gitignore
198
198
  - Gemfile
199
+ - Gemfile.jruby
199
200
  - README.rdoc
200
201
  - Rakefile
201
202
  - ccp.gemspec