mortar 0.15.6 → 0.15.7

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- N2NhOTIwODIyNDBiY2NmOGVkN2FmMmNiNDc5NDhiYmM3NWY5MGUyZA==
4
+ YjQyM2RmYTBiYjJjNjI3NzA2NDkyMWM0ZmNjZmFkZTgwMGQxNDRkZQ==
5
5
  data.tar.gz: !binary |-
6
- MDI1MDk2YzQyZWQwYjQwMTJjODcxNWQ3ZjY3MGUwNGUwOTVlM2ExMw==
6
+ YjY1ZDAzMjlmZjEzNTQyZDcwNjQ3ZjAyYmI0MDNlY2ZjNmQxMmY5MQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YjZjYzk4MTk4Y2M2OTJlMWIwYmIzNTAwY2I1YjI5NDFhZGY4OWNlNjQ2Nzdj
10
- NjhmZTI2NTM5MDVjOWRmNTlhMjc5NTJmNmZmOTZlOTQyYTYxNjY4YzFjNDM1
11
- ZTJmMDhlYzIyZjEzZTRhZDRhYjFkZWUwMzI5OWM4MzkwOWM4OTM=
9
+ ODc3YWI0NDkwOGUyOTRlYjI0MzQ3MzgyYmY1MjA4MzBkNjEyZTM1YmUwZmM0
10
+ MTFjOTNlMmJhOGYxNTllMDhmODQ5MmE4N2ZjM2RjNDY2ZDY4ZTU5MGYxNjYz
11
+ ZWNjNzYyMTQ5NDc2ODRkM2QyMDE3MjAwOGNjYjg3MzhkYzQyYzA=
12
12
  data.tar.gz: !binary |-
13
- NDkyMDQxMTYyMmNhY2U1ZWRkNzg1MTc3MDg5NTEzMjRjNzNhZWM1ZGU3OWQz
14
- YWQ0ZjZiYzQyNzY4MjE0NGU4ZWE2N2MxNDIzZTcwNzZiZGJjYzIzNTBiY2Jj
15
- OWE5NzEzZDkyNWE0ZDEwZDRkMmJlM2U3Y2M2Nzk4MjNiYmZkMjE=
13
+ ODU5MzE3YTRhYmZmMzEzNWVlMjdlZGViNmY3Mzk4MTJiMjE1MTBhNjNiYjUy
14
+ ZDUwNjM0NTM1OGY1MzgzM2QwODRlYWRhMmFhMWE4NjQxYTQ0Y2RiMTJjN2Fi
15
+ Zjg0MjQzNjNkZmE5Mjk1ODdjZDE3ZjJjNzYzMDMyOWUxNWY4YzY=
@@ -52,7 +52,10 @@ class Mortar::Command::Describe < Mortar::Command::Base
52
52
 
53
53
  describe_id = nil
54
54
  action("Starting describe") do
55
- describe_id = api.post_describe(project.name, pigscript.name, alias_name, git_ref, :pig_version => pig_version.version, :parameters => pig_parameters).body["describe_id"]
55
+ describe_id = api.post_describe(project.name, pigscript.name, alias_name, git_ref,
56
+ :pig_version => pig_version.version,
57
+ :project_script_path => pigscript.rel_path,
58
+ :parameters => pig_parameters).body["describe_id"]
56
59
  end
57
60
 
58
61
  describe_result = nil
@@ -57,7 +57,10 @@ class Mortar::Command::Illustrate < Mortar::Command::Base
57
57
 
58
58
  illustrate_id = nil
59
59
  action("Starting illustrate") do
60
- illustrate_id = api.post_illustrate(project.name, pigscript.name, alias_name, skip_pruning, git_ref, :pig_version => pig_version.version, :parameters => pig_parameters).body["illustrate_id"]
60
+ illustrate_id = api.post_illustrate(project.name, pigscript.name, alias_name, skip_pruning, git_ref,
61
+ :pig_version => pig_version.version,
62
+ :project_script_path => pigscript.rel_path,
63
+ :parameters => pig_parameters).body["illustrate_id"]
61
64
  end
62
65
 
63
66
  illustrate_result = nil
@@ -166,6 +166,7 @@ class Mortar::Command::Jobs < Mortar::Command::Base
166
166
  use_spot_instances = options[:spot] || false
167
167
  api.post_job_new_cluster(project_name, script_name, git_ref, cluster_size,
168
168
  :pig_version => pig_version.version,
169
+ :project_script_path => script.rel_path,
169
170
  :parameters => pig_parameters,
170
171
  :cluster_type => cluster_type,
171
172
  :notify_on_job_finish => notify_on_job_finish,
@@ -175,6 +176,7 @@ class Mortar::Command::Jobs < Mortar::Command::Base
175
176
  cluster_id = options[:clusterid]
176
177
  api.post_job_existing_cluster(project_name, script_name, git_ref, cluster_id,
177
178
  :pig_version => pig_version.version,
179
+ :project_script_path => script.rel_path,
178
180
  :parameters => pig_parameters,
179
181
  :notify_on_job_finish => notify_on_job_finish,
180
182
  :is_control_script => is_control_script).body
@@ -47,7 +47,10 @@ class Mortar::Command::Validate < Mortar::Command::Base
47
47
 
48
48
  validate_id = nil
49
49
  action("Starting validate") do
50
- validate_id = api.post_validate(project.name, pigscript.name, git_ref, :pig_version => pig_version, :pig_version => pig_version.version, :parameters => pig_parameters).body["validate_id"]
50
+ validate_id = api.post_validate(project.name, pigscript.name, git_ref,
51
+ :pig_version => pig_version.version,
52
+ :project_script_path => pigscript.rel_path,
53
+ :parameters => pig_parameters).body["validate_id"]
51
54
  end
52
55
 
53
56
  validate_result = nil
@@ -15,6 +15,7 @@
15
15
  #
16
16
 
17
17
  require 'fileutils'
18
+ require 'pathname'
18
19
 
19
20
  module Mortar
20
21
  module Project
@@ -194,6 +195,11 @@ module Mortar
194
195
  script_file.close
195
196
  script_contents
196
197
  end
198
+
199
+ def rel_path
200
+ p = Pathname.new(@path).dirname
201
+ rel_path = p.relative_path_from(Pathname.pwd).to_s
202
+ end
197
203
 
198
204
  def to_s
199
205
  code
@@ -16,5 +16,5 @@
16
16
 
17
17
  module Mortar
18
18
  # see http://semver.org/
19
- VERSION = "0.15.6"
19
+ VERSION = "0.15.7"
20
20
  end
@@ -176,7 +176,7 @@ no_browser=true
176
176
  describe_id = "c571a8c7f76a4fd4a67c103d753e2dd5"
177
177
  describe_url = "https://api.mortardata.com/describe/#{describe_id}"
178
178
 
179
- mock(Mortar::Auth.api).post_describe("myproject", "my_script", "my_alias", is_a(String), :pig_version => "0.12", :parameters=>[]) {Excon::Response.new(:body => {"describe_id" => describe_id})}
179
+ mock(Mortar::Auth.api).post_describe("myproject", "my_script", "my_alias", is_a(String), :pig_version => "0.12", :project_script_path => be_a_kind_of(String), :parameters=>[]) {Excon::Response.new(:body => {"describe_id" => describe_id})}
180
180
  mock(Mortar::Auth.api).get_describe(describe_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Describe::STATUS_SUCCESS, "status_description" => "Success", "web_result_url" => describe_url})).ordered
181
181
  mock(Launchy).open(describe_url) {Thread.new {}}
182
182
 
@@ -204,7 +204,7 @@ no_browser=true
204
204
  describe_id = "c571a8c7f76a4fd4a67c103d753e2dd5"
205
205
  describe_url = "https://api.mortardata.com/describe/#{describe_id}"
206
206
 
207
- mock(Mortar::Auth.api).post_describe("myproject", "my_script", "my_alias", is_a(String), :pig_version => "0.12", :parameters=>[]) {Excon::Response.new(:body => {"describe_id" => describe_id})}
207
+ mock(Mortar::Auth.api).post_describe("myproject", "my_script", "my_alias", is_a(String), :pig_version => "0.12", :project_script_path => be_a_kind_of(String), :parameters=>[]) {Excon::Response.new(:body => {"describe_id" => describe_id})}
208
208
  mock(Mortar::Auth.api).get_describe(describe_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Describe::STATUS_SUCCESS, "status_description" => "Success", "web_result_url" => describe_url})).ordered
209
209
  write_file(File.join(p.pigscripts_path, "my_script.pig"))
