rrrspec-web 0.3.0 → 0.4.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6e6d8a19033575e5a1996c713a7e188e7e503322
4
- data.tar.gz: f8228f601047f98f4acffbacdb3eee14290a5f10
3
+ metadata.gz: 74ee5aa013465a0f3fccc8043aeb8f43370bc354
4
+ data.tar.gz: 3a0fbc05bf9244d8033a6ad2430bf75c61f6276c
5
5
  SHA512:
6
- metadata.gz: 4f211ee0bce9f400bec637b5b11365863c8041183e7a16a560cebd10fb3da5f6eaa04fdd1a16678e4fdee0136f2bcb2880148d0b80cdbc0c56e140c6ce3a866f
7
- data.tar.gz: 9c1a9ea865e71ce6bdac88a41dbcc8107cc2e4ee5cdf798f0acfc56af0ef076ad4ef76997978cfba4b1cb67289c42a4d4b849adccc83635b4ea5ddaa307c8ce9
6
+ metadata.gz: 645daaa283bcbcdbe3bebdaeb7e3d910f67419c2d12c32dcc736480dc53f7abdf8716bf75bedfaf4319b48b1f6186444d3e41f1d61648136e2edb0cfea2bbcbb
7
+ data.tar.gz: 40fb536e6e66ea5ca127015add099471f4b25128e86551e736bd3d2868fa13be4dc3eaa5e4d84c767124384488fffa2843179f15b03e0ab11d34dc477f48c3a1
@@ -9,6 +9,7 @@ require 'rrrspec/web/app'
9
9
  require 'rrrspec/web/configuration'
10
10
 
11
11
  RRRSpec.configuration = RRRSpec::Web::WebConfiguration.new
12
+ ActiveSupport::JSON::Encoding.time_precision = 0
12
13
 
13
14
  module RRRSpec
14
15
  module Web
@@ -6,56 +6,6 @@ module RRRSpec
6
6
  module Web
7
7
  DEFAULT_PER_PAGE = 10
8
8
 
9
- class API < Grape::API
10
- version 'v1', using: :path
11
- format :json
12
- set :per_page, DEFAULT_PER_PAGE
13
-
14
- resource :tasksets do
15
- desc "Return active tasksets"
16
- get :actives do
17
- ActiveTaskset.list
18
- end
19
-
20
- desc "Return recently finished tasksets"
21
- get :recents do
22
- paginate(RRRSpec::Server::Persistence::Taskset.recent).map(&:as_json_with_no_relation)
23
- end
24
-
25
- desc "Return tasksets that contains failure_exit slave"
26
- get :failure_slaves do
27
- paginate(RRRSpec::Server::Persistence::Taskset.has_failed_slaves.recent).map(&:as_json_with_no_relation)
28
- end
29
-
30
- desc "Return a taskset."
31
- params { requires :key, type: String, desc: "Taskset key." }
32
- route_param :key do
33
- get do
34
- p_obj = RRRSpec::Server::Persistence::Taskset.where(key: params[:key]).full.first
35
- if p_obj
36
- p_obj.as_full_json.update('is_full' => true)
37
- else
38
- error!('Not Found', 404)
39
- end
40
- end
41
- end
42
- end
43
-
44
- namespace :batch do
45
- resource :tasks do
46
- desc "Return all tasks in the taskset"
47
- params { requires :key, type: String, desc: "Taskset key." }
48
- route_param :key do
49
- get do
50
- r_taskset = Taskset.new(params[:key])
51
- error!('Not Found', 404) unless r_taskset.exist?
52
- r_taskset.tasks.map(&:to_h)
53
- end
54
- end
55
- end
56
- end
57
- end
58
-
59
9
  module OjFormatter
60
10
  def self.call(object, env)
61
11
  Oj.dump(object, mode: :compat, time_format: :ruby)
@@ -1,5 +1,5 @@
1
1
  module RRRSpec
