Class: Fastlane::Actions::TestmunkAction
- Inherits:
-
Fastlane::Action
- Object
- Fastlane::Action
- Fastlane::Actions::TestmunkAction
- Defined in:
- lib/fastlane/actions/testmunk.rb
Class Method Summary collapse
- .author ⇒ Object
- .available_options ⇒ Object
- .description ⇒ Object
- .is_supported?(platform) ⇒ Boolean
- .run(config) ⇒ Object
Methods inherited from Fastlane::Action
action_name, authors, details, output, sh, step_text
Class Method Details
.author ⇒ Object
69 70 71 |
# File 'lib/fastlane/actions/testmunk.rb', line 69 def self. ["mposchen", "johannesberdin"] end |
.available_options ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/fastlane/actions/testmunk.rb', line 39 def self. [ FastlaneCore::ConfigItem.new(key: :ipa, env_name: "TESTMUNK_IPA", description: "Path to IPA", default_value: Actions.lane_context[SharedValues::IPA_OUTPUT_PATH], verify_block: Proc.new do |value| raise "Please pass to existing ipa" unless File.exists?value end), FastlaneCore::ConfigItem.new(key: :email, env_name: "TESTMUNK_EMAIL", description: "Your email address", verify_block: Proc.new do |value| raise "Please pass your Testmunk email address using `ENV['TESTMUNK_EMAIL'] = 'value'`" unless value end), FastlaneCore::ConfigItem.new(key: :api, env_name: "TESTMUNK_API", description: "Testmunk API Key", verify_block: Proc.new do |value| raise "Please pass your Testmunk API Key using `ENV['TESTMUNK_API'] = 'value'`" unless value end), FastlaneCore::ConfigItem.new(key: :app, env_name: "TESTMUNK_APP", description: "Testmunk App Name", verify_block: Proc.new do |value| raise "Please pass your Testmunk app name using `ENV['TESTMUNK_APP'] = 'value'`" unless value end) ] end |
.description ⇒ Object
35 36 37 |
# File 'lib/fastlane/actions/testmunk.rb', line 35 def self.description "Run tests on real devices using Testmunk" end |
.is_supported?(platform) ⇒ Boolean
73 74 75 |
# File 'lib/fastlane/actions/testmunk.rb', line 73 def self.is_supported?(platform) platform == :ios end |
.run(config) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/fastlane/actions/testmunk.rb', line 15 def self.run(config) Helper.log.info 'Testmunk: Uploading the .ipa and starting your tests'.green Helper.log.info 'Zipping features/ to features.zip'.green zipped_features_path = File.('features.zip') Actions.sh(%Q[zip -r "features" "features/"]) response = system("#{"curl -H 'Accept: application/vnd.testmunk.v1+json'" + " -F 'file=@#{config[:ipa]}' -F 'autoStart=true'" + " -F 'testcases=@#{zipped_features_path}'" + " -F 'email=#{config[:email]}'" + " https://#{config[:api]}@api.testmunk.com/apps/#{config[:app]}/testruns"}") if response Helper.log.info 'Your tests are being executed right now. Please wait for the mail with results and decide if you want to continue.'.green else raise 'Something went wrong while uploading your app to Testmunk'.red end end |