optimus-runner 0.7.0 → 0.8.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 +4 -4
- data/exe/optimus_runner_manager +2 -1
- data/lib/optimus-runner/DeviceDetails.rb +5 -17
- data/lib/optimus-runner/clients/AkiraClient.rb +1 -1
- data/lib/optimus-runner/clients/mdb_client.rb +32 -0
- data/lib/optimus-runner/server/appium_server_manager.rb +5 -0
- data/lib/optimus-runner/utils/optimuscloudenv.rb +15 -0
- data/lib/optimus-runner/version.rb +1 -1
- data/optimus-runner.gemspec +1 -0
- metadata +23 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2e505f6a2697c2006afb3da56cc4d26dd2ba2e69
|
4
|
+
data.tar.gz: 745799c8af7236b430d28799e28efaa92136d41b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 19c2450e21e3f7dfa1be5566b9265a880b5ca8d4a0546627b0bcb308470bd80235a1484ff5efd750c1891fd11a0a7554aad55e98b9fa034d452b6a54afbe82c1
|
7
|
+
data.tar.gz: 6c27ffcbd2fb1137b150fb02e2dfe008f8381547f8a59c6eed0d26028cfa19e265fae0f41bb123922b326dec5068874037589b4163e1b449727cb5172463ec14
|
data/exe/optimus_runner_manager
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
require 'optimus-runner/server/optimus_runner_sm'
|
3
3
|
require 'rufus/scheduler'
|
4
4
|
require 'logger'
|
5
|
+
require 'optimus-runner/utils/optimuscloudenv.rb'
|
5
6
|
|
6
7
|
|
7
8
|
optimus_runner_sm = OptimusRunnerSM.new
|
@@ -9,7 +10,7 @@ scheduler = Rufus::Scheduler.new
|
|
9
10
|
logger = Logger.new(STDOUT)
|
10
11
|
logger.level = Logger::WARN
|
11
12
|
logger.info "Starting Optimus runner..."
|
12
|
-
|
13
|
+
OptimusCloudEnvLoader.new.loadEnv
|
13
14
|
scheduler.interval '5s', :first_in => 0.1 do
|
14
15
|
logger.info "Is Optimus runner idle? #{optimus_runner_sm.idle?}"
|
15
16
|
optimus_runner_sm.create if optimus_runner_sm.idle?
|
@@ -1,7 +1,9 @@
|
|
1
1
|
require 'HTTParty'
|
2
|
+
require 'clients/mdb_client'
|
2
3
|
|
3
4
|
class DeviceDetails
|
4
5
|
|
6
|
+
|
5
7
|
def get_device_details
|
6
8
|
device_names = self.process_android_devices
|
7
9
|
android_device_details = find_android_devices(device_names)
|
@@ -14,31 +16,17 @@ class DeviceDetails
|
|
14
16
|
|
15
17
|
def process_android_devices
|
16
18
|
devices = `adb devices`
|
17
|
-
|
18
|
-
puts query
|
19
|
-
headers = {
|
20
|
-
'Content-Type': "Application/json"
|
21
|
-
}
|
22
|
-
response = HTTParty.post('http://localhost:9099/processDevices', body: query, headers: headers)
|
19
|
+
return MDBClient.new.format_android_devices devices
|
23
20
|
end
|
24
21
|
|
25
22
|
def process_ios_devices
|
26
23
|
devices = `instruments -s devices | grep 'iPhone'`
|
27
|
-
|
28
|
-
body = { deviceLog: devices }.to_json
|
29
|
-
headers = {
|
30
|
-
'Content-Type': "Application/json"
|
31
|
-
}
|
32
|
-
response = HTTParty.post('http://localhost:9099/processIosDevices', body: body, headers: headers)
|
33
|
-
p response
|
34
|
-
res = JSON.parse(response.to_s)
|
35
|
-
return res
|
24
|
+
return MDBClient.new.format_ios_devices devices
|
36
25
|
end
|
37
26
|
|
38
27
|
def find_android_devices(device_names)
|
39
|
-
res = JSON.parse(device_names.to_s)
|
40
28
|
device_details = []
|
41
|
-
|
29
|
+
device_names.each do |a|
|
42
30
|
device_model = `adb -s #{a['udid']} shell getprop ro.product.model`
|
43
31
|
device_os_version = `adb -s #{a['udid']} shell getprop ro.build.version.release`
|
44
32
|
a['deviceName'] = device_model.to_s.rstrip
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'HTTParty'
|
2
|
+
|
3
|
+
class MDBClient
|
4
|
+
|
5
|
+
def initialize
|
6
|
+
@base_uri = ENV["MDB"] || "http://localhost:9099"
|
7
|
+
end
|
8
|
+
|
9
|
+
def format_android_devices(devices)
|
10
|
+
query = { deviceLog: devices }.to_json
|
11
|
+
puts query
|
12
|
+
response = HTTParty.post("#{@base_uri}/processDevices", body: query, headers: default_headers)
|
13
|
+
device_names = JSON.parse(response.to_s)
|
14
|
+
return device_names
|
15
|
+
end
|
16
|
+
|
17
|
+
def format_ios_devices(devices)
|
18
|
+
body = { deviceLog: devices }.to_json
|
19
|
+
response = HTTParty.post("#{@base_uri}/processIosDevices", body: body, headers: default_headers)
|
20
|
+
device_names = JSON.parse(response.to_s)
|
21
|
+
return device_names
|
22
|
+
end
|
23
|
+
|
24
|
+
def default_headers
|
25
|
+
headers = {
|
26
|
+
'Content-Type': "Application/json"
|
27
|
+
}
|
28
|
+
return headers
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
end
|
@@ -1,6 +1,9 @@
|
|
1
1
|
require 'optimus-runner/server/optimus_runner_sm'
|
2
2
|
require 'rufus/scheduler'
|
3
3
|
require 'logger'
|
4
|
+
require 'dotenv'
|
5
|
+
require 'optparse'
|
6
|
+
require 'optimus-runner/utils/optimuscloudenv.rb'
|
4
7
|
|
5
8
|
|
6
9
|
optimus_runner_sm = OptimusRunnerSM.new
|
@@ -8,6 +11,7 @@ scheduler = Rufus::Scheduler.new
|
|
8
11
|
logger = Logger.new(STDOUT)
|
9
12
|
logger.level = Logger::WARN
|
10
13
|
logger.info "Starting Optimus runner..."
|
14
|
+
logger.info "Loading Optimus Cloud Env"
|
11
15
|
|
12
16
|
scheduler.interval '5s', :first_in => 0.1 do
|
13
17
|
logger.info "Is Optimus runner idle? #{optimus_runner_sm.idle?}"
|
@@ -17,3 +21,4 @@ scheduler.interval '5s', :first_in => 0.1 do
|
|
17
21
|
optimus_runner_sm.restart if optimus_runner_sm.session_terminated?
|
18
22
|
end
|
19
23
|
scheduler.join
|
24
|
+
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'dotenv'
|
2
|
+
require 'optparse'
|
3
|
+
|
4
|
+
|
5
|
+
class OptimusCloudEnvLoader
|
6
|
+
def loadEnv
|
7
|
+
optparser = OptionParser.new do |parser|
|
8
|
+
parser.on('-e=FILE','--env=FILE', "Optimus Cloud Environment file") do |file|
|
9
|
+
p file
|
10
|
+
Dotenv.load(file)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
optparser.parse!(ARGV)
|
14
|
+
end
|
15
|
+
end
|
data/optimus-runner.gemspec
CHANGED
@@ -25,6 +25,7 @@ Gem::Specification.new do |spec|
|
|
25
25
|
spec.add_dependency "httparty", "~> 0.16.3"
|
26
26
|
spec.add_dependency 'open4', '~> 1.3'
|
27
27
|
spec.add_dependency 'random-port', '~> 0.3.1'
|
28
|
+
spec.add_dependency 'dotenv', '~> 2.1', '>= 2.1.1'
|
28
29
|
spec.add_development_dependency "rake", "~> 10.0"
|
29
30
|
spec.add_development_dependency "rspec", "~> 3.0"
|
30
31
|
spec.add_dependency 'aasm', '~> 5.0'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: optimus-runner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- KrishnanandB
|
@@ -86,6 +86,26 @@ dependencies:
|
|
86
86
|
- - "~>"
|
87
87
|
- !ruby/object:Gem::Version
|
88
88
|
version: 0.3.1
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: dotenv
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - "~>"
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '2.1'
|
96
|
+
- - ">="
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: 2.1.1
|
99
|
+
type: :runtime
|
100
|
+
prerelease: false
|
101
|
+
version_requirements: !ruby/object:Gem::Requirement
|
102
|
+
requirements:
|
103
|
+
- - "~>"
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: '2.1'
|
106
|
+
- - ">="
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: 2.1.1
|
89
109
|
- !ruby/object:Gem::Dependency
|
90
110
|
name: rake
|
91
111
|
requirement: !ruby/object:Gem::Requirement
|
@@ -166,11 +186,13 @@ files:
|
|
166
186
|
- lib/optimus-runner/DeviceDetails.rb
|
167
187
|
- lib/optimus-runner/SessionInfoBuilder.rb
|
168
188
|
- lib/optimus-runner/clients/AkiraClient.rb
|
189
|
+
- lib/optimus-runner/clients/mdb_client.rb
|
169
190
|
- lib/optimus-runner/commands/ShellCommands.rb
|
170
191
|
- lib/optimus-runner/server/appium_server_manager.rb
|
171
192
|
- lib/optimus-runner/server/array_manipulations.rb
|
172
193
|
- lib/optimus-runner/server/optimus_runner_sm.rb
|
173
194
|
- lib/optimus-runner/server/scheduler.rb
|
195
|
+
- lib/optimus-runner/utils/optimuscloudenv.rb
|
174
196
|
- lib/optimus-runner/version.rb
|
175
197
|
- lib/optimus_runner_control.rb
|
176
198
|
- optimus-runner.gemspec
|