210
210
 
@@ -232,7 +232,7 @@ polling_interval=10
232
232
  describe_id = "c571a8c7f76a4fd4a67c103d753e2dd5"
233
233
  describe_url = "https://api.mortardata.com/describe/#{describe_id}"
234
234
 
235
- mock(Mortar::Auth.api).post_describe("myproject", "my_script", "my_alias", is_a(String), :pig_version => "0.9", :parameters=>[]) {Excon::Response.new(:body => {"describe_id" => describe_id})}
235
+ mock(Mortar::Auth.api).post_describe("myproject", "my_script", "my_alias", is_a(String), :pig_version => "0.9", :project_script_path => be_a_kind_of(String), :parameters=>[]) {Excon::Response.new(:body => {"describe_id" => describe_id})}
236
236
  mock(Mortar::Auth.api).get_describe(describe_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Describe::STATUS_SUCCESS, "status_description" => "Success", "web_result_url" => describe_url})).ordered
237
237
  write_file(File.join(p.pigscripts_path, "my_script.pig"))
238
238
 
@@ -98,7 +98,7 @@ STDERR
98
98
  describe_url = "https://api.mortardata.com/describe/#{describe_id}"
99
99
  parameters = ["name"=>"key", "value"=>"value" ]
100
100
 
101
- mock(Mortar::Auth.api).post_describe("myproject", "my_script", "my_alias", is_a(String), :pig_version => "0.9", :parameters => parameters) {Excon::Response.new(:body => {"describe_id" => describe_id})}
101
+ mock(Mortar::Auth.api).post_describe("myproject", "my_script", "my_alias", is_a(String), :pig_version => "0.9", :project_script_path => be_a_kind_of(String), :parameters => parameters) {Excon::Response.new(:body => {"describe_id" => describe_id})}
102
102
  mock(Mortar::Auth.api).get_describe(describe_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Describe::STATUS_QUEUED, "status_description" => "Pending"})).ordered
103
103
  mock(Mortar::Auth.api).get_describe(describe_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Describe::STATUS_GATEWAY_STARTING, "status_description" => "Gateway starting"})).ordered
104
104
  mock(Mortar::Auth.api).get_describe(describe_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Describe::STATUS_PROGRESS, "status_description" => "Starting pig"})).ordered
@@ -129,7 +129,7 @@ STDOUT
129
129
  describe_url = "https://api.mortardata.com/describe/#{describe_id}"
130
130
  parameters = ["name"=>"key", "value"=>"value" ]
131
131
 
132
- mock(Mortar::Auth.api).post_describe("myproject", "my_script", "my_alias", is_a(String), :pig_version => "0.9", :parameters => parameters) {Excon::Response.new(:body => {"describe_id" => describe_id})}
132
+ mock(Mortar::Auth.api).post_describe("myproject", "my_script", "my_alias", is_a(String), :pig_version => "0.9", :project_script_path => be_a_kind_of(String), :parameters => parameters) {Excon::Response.new(:body => {"describe_id" => describe_id})}
133
133
  mock(Mortar::Auth.api).get_describe(describe_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Describe::STATUS_QUEUED, "status_description" => "Pending"})).ordered
134
134
  mock(Mortar::Auth.api).get_describe(describe_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Describe::STATUS_GATEWAY_STARTING, "status_description" => "Gateway starting"})).ordered
135
135
  mock(Mortar::Auth.api).get_describe(describe_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Describe::STATUS_PROGRESS, "status_description" => "Starting pig"})).ordered
@@ -163,7 +163,7 @@ STDOUT
163
163
  column_number = 32
164
164
  error_type = 'PigError'
165
165
 
166
- mock(Mortar::Auth.api).post_describe("myproject", "my_script", "my_alias", is_a(String), :pig_version => "0.9", :parameters => []) {Excon::Response.new(:body => {"describe_id" => describe_id})}
166
+ mock(Mortar::Auth.api).post_describe("myproject", "my_script", "my_alias", is_a(String), :pig_version => "0.9", :project_script_path => be_a_kind_of(String), :parameters => []) {Excon::Response.new(:body => {"describe_id" => describe_id})}
167
167
  mock(Mortar::Auth.api).get_describe(describe_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Describe::STATUS_QUEUED, "status_description" => "Pending"})).ordered