2
2
  module Web
3
- VERSION = "0.3.0"
3
+ VERSION = "0.4.0"
4
4
  end
5
5
  end
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  module RRRSpec
4
- describe "Web" do
4
+ RSpec.describe Web do
5
5
  before do
6
6
  RRRSpec.configuration = Web::WebConfiguration.new
7
7
  RRRSpec.configuration.redis = @redis
@@ -73,69 +73,6 @@ module RRRSpec
73
73
  worker_log.set_finished_time
74
74
  end
75
75
 
76
- describe Web::API do
77
- include Rack::Test::Methods
78
-
79
- def app
80
- Web::API
81
- end
82
-
83
- describe "GET /v1/tasksets/actives" do
84
- before { ActiveTaskset.add(taskset) }
85
-
86
- it 'returns the active tasksets' do
87
- get "/v1/tasksets/actives"
88
- expect(last_response.status).to eq(200)
89
- expect(JSON.parse(last_response.body)).to eq(JSON.parse(ActiveTaskset.list.to_json))
90
- end
91
- end
92
-
93
- describe "GET /v1/tasksets/recents" do
94
- context 'there are 11 tasksets' do
95
- before do
96
- 11.times { Server::Persistence::Taskset.create() }
97
- end
98
-
99
- it 'returns the recent 10 tasksets' do
100
- get "/v1/tasksets/recents"
101
- expect(last_response.status).to eq(200)
102
- expect(JSON.parse(last_response.body).size).to eq(10)
103
- end
104
- end
105
- end
106
-
107
- describe "GET /v1/tasksets/:key" do
108
- context 'with the taskset persisted' do
109
- before do
110
- Server::Persister.persist(taskset)
111
- end
112
-
113
- it 'returns the taskset' do
114
- get "/v1/tasksets/#{taskset.key}"
115
- expect(last_response.status).to eq(200)
116
- expect(JSON.parse(last_response.body)).to eq(
117
- JSON.parse(JSON.generate(Server::Persistence::Taskset.first.as_full_json)).update("is_full" => true)
118
- )
119
- end
120
- end
121
-
122
- context 'with the taskset not persisted' do
123
- it 'returns 404' do
124
- get "/v1/tasksets/#{taskset.key}"
125
- expect(last_response.status).to eq(404)
126
- end
127
- end
128
- end
129
-
130
- describe "GET /v1/batch/tasks/:key" do
131
- it 'returns all tasks in the taskset' do
132
- get "/v1/batch/tasks/#{taskset.key}"
133
- expect(last_response.status).to eq(200)
134
- expect(JSON.parse(last_response.body)).to eq([JSON.parse(task.to_json)])
135
- end
136
- end
137
- end
138
-
139
76
  describe Web::APIv2 do
140
77
  include Rack::Test::Methods
141
78
 
@@ -150,7 +87,7 @@ module RRRSpec
150
87
  get "/v2/tasksets/actives"
151
88
  expect(last_response.status).to eq(200)
152
89
  expect(JSON.parse(last_response.body)).to eq([
153
- { 'key' => taskset.key },
90
+ { 'key' => taskset.key, 'status' => taskset.status, 'rsync_name' => taskset.rsync_name, 'created_at' => taskset.created_at.iso8601 },
154
91
  ])
155
92
  end
156
93
  end
@@ -9,7 +9,8 @@ require 'rack/test'
9
9
  require 'database_cleaner'
10
10
 
11
11
  RSpec.configure do |config|
12
- config.treat_symbols_as_metadata_keys_with_true_values = true
12
+ config.raise_errors_for_deprecations!
13
+ config.disable_monkey_patching!
13
14
  config.run_all_when_everything_filtered = true
14
15
  config.filter_run :focus
15
16
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rrrspec-web
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Masaya Suzuki
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-28 00:00:00.000000000 Z
11
+ date: 2015-07-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler