mortar-api-ruby 0.6.1 → 0.6.2

Sign up to get free protection for your applications and to get access to all the features.
data/.travis.yml CHANGED
@@ -3,13 +3,8 @@ rvm:
3
3
  - "1.8.7"
4
4
  - "1.9.2"
5
5
  - "1.9.3"
6
- - "2.0.0"
7
6
  notifications:
8
- email:
9
- recipients:
10
- - travis-ci@mortardata.com
11
- on_success: change
12
- on_failure: always
7
+ email: false
13
8
  campfire:
14
9
  on_success: always
15
10
  on_failure: always
@@ -46,10 +46,6 @@ module Mortar
46
46
  STATUS_EXECUTION_ERROR,
47
47
  STATUS_SERVICE_ERROR,
48
48
  STATUS_STOPPED])
49
-
50
- CLUSTER_TYPE__SINGLE_JOB = 'single_job'
51
- CLUSTER_TYPE__PERSISTENT = 'persistent'
52
- CLUSTER_TYPE__PERMANENT = 'permanent'
53
49
  end
54
50
 
55
51
 
@@ -82,15 +78,15 @@ module Mortar
82
78
 
83
79
  # POST /vX/jobs
84
80
  def post_job_new_cluster(project_name, script_name, git_ref, cluster_size, options={})
85
- cluster_type = options[:cluster_type].nil? ? Jobs::CLUSTER_TYPE__PERSISTENT : options[:cluster_type]
81
+ keep_alive = options[:keepalive].nil? ? true : options[:keepalive]
86
82
  notify_on_job_finish = options[:notify_on_job_finish].nil? ? true : options[:notify_on_job_finish]
87
83
  parameters = options[:parameters] || {}
88
84
  is_control_script = options[:is_control_script] || false
89
-
85
+
90
86
  body = { "project_name" => project_name,
91
87
  "git_ref" => git_ref,
92
88
  "cluster_size" => cluster_size,
93
- "cluster_type" => cluster_type,
89
+ "keep_alive" => keep_alive,
94
90
  "parameters" => parameters,
95
91
  "notify_on_job_finish" => notify_on_job_finish
96
92
  }
@@ -18,7 +18,7 @@ module Mortar
18
18
  class API
19
19
  # client version
20
20
  # see http://semver.org/
21
- VERSION = "0.6.1"
21
+ VERSION = "0.6.2"
22
22
 
23
23
  SERVER_API_VERSION = "2"
24
24
  end
@@ -28,7 +28,7 @@ describe Mortar::API do
28
28
  after(:each) do
29
29
  Excon.stubs.clear
30
30
  end
31
-
31
+
32
32
  context "jobs" do
33
33
  it "posts a job for an existing cluster" do
34
34
  job_id = "7b93e4d3ab034188a0c2be418d3d24ed"
@@ -51,17 +51,16 @@ describe Mortar::API do
51
51
  response.body['job_id'].should == job_id
52
52
  end
53
53
 
54
- it "posts a job for a new cluster, defaulting cluster_type to persistent" do
54
+ it "posts a job for a new cluster, defaulting to keep_alive of true" do
55
55
  job_id = "7b93e4d3ab034188a0c2be418d3d24ed"
56
56
  project_name = "my_project"
57
57
  pigscript_name = "my_pigscript"
58
58
  git_ref = "e20395b8b06fbf52e86665b0660209673f311d1a"
59
59
  cluster_size = 5