168
168
  mock(Mortar::Auth.api).get_describe(describe_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Describe::STATUS_FAILURE, "status_description" => "Failed",
169
169
  "error_message" => error_message,
@@ -198,7 +198,7 @@ STDERR
198
198
  describe_url = "https://api.mortardata.com/describe/#{describe_id}"
199
199
  parameters = ["name"=>"key", "value"=>"value" ]
200
200
 
201
- mock(Mortar::Auth.api).post_describe("myproject", "my_script", "my_alias", is_a(String), :pig_version => "0.9", :parameters => parameters) {Excon::Response.new(:body => {"describe_id" => describe_id})}
201
+ mock(Mortar::Auth.api).post_describe("myproject", "my_script", "my_alias", is_a(String), :pig_version => "0.9", :project_script_path => be_a_kind_of(String), :parameters => parameters) {Excon::Response.new(:body => {"describe_id" => describe_id})}
202
202
  mock(Mortar::Auth.api).get_describe(describe_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Describe::STATUS_QUEUED, "status_description" => "Pending"})).ordered
203
203
  mock(Mortar::Auth.api).get_describe(describe_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Describe::STATUS_GATEWAY_STARTING, "status_description" => "Gateway starting"})).ordered
204
204
  mock(Mortar::Auth.api).get_describe(describe_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Describe::STATUS_PROGRESS, "status_description" => "Starting pig"})).ordered
@@ -74,7 +74,7 @@ STDERR
74
74
  parameters = ["name"=>"key", "value"=>"value" ]
75
75
 
76
76
  # These don't test the validity of the error message, it only tests that the CLI can handle a message returned from the server
77
- mock(Mortar::Auth.api).post_illustrate("myproject", "my_script", "my_alias", false, is_a(String), :pig_version => "0.9", :parameters => parameters) {Excon::Response.new(:body => {"illustrate_id" => illustrate_id})}
77
+ mock(Mortar::Auth.api).post_illustrate("myproject", "my_script", "my_alias", false, is_a(String), :pig_version => "0.9", :project_script_path => be_a_kind_of(String), :parameters => parameters) {Excon::Response.new(:body => {"illustrate_id" => illustrate_id})}
78
78
  mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_QUEUED, "status_description" => "Pending"})).ordered
79
79
  mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_GATEWAY_STARTING, "status_description" => "GATEWAY_STARTING"})).ordered
80
80
  mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_PROGRESS, "status_description" => "In progress"})).ordered
@@ -108,7 +108,7 @@ STDOUT
108
108
  parameters = ["name"=>"key", "value"=>"value" ]
109
109
 
110
110
  # These don't test the validity of the error message, it only tests that the CLI can handle a message returned from the server
111
- mock(Mortar::Auth.api).post_illustrate("myproject", "my_script", "my_alias", false, is_a(String), :pig_version => "0.9", :parameters => parameters) {Excon::Response.new(:body => {"illustrate_id" => illustrate_id})}
111
+ mock(Mortar::Auth.api).post_illustrate("myproject", "my_script", "my_alias", false, is_a(String), :pig_version => "0.9", :project_script_path => be_a_kind_of(String), :parameters => parameters) {Excon::Response.new(:body => {"illustrate_id" => illustrate_id})}
112
112
  mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_QUEUED, "status_description" => "Pending"})).ordered
113
113
  mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_GATEWAY_STARTING, "status_description" => "GATEWAY_STARTING"})).ordered
114
114
  mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_PROGRESS, "status_description" => "In progress"})).ordered
@@ -142,7 +142,7 @@ STDOUT
142
142
  parameters = ["name"=>"key", "value"=>"value" ]
143
143
 
144
144
  # These don't test the validity of the error message, it only tests that the CLI can handle a message returned from the server
145
- mock(Mortar::Auth.api).post_illustrate("myproject", "my_script", "my_alias", false, is_a(String), :pig_version => "0.9", :parameters => parameters) {Excon::Response.new(:body => {"illustrate_id" => illustrate_id})}
145
+ mock(Mortar::Auth.api).post_illustrate("myproject", "my_script", "my_alias", false, is_a(String), :pig_version => "0.9", :project_script_path => be_a_kind_of(String), :parameters => parameters) {Excon::Response.new(:body => {"illustrate_id" => illustrate_id})}
146
146
  mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_QUEUED, "status_description" => "Pending"})).ordered
