mortar-api-ruby 0.6.1 → 0.6.2

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/.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