60
- cluster_type = Mortar::API::Jobs::CLUSTER_TYPE__PERSISTENT
61
60
  body = Mortar::API::OkJson.encode({"project_name" => project_name,
62
61
  "git_ref" => git_ref,
63
62
  "cluster_size" => cluster_size,
64
- "cluster_type" => cluster_type,
63
+ "keep_alive" => true,
65
64
  "parameters" => {},
66
65
  "notify_on_job_finish" => true,
67
66
  "pigscript_name" => pigscript_name
@@ -79,11 +78,10 @@ describe Mortar::API do
79
78
  pigscript_name = "my_pigscript"
80
79
  git_ref = "e20395b8b06fbf52e86665b0660209673f311d1a"
81
80
  cluster_size = 5
82
- cluster_type = Mortar::API::Jobs::CLUSTER_TYPE__PERSISTENT
83
81
  body = Mortar::API::OkJson.encode({"project_name" => project_name,
84
82
  "git_ref" => git_ref,
85
83
  "cluster_size" => cluster_size,
86
- "cluster_type" => cluster_type,
84
+ "keep_alive" => true,
87
85
  "parameters" => {},
88
86
  "notify_on_job_finish" => true,
89
87
  "pigscript_name" => pigscript_name
@@ -101,11 +99,10 @@ describe Mortar::API do
101
99
  pigscript_name = "my_pigscript"
102
100
  git_ref = "e20395b8b06fbf52e86665b0660209673f311d1a"
103
101
  cluster_size = 5
104
- cluster_type = Mortar::API::Jobs::CLUSTER_TYPE__SINGLE_JOB
105
102
  body = Mortar::API::OkJson.encode({"project_name" => project_name,
106
103
  "git_ref" => git_ref,
107
104
  "cluster_size" => cluster_size,
108
- "cluster_type" => cluster_type,
105
+ "keep_alive" => false,
109
106
  "parameters" => {},
110
107
  "notify_on_job_finish" => false,
111
108
  "pigscript_name" => pigscript_name
@@ -113,54 +110,31 @@ describe Mortar::API do
113
110
  Excon.stub({:method => :post, :path => "/v2/jobs", :body => body}) do |params|
114
111
  {:body => Mortar::API::OkJson.encode({'job_id' => job_id}), :status => 200}
115
112
  end
116
- response = @api.post_job_new_cluster(project_name, pigscript_name, git_ref, cluster_size, :cluster_type => cluster_type, :notify_on_job_finish => false)
113
+ response = @api.post_job_new_cluster(project_name, pigscript_name, git_ref, cluster_size, :keepalive => false, :notify_on_job_finish => false)
117
114
  response.body['job_id'].should == job_id
118
115
  end
119
116
 
120
- it "accepts cluster_type of single_job" do
121
- job_id = "7b93e4d3ab034188a0c2be418d3d24ed"
122
- project_name = "my_project"
123
- pigscript_name = "my_pigscript"
124
- git_ref = "e20395b8b06fbf52e86665b0660209673f311d1a"
125
- cluster_size = 5
126
- cluster_type = Mortar::API::Jobs::CLUSTER_TYPE__SINGLE_JOB
127
- body = Mortar::API::OkJson.encode({"project_name" => project_name,
128
- "git_ref" => git_ref,
129
- "cluster_size" => cluster_size,
130
- "cluster_type" => cluster_type,
131
- "parameters" => {},
132
- "notify_on_job_finish" => true,
133
- "pigscript_name" => pigscript_name
134
- })
135
- Excon.stub({:method => :post, :path => "/v2/jobs", :body => body}) do |params|
136
- {:body => Mortar::API::OkJson.encode({'job_id' => job_id}), :status => 200}
137
- end
138
- response = @api.post_job_new_cluster(project_name, pigscript_name, git_ref, cluster_size, :cluster_type => cluster_type)
139
- response.body['job_id'].should == job_id
140
- end
141
-
142
- it "accepts cluster_type of permanent" do
117
+ it "accepts keep_alive of false" do
143
118
  job_id = "7b93e4d3ab034188a0c2be418d3d24ed"
144
119
  project_name = "my_project"
145
120
  pigscript_name = "my_pigscript"
146
121
  git_ref = "e20395b8b06fbf52e86665b0660209673f311d1a"
147
122
  cluster_size = 5
148
- cluster_type = Mortar::API::Jobs::CLUSTER_TYPE__PERMANENT
149
123
  body = Mortar::API::OkJson.encode({"project_name" => project_name,
150
124
  "git_ref" => git_ref,
151
125
  "cluster_size" => cluster_size,
152
- "cluster_type" => cluster_type,
126
+ "keep_alive" => false,
153
127
  "parameters" => {},
154
128
  "notify_on_job_finish" => true,
155
129
  "pigscript_name" => pigscript_name
156
- })
130
+ })
157
131
  Excon.stub({:method => :post, :path => "/v2/jobs", :body => body}) do |params|
158
132
  {:body => Mortar::API::OkJson.encode({'job_id' => job_id}), :status => 200}
159
133
  end
160
- response = @api.post_job_new_cluster(project_name, pigscript_name, git_ref, cluster_size, :cluster_type => cluster_type)
134
+ response = @api.post_job_new_cluster(project_name, pigscript_name, git_ref, cluster_size, :keepalive => false)
161
135
  response.body['job_id'].should == job_id
162
136
  end
163
-
137
+
164
138
  it "gets a job" do
165
139
  job_id = "7b93e4d3ab034188a0c2be418d3d24ed"
166
140
  status = Mortar::API::Jobs::STATUS_RUNNING
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mortar-api-ruby
3
3
  version: !ruby/object:Gem::Version
4
- hash: 5
4
+ hash: 3
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 6
9
- - 1
10
- version: 0.6.1
9
+ - 2
10
+ version: 0.6.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Mortar Data