147
147
  mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_SUCCESS, "status_description" => "Succeeded", "web_result_url" => illustrate_url})).ordered
148
148
 
@@ -169,7 +169,7 @@ STDOUT
169
169
  parameters = ["name"=>"key", "value"=>"value" ]
170
170
 
171
171
  # These don't test the validity of the error message, it only tests that the CLI can handle a message returned from the server
172
- mock(Mortar::Auth.api).post_illustrate("myproject", "my_script", "my_alias", true, is_a(String), :pig_version => "0.9", :parameters => parameters) {Excon::Response.new(:body => {"illustrate_id" => illustrate_id})}
172
+ mock(Mortar::Auth.api).post_illustrate("myproject", "my_script", "my_alias", true, is_a(String), :pig_version => "0.9", :project_script_path => be_a_kind_of(String), :parameters => parameters) {Excon::Response.new(:body => {"illustrate_id" => illustrate_id})}
173
173
  mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_QUEUED, "status_description" => "Pending"})).ordered
174
174
  mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_SUCCESS, "status_description" => "Succeeded", "web_result_url" => illustrate_url})).ordered
175
175
 
@@ -195,7 +195,7 @@ STDOUT
195
195
  parameters = ["name"=>"key", "value"=>"value" ]
196
196
 
197
197
  # These don't test the validity of the error message, it only tests that the CLI can handle a message returned from the server
198
- mock(Mortar::Auth.api).post_illustrate("myproject", "my_script", nil, false, is_a(String), :pig_version => "0.9", :parameters => parameters) {Excon::Response.new(:body => {"illustrate_id" => illustrate_id})}
198
+ mock(Mortar::Auth.api).post_illustrate("myproject", "my_script", nil, false, is_a(String), :pig_version => "0.9", :project_script_path => be_a_kind_of(String), :parameters => parameters) {Excon::Response.new(:body => {"illustrate_id" => illustrate_id})}
199
199
  mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_QUEUED, "status_description" => "Pending"})).ordered
200
200
  mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_GATEWAY_STARTING, "status_description" => "GATEWAY_STARTING"})).ordered
201
201
  mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_PROGRESS, "status_description" => "In progress"})).ordered
@@ -232,7 +232,7 @@ STDOUT
232
232
  error_type = 'PigError'
233
233
 
234
234
  # These don't test the validity of the error message, it only tests that the CLI can handle a message returned from the server
235
- mock(Mortar::Auth.api).post_illustrate("myproject", "my_script", "my_alias", false, is_a(String), :pig_version => "0.9", :parameters => []) {Excon::Response.new(:body => {"illustrate_id" => illustrate_id})}
235
+ mock(Mortar::Auth.api).post_illustrate("myproject", "my_script", "my_alias", false, is_a(String), :pig_version => "0.9", :project_script_path => be_a_kind_of(String), :parameters => []) {Excon::Response.new(:body => {"illustrate_id" => illustrate_id})}
236
236
  mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_QUEUED, "status_description" => "Pending"})).ordered
237
237
  mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_FAILURE,
238
238
  "error_message" => error_message,
@@ -268,7 +268,7 @@ STDERR
268
268
  parameters = ["name"=>"key", "value"=>"value" ]
269
269
 
270
270
  # These don't test the validity of the error message, it only tests that the CLI can handle a message returned from the server
271
- mock(Mortar::Auth.api).post_illustrate("myproject", "my_script", nil, false, is_a(String), :pig_version => "0.9", :parameters => parameters) {Excon::Response.new(:body => {"illustrate_id" => illustrate_id})}
271
+ mock(Mortar::Auth.api).post_illustrate("myproject", "my_script", nil, false, is_a(String), :pig_version => "0.9", :project_script_path => be_a_kind_of(String), :parameters => parameters) {Excon::Response.new(:body => {"illustrate_id" => illustrate_id})}
272
272
  mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_QUEUED, "status_description" => "Pending"})).ordered
273
273
  mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_GATEWAY_STARTING, "status_description" => "GATEWAY_STARTING"})).ordered
274
274
  mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_PROGRESS, "status_description" => "In progress"})).ordered
@@ -47,7 +47,8 @@ module Mortar::Command
47
47
  cluster_size = 5
48
48
 
