openstf-ruby-client 0.1.2 → 0.2.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: 0e3fb48b171d12f4ae7d4edbb6f7a38a95e0cc52
4
- data.tar.gz: a74c4bf0a9f9df8478c94e882cd8eb0ff4eabc88
3
+ metadata.gz: 8e7132f7e1b85fae3ac49dffc6facc26acaa9048
4
+ data.tar.gz: 2d6b1f4d7d2c5c11a2ce0feed0f69037448ab1da
5
5
  SHA512:
6
- metadata.gz: 3d9cb4c6974391778ed660f46db7a44eedc8f0e33e7d47e187aa08596bb4b8be65c8fa4048ca9886af1d18918b05052439726ad89949a7bf4705afb690469f06
7
- data.tar.gz: 08a0e65598f156d5a036fc77bcb0433d6dc37874803b08de92c9cc53a1ce9790d991c9f60a33e87f77d0338886261611b94dd771e7527eb108ed143dc2ced05a
6
+ metadata.gz: c8bc704f3760cbac2404ad709e941a54fca6fae517979523e361ca2a706bcbba4521ac7b34094f5e61b908444db0c9a77ff0ad7bb38864904e3991e77460bf68
7
+ data.tar.gz: a7f39b2ffb7f7bad11b9048225dce583abda4cb7bfd6f004c201cff3ce551e139a846a74e54209be5a8bab49a7adb63dcb6c9f94af7db725216785b4610a8309
data/README.md CHANGED
@@ -6,7 +6,8 @@ A Ruby client for the OpenSTF APIs. It converts Swagger documentation of OpenSTF
6
6
 
7
7
  Add this line to your application's Gemfile:
8
8
 
9
- ```ruby
9
+ ```ruby
10
+ gem 'svelte', :git => 'https://github.com/ainoya/svelte.git' # you must specify patched version svelte gem before install openstf-ruby-client
10
11
  gem 'openstf-ruby-client'
11
12
  ```
12
13
 
@@ -14,9 +15,6 @@ And then execute:
14
15
 
15
16
  $ bundle
16
17
 
17
- Or install it yourself as:
18
-
19
- $ gem install openstf-ruby-client
20
18
 
21
19
  ## Usage
22
20
 
@@ -1,7 +1,8 @@
1
1
  require 'faraday'
2
2
  require 'svelte'
3
- require "openstf/version"
4
- require "openstf/faraday/ext"
3
+ require 'openstf/version'
4
+ require 'openstf/faraday/ext'
5
+ require 'openstf/device'
5
6
 
6
7
  module OpenSTF
7
8
  module Client
@@ -19,6 +20,37 @@ module OpenSTF
19
20
  host: host}
20
21
  )
21
22
  self.module_eval("include #{@service}")
23
+ return Service.new(@service)
24
+ end
25
+
26
+ class Service
27
+ def initialize(service)
28
+ @service = service
29
+ end
30
+
31
+ def fetch_available_devices
32
+ devices = OpenSTF::Client::Devices.get_devices.body['devices']
33
+
34
+ available = devices.reject do |device|
35
+ !device['present'] || !device['ready'] || device['using'] || device['owner']
36
+ end
37
+
38
+ @devices = available.map do |d|
39
+ Device.new(data: d, serial: d['serial'])
40
+ end
41
+
42
+ @devices
43
+ end
44
+
45
+ def connect_device(serial:)
46
+ d = Device.new(serial: serial)
47
+ d.connect
48
+ end
49
+
50
+ def disconnect_device(serial:)
51
+ d = Device.new(serial: serial)
52
+ d.disconnect
53
+ end
22
54
  end
23
55
  end
24
56
  end
@@ -0,0 +1,50 @@
1
+ module OpenSTF
2
+ class Device
3
+ DEVICE_TIMEOUT = 60 * 60 * 2 * 1000 # 2hours, milli second unit
4
+ attr_accessor :remote_connect_url
5
+
6
+ def initialize(data: {}, serial: nil)
7
+ @data = data
8
+ @serial = data['serial'] || serial
9
+ end
10
+
11
+ def connect
12
+ device = ::OpenSTF::Client::Devices.get_device_by_serial(
13
+ serial: @serial,
14
+ fields: 'serial,present,ready,using,owner').body['device']
15
+ if !device['present'] || !device['ready'] || device['using'] || device['owner']
16
+ raise("Device #{@serial} is not available")
17
+ end
18
+
19
+ added = ::OpenSTF::Client::User::Devices.add_user_device(
20
+ serial: @serial,
21
+ timeout:DEVICE_TIMEOUT
22
+ ).body
23
+
24
+ raise("Could not connect to device #{@serial}")unless added['success']
25
+
26
+ connected = ::OpenSTF::Client::User::Devices::RemoteConnect.remote_connect_user_device_by_serial(serial: @serial).body
27
+
28
+ raise("#{connected['description']}: #{@serial}") unless connected['success']
29
+
30
+ return connected['remoteConnectUrl']
31
+ end
32
+
33
+ def disconnect
34
+ user_devices = OpenSTF::Client::User::Devices
35
+ .get_user_device_by_serial(
36
+ serial: @serial,
37
+ fields: 'serial,present,ready,using,owner'
38
+ ).body
39
+ raise("#{user_devices['description']}: #{@serial}") unless user_devices['success']
40
+
41
+ deleted = OpenSTF::Client::User::Devices
42
+ .delete_user_device_by_serial(
43
+ serial: @serial
44
+ ).body
45
+
46
+ raise("#{deleted['description']}: #{@serial}") unless deleted['success']
47
+ end
48
+ end
49
+
50
+ end
@@ -1,3 +1,3 @@
1
1
  module OpenSTF
2
- VERSION = "0.1.2"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -30,9 +30,9 @@ Gem::Specification.new do |spec|
30
30
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
31
31
  spec.require_paths = ["lib"]
32
32
 
33
- spec.add_runtime_dependency "svelte", "0.1.4-patched"
33
+ spec.add_runtime_dependency "svelte", "0.1.6-patched"
34
34
 
35
- spec.add_development_dependency "bundler", "1.13.0.rc.1"
35
+ spec.add_development_dependency "bundler", "~> 1.12.0"
36
36
  spec.add_development_dependency "rake", "~> 10.0"
37
37
  spec.add_development_dependency "rspec", "~> 3.0"
38
38
  spec.add_development_dependency "pry"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openstf-ruby-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Naoki AINOYA
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.1.4.pre.patched
19
+ version: 0.1.6.pre.patched
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 0.1.4.pre.patched
26
+ version: 0.1.6.pre.patched
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '='
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.13.0.rc.1
33
+ version: 1.12.0
34
34
  type: :development
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: 1.13.0.rc.1
40
+ version: 1.12.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -98,6 +98,7 @@ files:
98
98
  - bin/console
99
99
  - bin/setup
100
100
  - lib/openstf/client.rb
101
+ - lib/openstf/device.rb
101
102
  - lib/openstf/faraday/ext.rb
102
103
  - lib/openstf/version.rb
103
104
  - openstf-ruby-client.gemspec