brpm_module_selenium 0.1.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ NGZlOThhMDhjYzBmY2E1MWQ1Y2I4ZDYzNTE3YWYwNjFhYTU4ZDM1ZA==
5
+ data.tar.gz: !binary |-
6
+ NTQ4Y2JjYzI3Y2M2ZjIyYThjNTQ4YzE2YWJjYWZkMjljYWU4NjFiMw==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ ZDBmMjRlMWViY2RkZjEwY2Q2NDA3ODdjZjZiYWViNDdjN2U5ODc2N2M5NTBk
10
+ M2E3Y2ZmYmY0MDdlNGFkYjU1MWNlMWQ5NjE4MDQ1MzUyYTAyODRjNTYxZmMy
11
+ OTlkNzRmYjhmNjQ5MTMzZTZhYjUxZmY5Zjk3YzI3YmZjNjAxOGE=
12
+ data.tar.gz: !binary |-
13
+ MDM0MzRlMzNkZDIzMmMyMTQyMWYxYmY2ZTI1ZTY2NGZmMTg0N2U5OTQzMDg0
14
+ ZjEzMWRiYzEyOGI2ZTBhYjc5ZmExZGQ0MTlkMGYwYmQ5MzA0YTYwYzFjYWQ1
15
+ MWI2OGQ3NGJhYWEyNzQ5MGJhM2ExYTgyYmE1Y2Y0Y2IwYzYyNTI=
data/.gitignore ADDED
@@ -0,0 +1,37 @@
1
+ *.gem
2
+ *.rbc
3
+ /.config
4
+ /coverage/
5
+ /InstalledFiles
6
+ /pkg/
7
+ /spec/reports/
8
+ /test/tmp/
9
+ /test/version_tmp/
10
+ /tmp/
11
+
12
+ ## Specific to RubyMotion:
13
+ .dat*
14
+ .repl_history
15
+ build/
16
+
17
+ ## Documentation cache and generated files:
18
+ /.yardoc/
19
+ /_yardoc/
20
+ /doc/
21
+ /rdoc/
22
+
23
+ ## Environment normalisation:
24
+ /.bundle/
25
+ /lib/bundler/man/
26
+
27
+ # for a library or gem, you might want to ignore these files since the code is
28
+ # intended to run in multiple environments; otherwise, check them in:
29
+ Gemfile.lock
30
+ .ruby-gemset
31
+
32
+ # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
33
+ .rvmrc
34
+
35
+ .DS_Store
36
+
37
+ .idea
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 1.9.3-p392
data/.travis.yml ADDED
@@ -0,0 +1,17 @@
1
+ language: ruby
2
+
3
+ before_install:
4
+ - gem update --system 2.1.9
5
+
6
+ bundler_args: '' #remove the --deployment flag that causes the gems to be installed in .../1.9.1/...
7
+
8
+ script:
9
+ - rspec tests --format documentation --color
10
+
11
+ notifications:
12
+ email:
13
+ - niek.bartholomeus@gmail.com
14
+
15
+ branches:
16
+ except:
17
+ - /^v[0-9.]*/
data/Gemfile ADDED
@@ -0,0 +1,9 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
4
+
5
+ # gem "brpm_content", path: "#{ENV["BRPM_CONTENT_PATH"]}/gems/brpm_content-latest" #TODO: doesn't work: "Could not find gem 'brpm_content (>= 0) ruby'..."
6
+ # gem "brpm_content", path: "/Users/niek/src/bmc/brpm_content" # works fine but is specific to my local configuration
7
+
8
+ # TODO: not sure how the framework can get hold of this configuration to find out where this modules is located (for now we're using a symlink from the gem path to the source path)
9
+ # gem "brpm_module_selenium", path: "."
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2015 BMC
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,7 @@
1
+ # Selenium module for BRPM
2
+
3
+ [![Build Status](https://travis-ci.org/BMC-RLM/brpm_module_selenium.svg?branch=master)](https://travis-ci.org/BMC-RLM/brpm_module_selenium)
4
+
5
+ [![Gem Version](https://badge.fury.io/rb/brpm_module_selenium.png)](http://badge.fury.io/rb/brpm_module_selenium)
6
+
7
+ This repository represents an external module for BRPM, to be used on top of the [BRPM content repository](https://github.com/BMC-RLM/brpm_content)
data/Rakefile ADDED
@@ -0,0 +1,24 @@
1
+ # Copied from https://github.com/mitchellh/vagrant-aws/blob/master/Rakefile
2
+ require 'rubygems'
3
+ require 'bundler/setup'
4
+ require 'rspec/core/rake_task'
5
+
6
+ # Immediately sync all stdout so that tools like buildbot can
7
+ # immediately load in the output.
8
+ $stdout.sync = true
9
+ $stderr.sync = true
10
+
11
+ # Change to the directory of this file.
12
+ Dir.chdir(File.expand_path("../", __FILE__))
13
+
14
+ # This installs the tasks that help with gem creation and
15
+ # publishing.
16
+ Bundler::GemHelper.install_tasks
17
+
18
+ # Install the `spec` task so that we can run tests.
19
+ RSpec::Core::RakeTask.new do |task|
20
+ task.pattern = "tests/**/*_spec.rb"
21
+ end
22
+
23
+ # Default task is to run the unit tests
24
+ task :default => "spec"
@@ -0,0 +1,4 @@
1
+ params = BrpmAuto.params
2
+
3
+ BrpmAuto.log "Executing a test run..."
4
+ SeleniumCliClient.new.execute_test_run(params["application"], params["component"])
@@ -0,0 +1,14 @@
1
+ #=== BMC Application Automation Integration Server: Selenium ===#
2
+ # [integration_id=xxxxxxxx]
3
+ #=== End ===#
4
+
5
+ require "#{params["SS_script_support_path"]}/git_repos/brpm_content/modules/framework/brpm_script_executor.rb"
6
+
7
+ params["direct_execute"] = "true"
8
+
9
+ params["SS_integration_dns"] = SS_integration_dns
10
+ params["SS_integration_username"] = SS_integration_username
11
+ params["SS_integration_password_enc"] = SS_integration_password_enc
12
+ params["SS_integration_details"] = YAML.load(SS_integration_details)
13
+
14
+ BrpmScriptExecutor.execute_automation_script("brpm_module_selenium", "execute_test_run", params)
@@ -0,0 +1,39 @@
1
+ require "yaml"
2
+
3
+ config = YAML.load_file(File.join(File.dirname(__FILE__), "config.yml"))
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = File.basename(File.expand_path(File.dirname(__FILE__)))
7
+ spec.version = config["version"]
8
+ spec.platform = Gem::Platform::RUBY
9
+ spec.license = "GNU General Public License v2.0"
10
+ spec.authors = [config["author"]]
11
+ spec.email = config["email"]
12
+ spec.homepage = config["homepage"]
13
+ spec.summary = config["summary"]
14
+ spec.description = config["description"]
15
+
16
+ spec.add_runtime_dependency "brpm_content", ">=0.1.10"
17
+
18
+ if config["dependencies"]
19
+ config["dependencies"].each do |dependency|
20
+ if dependency.is_a?(Hash)
21
+ modul = dependency.keys[0]
22
+ options = dependency.values[0]
23
+ else
24
+ modul = dependency
25
+ options = {}
26
+ end
27
+ spec.add_runtime_dependency modul, options["version"] unless ["brpm", "bladelogic", "jira"].include?(modul)
28
+ end
29
+ end
30
+
31
+ spec.add_development_dependency "rake"
32
+ spec.add_development_dependency "rspec"
33
+
34
+ spec.files = `git ls-files`.split("\n")
35
+ spec.require_path = 'lib'
36
+
37
+ spec.executables = spec.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
38
+ spec.bindir = "bin"
39
+ end
data/config.yml ADDED
@@ -0,0 +1,13 @@
1
+ dependencies:
2
+ - brpm_module_brpm: { version: "0.1.10" }
3
+
4
+ integration_servers:
5
+ - JIRA
6
+
7
+ version: 0.1.9
8
+
9
+ author: Niek Bartholomeus
10
+ email: niek.bartholomeus@gmail.com
11
+ homepage: https://github.com/BMC-RLM/brpm_module_selenium
12
+ summary: Selenium automation scripts and libraries to run on top of the BRPM Content framework
13
+ description: Selenium automation scripts and libraries to run on top of the BRPM Content framework. See https://github.com/BMC-RLM/brpm_content for more information about the BRPM Content framework
@@ -0,0 +1,11 @@
1
+ class SeleniumCliClient
2
+ def initialize(integration_settings = BrpmAuto.integration_settings)
3
+ @url = integration_settings.dns
4
+ @username = integration_settings.username
5
+ @password = integration_settings.password
6
+ end
7
+
8
+ def execute_test_run(application, component)
9
+ BrpmAuto.execute_shell("pwd") # selenium execute #{application}_#{component}") #TODO: dummy implementation
10
+ end
11
+ end
@@ -0,0 +1,21 @@
1
+ require "#{File.dirname(__FILE__)}/spec_helper"
2
+
3
+ describe 'execute test run' do
4
+ before(:all) do
5
+ setup_brpm_auto
6
+ end
7
+
8
+ it 'run the tests' do
9
+ params = get_default_params
10
+ params = params.merge(get_integration_params_for_selenium)
11
+
12
+ params["application"] = 'E-Finance'
13
+ params["application"] = 'EF - java calculation engine'
14
+ BrpmScriptExecutor.execute_automation_script_from_gem("brpm_module_selenium", "execute_test_run", params)
15
+
16
+ #verify the tests: check if the tests were executed succesfully
17
+ #test_run = @selenium_cli_client.get_test_run(...)
18
+ #expect(test_run).not_to be_nil
19
+ end
20
+ end
21
+
@@ -0,0 +1,41 @@
1
+ require 'fileutils'
2
+ require "brpm_script_executor"
3
+
4
+ def setup_brpm_auto
5
+ FileUtils.mkdir_p "/tmp/brpm_content"
6
+ create_symlink_to_gemset
7
+
8
+ BrpmAuto.setup( get_default_params.merge!(get_integration_params_for_selenium) )
9
+
10
+ BrpmAuto.require_module_from_gem "brpm_module_selenium"
11
+
12
+ @selenium_cli_client = SeleniumCliClient.new
13
+ end
14
+
15
+ def get_default_params
16
+ params = {}
17
+ params['also_log_to_console'] = 'true'
18
+
19
+ params['brpm_url'] = 'http://brpm-content.pulsar-it.be:8088/brpm'
20
+ params['brpm_api_token'] = ENV["BRPM_API_TOKEN"]
21
+
22
+ params['output_dir'] = "/tmp/brpm_content"
23
+
24
+ params
25
+ end
26
+
27
+ def get_integration_params_for_selenium
28
+ params = {}
29
+ params["SS_integration_dns"] = 'http://brpm.pulsar-it.be:9090'
30
+ params["SS_integration_username"] = 'brpm'
31
+ params["SS_integration_password"] = ENV["SELENIUM_PASSWORD"]
32
+
33
+ params
34
+ end
35
+
36
+ def create_symlink_to_gemset
37
+ module_name = File.basename(File.expand_path("#{File.dirname(__FILE__)}/.."))
38
+ symlink = "#{ENV["GEM_HOME"]}/gems/#{module_name}-999.0.0"
39
+ FileUtils.rm(symlink) if File.exists?(symlink)
40
+ FileUtils.ln_s(File.expand_path("#{File.dirname(__FILE__)}/.."), symlink)
41
+ end
metadata ADDED
@@ -0,0 +1,116 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: brpm_module_selenium
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.9
5
+ platform: ruby
6
+ authors:
7
+ - Niek Bartholomeus
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-07-17 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: brpm_content
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ! '>='
18
+ - !ruby/object:Gem::Version
19
+ version: 0.1.10
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ! '>='
25
+ - !ruby/object:Gem::Version
26
+ version: 0.1.10
27
+ - !ruby/object:Gem::Dependency
28
+ name: brpm_module_brpm
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '='
32
+ - !ruby/object:Gem::Version
33
+ version: 0.1.10
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '='
39
+ - !ruby/object:Gem::Version
40
+ version: 0.1.10
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ! '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ! '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ description: Selenium automation scripts and libraries to run on top of the BRPM Content
70
+ framework. See https://github.com/BMC-RLM/brpm_content for more information about
71
+ the BRPM Content framework
72
+ email: niek.bartholomeus@gmail.com
73
+ executables: []
74
+ extensions: []
75
+ extra_rdoc_files: []
76
+ files:
77
+ - .gitignore
78
+ - .ruby-version
79
+ - .travis.yml
80
+ - Gemfile
81
+ - LICENSE
82
+ - README.md
83
+ - Rakefile
84
+ - automations/execute_test_run.rb
85
+ - automations/execute_test_run.txt
86
+ - brpm_module_selenium.gemspec
87
+ - config.yml
88
+ - lib/selenium_cli_client.rb
89
+ - tests/execute_test_run_spec.rb
90
+ - tests/spec_helper.rb
91
+ homepage: https://github.com/BMC-RLM/brpm_module_selenium
92
+ licenses:
93
+ - GNU General Public License v2.0
94
+ metadata: {}
95
+ post_install_message:
96
+ rdoc_options: []
97
+ require_paths:
98
+ - lib
99
+ required_ruby_version: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ! '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ required_rubygems_version: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - ! '>='
107
+ - !ruby/object:Gem::Version
108
+ version: '0'
109
+ requirements: []
110
+ rubyforge_project:
111
+ rubygems_version: 2.1.9
112
+ signing_key:
113
+ specification_version: 4
114
+ summary: Selenium automation scripts and libraries to run on top of the BRPM Content
115
+ framework
116
+ test_files: []