49
49
  mock(Mortar::Auth.api).post_job_new_cluster("myproject", "my_script", is_a(String), cluster_size,
50
- :pig_version => "0.9",
50
+ :pig_version => "0.9",
51
+ :project_script_path => be_a_kind_of(String),
51
52
  :parameters => match_array([{"name" => "FIRST_PARAM", "value" => "FOO"}, {"name" => "SECOND_PARAM", "value" => "BAR"}]),
52
53
  :cluster_type => Jobs::CLUSTER_TYPE__SINGLE_JOB,
53
54
  :notify_on_job_finish => true,
@@ -83,6 +84,7 @@ STDOUT
83
84
 
84
85
  mock(Mortar::Auth.api).post_job_new_cluster("myproject", "my_script", is_a(String),cluster_size,
85
86
  :pig_version => "0.9",
87
+ :project_script_path => be_a_kind_of(String),
86
88
  :parameters => match_array([{"name" => "FIRST_PARAM", "value" => "FOO"}, {"name" => "SECOND_PARAM", "value" => "BAR"}]),
87
89
  :cluster_type => Jobs::CLUSTER_TYPE__PERMANENT,
88
90
  :notify_on_job_finish => true,
@@ -142,6 +144,7 @@ STDERR
142
144
 
143
145
  mock(Mortar::Auth.api).post_job_new_cluster("myproject", "my_script", is_a(String),cluster_size,
144
146
  :pig_version => "0.9",
147
+ :project_script_path => be_a_kind_of(String),
145
148
  :parameters => match_array([{"name" => "FIRST_PARAM", "value" => "FOO"}, {"name" => "SECOND_PARAM", "value" => "BAR"}]),
146
149
  :cluster_type => Jobs::CLUSTER_TYPE__PERSISTENT,
147
150
  :notify_on_job_finish => true,
@@ -177,6 +180,7 @@ STDOUT
177
180
 
178
181
  mock(Mortar::Auth.api).post_job_new_cluster("myproject", "my_script", is_a(String),cluster_size,
179
182
  :pig_version => "0.9",
183
+ :project_script_path => be_a_kind_of(String),
180
184
  :parameters => match_array([{"name" => "FIRST_PARAM", "value" => "FOO"}, {"name" => "SECOND_PARAM", "value" => "BAR"}]),
181
185
  :cluster_type => Jobs::CLUSTER_TYPE__PERSISTENT,
182
186
  :notify_on_job_finish => true,
@@ -212,6 +216,7 @@ STDOUT
212
216
 
213
217
  mock(Mortar::Auth.api).post_job_existing_cluster("myproject", "my_script", is_a(String), cluster_id,
214
218
  :pig_version => "0.9",
219
+ :project_script_path => be_a_kind_of(String),
215
220
  :parameters => [],
216
221
  :notify_on_job_finish => false,
217
222
  :is_control_script=>true) {Excon::Response.new(:body => {"job_id" => job_id, "web_job_url" => job_url})}
@@ -245,6 +250,7 @@ STDOUT
245
250
 
246
251
  mock(Mortar::Auth.api).post_job_existing_cluster("myproject", "my_script", is_a(String), cluster_id,
247
252
  :pig_version => "0.9",
253
+ :project_script_path => be_a_kind_of(String),
248
254
  :parameters => [],
249
255
  :notify_on_job_finish => false,
250
256
  :is_control_script=>true) {Excon::Response.new(:body => {"job_id" => job_id, "web_job_url" => job_url})}
@@ -278,6 +284,7 @@ STDOUT
278
284
  mock(Mortar::Auth.api).get_clusters() {Excon::Response.new(:body => {'clusters' => []})}
279
285
  mock(Mortar::Auth.api).post_job_new_cluster("myproject", "my_script", is_a(String), cluster_size,
280
286
  :pig_version => "0.9",
287
+ :project_script_path => be_a_kind_of(String),
281
288
  :parameters => [],
282
289
  :cluster_type => Jobs::CLUSTER_TYPE__PERSISTENT,
283
290
  :notify_on_job_finish => true,
@@ -315,6 +322,7 @@ STDOUT
315
322
  mock(Mortar::Auth.api).get_clusters() {Excon::Response.new(:body => {'clusters' => []})}
316
323
  mock(Mortar::Auth.api).post_job_new_cluster("myproject", "my_script", is_a(String), cluster_size,
317
324
  :pig_version => "0.9",
325
+ :project_script_path => be_a_kind_of(String),
318
326
  :parameters => [],
319
327
  :cluster_type => Jobs::CLUSTER_TYPE__PERSISTENT,
320
328
  :notify_on_job_finish => true,
@@ -350,7 +358,7 @@ STDOUT
350
358
  job_url = "http://127.0.0.1:5000/jobs/job_detail?job_id=c571a8c7f76a4fd4a67c103d753e2dd5"
351
359
  cluster_id = "e2790e7e8c7d48e39157238d58191346"
352
360
 
353
- mock(Mortar::Auth.api).post_job_existing_cluster("myproject", "my_script", is_a(String), cluster_id, :pig_version => "0.9", :parameters => [], :notify_on_job_finish => false, :is_control_script=>false) {Excon::Response.new(:body => {"job_id" => job_id, "web_job_url" => job_url})}
361
+ mock(Mortar::Auth.api).post_job_existing_cluster("myproject", "my_script", is_a(String), cluster_id, :pig_version => "0.9", :project_script_path => be_a_kind_of(String), :parameters => [], :notify_on_job_finish => false, :is_control_script=>false) {Excon::Response.new(:body => {"job_id" => job_id, "web_job_url" => job_url})}
354
362
 
355
363
  write_file(File.join(p.pigscripts_path, "my_script.pig"))
356
364
  stderr, stdout = execute("jobs:run pigscripts/my_script.pig --clusterid e2790e7e8c7d48e39157238d58191346 -d", p, @git)
@@ -404,6 +412,7 @@ STDOUT
404
412
  }
405
413
  mock(Mortar::Auth.api).post_job_existing_cluster("myproject", "my_script", is_a(String), large_cluster_id,
406
414
  :pig_version => "0.9",
415
+ :project_script_path => be_a_kind_of(String),
407
416
  :parameters => [],
408
417
  :notify_on_job_finish => true,
409
418
  :is_control_script=>false) {Excon::Response.new(:body => {"job_id" => job_id, "web_job_url" => job_url})}
@@ -436,7 +445,8 @@ STDOUT
436
445
  cluster_size = 5
437
446
 
438
447
  mock(Mortar::Auth.api).post_job_new_cluster("myproject", "my_script", is_a(String), cluster_size,
439
- :pig_version => "0.9",
448
+ :pig_version => "0.9",
449
+ :project_script_path => be_a_kind_of(String),
440
450
  :parameters => match_array([{"name" => "FIRST", "value" => "FOO"}, {"name" => "SECOND", "value" => "BAR"}, {"name" => "THIRD", "value" => "BEAR"}]),
441
451
  :cluster_type => Jobs::CLUSTER_TYPE__PERSISTENT,
442
452
  :notify_on_job_finish => true,
@@ -464,6 +474,7 @@ PARAMS
464
474
 
465
475
  mock(Mortar::Auth.api).post_job_new_cluster("myproject", "my_script", is_a(String), cluster_size,
466
476
  :pig_version => "0.9",
477
+ :project_script_path => be_a_kind_of(String),
467
478
  :parameters => match_array([{"name" => "FIRST", "value" => "FOO"}, {"name" => "SECOND", "value" => "BAR"}, {"name" => "THIRD", "value" => "BEAR"}]),
468
479
  :cluster_type => Jobs::CLUSTER_TYPE__PERSISTENT,
469
480
  :notify_on_job_finish => true,
@@ -519,6 +530,7 @@ STDERR
519
530
 
520
531
  mock(Mortar::Auth.api).post_job_new_cluster("myproject", "my_script", is_a(String), cluster_size,
521
532
  :pig_version => "0.9",
533
+ :project_script_path => be_a_kind_of(String),
522
534
  :parameters => match_array([{"name" => "FIRST_PARAM", "value" => "FOO"}, {"name" => "SECOND_PARAM", "value" => "BAR"}]),
523
535
  :cluster_type => Jobs::CLUSTER_TYPE__PERSISTENT,
524
536
  :notify_on_job_finish => true,
@@ -72,8 +72,8 @@ STDERR
72
72
  # stub api requests
73
73
  validate_id = "c571a8c7f76a4fd4a67c103d753e2dd5"
74
74
  parameters = ["name"=>"key", "value"=>"value" ]
75
-
76
- mock(Mortar::Auth.api).post_validate("myproject", "my_script", is_a(String), :pig_version => "0.9", :parameters => parameters) {Excon::Response.new(:body => {"validate_id" => validate_id})}
75
+
76
+ mock(Mortar::Auth.api).post_validate("myproject", "my_script", is_a(String), :pig_version => "0.9", :project_script_path => be_a_kind_of(String), :parameters => parameters) {Excon::Response.new(:body => {"validate_id" => validate_id})}
77
77
  mock(Mortar::Auth.api).get_validate(validate_id).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Validate::STATUS_QUEUED, "status_description" => "Pending"})).ordered
78
78
  mock(Mortar::Auth.api).get_validate(validate_id).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Validate::STATUS_GATEWAY_STARTING, "status_description" => "GATEWAY_STARTING"})).ordered
79
79
  mock(Mortar::Auth.api).get_validate(validate_id).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Validate::STATUS_PROGRESS, "status_description" => "Starting"})).ordered
