fastlane-plugin-testdroid_runner 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1f16ce9b557eeeebabcfff7b66d2a0e5e78f2a0b123d3fe60fd68ea1e2cc6e14
4
- data.tar.gz: b4ec4035cb1a231bcbf064b8658045f83d15a53eb381d362813f792298900dc6
3
+ metadata.gz: e2863a79915b24fa31a9334c97272ba72200eaae032a7214a7c7d6d1810124e2
4
+ data.tar.gz: 982391833810b47f05a929c759969432e7f27f908ed5c25e34743aa2c5601e10
5
5
  SHA512:
6
- metadata.gz: 69e98928b795a57ccf70f5fc7ac590a56ee3957b881ac56477bea722cee3ba8fdd16e76afe64a19ae7325c7b0d0c9e455b8bc6b48fcd3ba36e5055c590249bad
7
- data.tar.gz: 6931504731c0a50c61f9d8e343de488783117a4bf6ed263b07d892633f5686ae3d89d8c0a666c35033dbec1581e9eb43cec02f278f5f1edaf968da4a9665eac2
6
+ metadata.gz: dce0708a797dc82bbef52e202fccf2047d986e6ccdb92a42232fc093fe8918717ed192e0d2048c2ff72be15f9aad55f4b4a686bab6db0f20d3cc861438b1a586
7
+ data.tar.gz: 24426b8f1d70d0139ee0c23901670c795f9474796fe5fbdec75ce862f49bb6928acb6bd38e381f6741f0224442367dbbda48f8e28a0c0f2f50164ade63a13752
@@ -75,7 +75,12 @@ module Fastlane
75
75
  description: "Which type of scheduler to use, by default it will only run one device at a time",
76
76
  optional: true,
77
77
  type: String,
78
- default_value: "SERIAL")
78
+ default_value: "SERIAL"),
79
+ FastlaneCore::ConfigItem.new(key: :access_group,
80
+ env_name: "TESTDROID_RUNNER_ACCESS_GROUP",
81
+ description: "If present, will share uploaded files with the named access group",
82
+ optional: true,
83
+ type: String)
79
84
  ]
80
85
  end
81
86
 
@@ -38,6 +38,11 @@ module Fastlane
38
38
  env_name: "TESTDROID_RUNNER_APPLICATION_FILE",
39
39
  description: "Either an IPA or APK containing the core application",
40
40
  optional: false,
41
+ type: String),
42
+ FastlaneCore::ConfigItem.new(key: :access_group,
43
+ env_name: "TESTDROID_RUNNER_ACCESS_GROUP",
44
+ description: "If present, will share uploaded files with the named access group",
45
+ optional: true,
41
46
  type: String)
42
47
  ]
43
48
  end
@@ -1,5 +1,4 @@
1
1
  require 'testdroid-api-client'
2
-
3
2
  module Fastlane
4
3
  module Helper
5
4
  class TestdroidRunnerHelper
@@ -23,7 +22,10 @@ module Fastlane
23
22
  raise "Unknown extension for #{params.application_file}"
24
23
  end
25
24
 
26
- def self.upload_file(file)
25
+ def self.upload_file(file, access_group = nil)
26
+ unless File.exist?(file)
27
+ raise "[testdroid] File #{file} doesn't exist"
28
+ end
27
29
  file_name = File.basename(file)
28
30
  duplicated_files = @user.files.list({ filter: "s_name_eq_#{file_name}" })
29
31
  unless duplicated_files.nil? || duplicated_files.length == 0
@@ -31,7 +33,21 @@ module Fastlane
31
33
  duplicated_files.each(&:delete)
32
34
  end
33
35
  uploaded_file = @user.files.upload(file)
36
+ if uploaded_file.nil?
37
+ raise "[testdroid] Error uploading file"
38
+ end
34
39
  puts("[testdroid] Uploaded: #{uploaded_file.id}")
40
+ unless access_group.nil?
41
+ group = @user.instance_variable_get(:@client).get('/cloud/api/v2/me/access-groups', { limit: 10, search: access_group })
42
+ if group['data'].nil?
43
+ raise "[testdroid] Access Group #{access_group} not found"
44
+ end
45
+ unless group['data'].count == 1
46
+ raise "[testdroid] Too many access groups found for #{access_group}: #{group['data'].count}"
47
+ end
48
+ group_id = group['data'][0]['id']
49
+ @user.instance_variable_get(:@client).post("/cloud/api/v2/me/files/#{uploaded_file.id}/share", { accessGroupId: group_id })
50
+ end
35
51
  uploaded_file
36
52
  end
37
53
  end
@@ -24,10 +24,10 @@ module Fastlane
24
24
 
25
25
  # Upload file
26
26
  puts("[testdroid] Uploading app #{os_config[:extname]}...")
27
- file_app = Helper::TestdroidRunnerHelper.upload_file(params[:application_file])
27
+ file_app = Helper::TestdroidRunnerHelper.upload_file(params[:application_file], params[:access_group])
28
28
  # instrumentation package
29
29
  puts("[testdroid] Uploading test #{os_config[:extname]}...")
30
- file_test = Helper::TestdroidRunnerHelper.upload_file(params[:test_file])
30
+ file_test = Helper::TestdroidRunnerHelper.upload_file(params[:test_file], params[:access_group])
31
31
 
32
32
  i = 0
33
33
  until id_list[i, i + params[:concurrency] * 2].nil?
@@ -7,7 +7,7 @@ module Fastlane
7
7
  Helper::TestdroidRunnerHelper.get_user(params)
8
8
  os_config = Helper::TestdroidRunnerHelper.get_os(params)
9
9
  puts("[testdroid] Uploading #{os_config[:extname]} for live services: #{params[:application_file]}...")
10
- file_app = Helper::TestdroidRunnerHelper.upload_file(params[:application_file])
10
+ file_app = Helper::TestdroidRunnerHelper.upload_file(params[:application_file], params[:access_group])
11
11
 
12
12
  puts("[testdroid] Test the app on a live device: https://cloud.bitbar.com/#testing/interactive-choose-device")
13
13
  file_app.id
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
2
  module TestdroidRunner
3
- VERSION = "1.0.0"
3
+ VERSION = "1.0.1"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane-plugin-testdroid_runner
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - josepmc
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-01 00:00:00.000000000 Z
11
+ date: 2021-04-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: testdroid-api-client
14
+ name: testdroid-api-client-updated
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
@@ -94,6 +94,34 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: ruby-debug-ide
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: debase
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
97
125
  - !ruby/object:Gem::Dependency
98
126
  name: rubocop
99
127
  requirement: !ruby/object:Gem::Requirement
@@ -150,7 +178,7 @@ dependencies:
150
178
  - - ">="
151
179
  - !ruby/object:Gem::Version
152
180
  version: 2.148.1
153
- description:
181
+ description:
154
182
  email: jmateu.clemente@gmail.com
155
183
  executables: []
156
184
  extensions: []
@@ -169,7 +197,7 @@ homepage: https://github.com/josepmc/fastlane-plugin-testdroid_runner
169
197
  licenses:
170
198
  - MIT
171
199
  metadata: {}
172
- post_install_message:
200
+ post_install_message:
173
201
  rdoc_options: []
174
202
  require_paths:
175
203
  - lib
@@ -185,7 +213,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
185
213
  version: '0'
186
214
  requirements: []
187
215
  rubygems_version: 3.0.3
188
- signing_key:
216
+ signing_key:
189
217
  specification_version: 4
190
218
  summary: Allows to run BitBar tests on fastlane
191
219
  test_files: []