@@ -103,7 +103,7 @@ STDOUT
103
103
  column_number = 32
104
104
  error_type = 'PigError'
105
105
 
106
- mock(Mortar::Auth.api).post_validate("myproject", "my_script", is_a(String), :pig_version => "0.9", :parameters => []) {Excon::Response.new(:body => {"validate_id" => validate_id})}
106
+ mock(Mortar::Auth.api).post_validate("myproject", "my_script", is_a(String), :pig_version => "0.9", :project_script_path => be_a_kind_of(String), :parameters => []) {Excon::Response.new(:body => {"validate_id" => validate_id})}
107
107
  mock(Mortar::Auth.api).get_validate(validate_id).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Validate::STATUS_QUEUED, "status_description" => "Pending"})).ordered
108
108
  mock(Mortar::Auth.api).get_validate(validate_id).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Validate::STATUS_FAILURE, "status_description" => "Failed",
109
109
  "error_message" => error_message,
@@ -137,7 +137,7 @@ STDERR
137
137
  validate_id = "c571a8c7f76a4fd4a67c103d753e2dd5"
138
138
  parameters = ["name"=>"key", "value"=>"value" ]
139
139
 
140
- mock(Mortar::Auth.api).post_validate("myproject", "my_script", is_a(String), :pig_version => "0.12", :parameters => parameters) {Excon::Response.new(:body => {"validate_id" => validate_id})}
140
+ mock(Mortar::Auth.api).post_validate("myproject", "my_script", is_a(String), :pig_version => "0.12", :project_script_path => be_a_kind_of(String), :parameters => parameters) {Excon::Response.new(:body => {"validate_id" => validate_id})}
141
141
  mock(Mortar::Auth.api).get_validate(validate_id).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Validate::STATUS_QUEUED, "status_description" => "Pending"})).ordered
142
142
  mock(Mortar::Auth.api).get_validate(validate_id).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Validate::STATUS_GATEWAY_STARTING, "status_description" => "GATEWAY_STARTING"})).ordered
143
143
  mock(Mortar::Auth.api).get_validate(validate_id).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Validate::STATUS_PROGRESS, "status_description" => "Starting"})).ordered
@@ -65,6 +65,7 @@ module Mortar
65
65
  p.pigscripts.my_script.name.should == "my_script"
66
66
  p.pigscripts.my_script.path.should == pigscript_path
67
67
  p.pigscripts.my_script.executable_path.should == "pigscripts/my_script.pig"
68
+ p.pigscripts.my_script.rel_path.end_with?('pigscripts').should be_true
68
69
  end
69
70
  end
70
71
 
@@ -74,6 +75,7 @@ module Mortar
74
75
  write_file pigscript_path
75
76
  p.pigscripts.my_script.name.should == "my_script"
76
77
  p.pigscripts.my_script.path.should == pigscript_path
78
+ p.pigscripts.my_script.rel_path.end_with?("pigscripts/subdir").should be_true
77
79
  end
78
80
  end
79
81
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mortar
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.6
4
+ version: 0.15.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mortar Data
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-10 00:00:00.000000000 Z
11
+ date: 2014-04-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rdoc
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - ~>
32
32
  - !ruby/object:Gem::Version
33
- version: 0.8.0
33
+ version: 0.8.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ~>
39
39
  - !ruby/object:Gem::Version
40
- version: 0.8.0
40
+ version: 0.8.1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: netrc
43
43
  requirement: !ruby/object:Gem::Requirement