symbiont 0.10.0 → 0.11.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +4 -0
- data/Gemfile +1 -1
- data/LICENSE.txt +0 -0
- data/README.md +18 -12
- data/Rakefile +0 -0
- data/bin/console +10 -0
- data/bin/setup +5 -0
- data/lib/symbiont/accessor.rb +0 -0
- data/lib/symbiont/assertions.rb +0 -0
- data/lib/symbiont/data_builder.rb +0 -0
- data/lib/symbiont/data_reader.rb +1 -0
- data/lib/symbiont/data_setter.rb +0 -0
- data/lib/symbiont/elements.rb +0 -0
- data/lib/symbiont/errors.rb +2 -0
- data/lib/symbiont/factory.rb +2 -0
- data/lib/symbiont/helpers.rb +0 -0
- data/lib/symbiont/pages.rb +0 -0
- data/lib/symbiont/service_objects.rb +78 -0
- data/lib/symbiont/soap_methods.rb +72 -0
- data/lib/symbiont/version.rb +1 -1
- data/lib/symbiont/workflows.rb +88 -0
- data/lib/symbiont.rb +3 -0
- data/symbiont.gemspec +7 -5
- metadata +40 -37
- data/.coveralls.yml +0 -1
- data/.travis.yml +0 -24
- data/spec/fixtures/default.yml +0 -3
- data/spec/fixtures/element_definitions.rb +0 -71
- data/spec/fixtures/mock_data.yml +0 -3
- data/spec/fixtures/mock_drivers.rb +0 -8
- data/spec/fixtures/page_definitions.rb +0 -36
- data/spec/spec_helper.rb +0 -49
- data/spec/symbiont/assertion_spec.rb +0 -88
- data/spec/symbiont/data_builder_spec.rb +0 -38
- data/spec/symbiont/data_setter_spec.rb +0 -19
- data/spec/symbiont/driver_spec.rb +0 -52
- data/spec/symbiont/element_spec.rb +0 -10
- data/spec/symbiont/factory_spec.rb +0 -117
- data/spec/symbiont/page_spec.rb +0 -177
- data/test/symbiont-script.rb +0 -159
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bd01188718c924a7aa3c99657e0298949e8f0e7d
|
4
|
+
data.tar.gz: cfe062617af607bd769e130bc5ae758a35ed9238
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2d3dbcda06fad22a7e0aec22fa05bd7ad55bba73d0b9b4145650cc75a376baa08dcc3af81647ec3232e6e57f6d6e7e256a8d776c98fb02cf5076f9bc75c89d31
|
7
|
+
data.tar.gz: 37bc5b36c3f0288d4a2e301afe0572d1f5b9502549a4e94ec4c1f1aaf93e4932c9fb42449b887f08a4cefd3bca1f717b49b953d9b2b35f4013c5ed3ef8b6e668
|
data/.gitignore
CHANGED
data/Gemfile
CHANGED
data/LICENSE.txt
CHANGED
File without changes
|
data/README.md
CHANGED
@@ -1,17 +1,16 @@
|
|
1
1
|
# Symbiont
|
2
2
|
|
3
|
+
[ ![Codeship Status for jnyman/symbiont](https://codeship.com/projects/9cd74720-bba9-0132-db22-7ae602eb521b/status?branch=master)](https://codeship.com/projects/72247)
|
4
|
+
|
5
|
+
[![Coverage Status](https://coveralls.io/repos/jnyman/symbiont/badge.svg?branch=master)](https://coveralls.io/r/jnyman/symbiont?branch=master)
|
3
6
|
[![Gem Version](https://badge.fury.io/rb/symbiont.svg)](http://badge.fury.io/rb/symbiont)
|
4
|
-
[![Build Status](https://secure.travis-ci.org/jnyman/symbiont.png)](http://travis-ci.org/jnyman/symbiont)
|
5
|
-
[![Coverage Status](https://coveralls.io/repos/jnyman/symbiont/badge.png?branch=master)](https://coveralls.io/r/jnyman/symbiont?branch=master)
|
6
|
-
[![Code Climate](https://codeclimate.com/github/jnyman/symbiont.png)](https://codeclimate.com/github/jnyman/symbiont)
|
7
7
|
[![Dependency Status](https://gemnasium.com/jnyman/symbiont.png)](https://gemnasium.com/jnyman/symbiont)
|
8
|
+
[![Code Climate](https://codeclimate.com/github/jnyman/symbiont/badges/gpa.svg)](https://codeclimate.com/github/jnyman/symbiont)
|
8
9
|
|
9
10
|
Symbiont provides a semantic domain-specific language that can be used to construct a fluent interface for test execution libraries. The initial focus will be on using the [watir-webdriver](https://github.com/watir/watir-webdriver) API as the underlying driver library.
|
10
11
|
|
11
12
|
[![Gitter chat](https://badges.gitter.im/jnyman/symbiont.png)](https://gitter.im/jnyman/symbiont)
|
12
13
|
[![endorse](https://api.coderwall.com/jnyman/endorsecount.png)](https://coderwall.com/jnyman)
|
13
|
-
[![Stories in Ready](https://badge.waffle.io/jnyman/symbiont.png?label=ready&title=Ready)](https://waffle.io/jnyman/symbiont)
|
14
|
-
|
15
14
|
|
16
15
|
## What is this?
|
17
16
|
|
@@ -40,7 +39,7 @@ You can also install Symbiont just as you would any other gem:
|
|
40
39
|
|
41
40
|
## Usage
|
42
41
|
|
43
|
-
To learn how to use the framework, you can check out my [blog posts on Symbiont](http://testerstories.com/category/symbiont/).
|
42
|
+
To learn how to use the framework, you can check out my [blog posts on Symbiont](http://testerstories.com/category/symbiont/) and for the most up to date information, you can check out the [Symbiont Wiki](https://github.com/jnyman/symbiont/wiki).
|
44
43
|
|
45
44
|
You can check out the [Symbiont test script](https://github.com/jnyman/symbiont/blob/master/test/symbiont-script.rb) for an idea of how the library can be interacted with. Do note that the test script requires a local copy of [Dialogic](https://github.com/jnyman/dialogic) to be running. To execute the test script:
|
46
45
|
|
@@ -48,6 +47,8 @@ You can check out the [Symbiont test script](https://github.com/jnyman/symbiont/
|
|
48
47
|
|
49
48
|
## Why call it Symbiont?
|
50
49
|
|
50
|
+
If you are a comic book reader, particularly in the Marvel Universe, you will know of the [Klyntar](http://marvel.wikia.com/Klyntar), a race of symbiotic creatures. While those creatures have been a mixed bag in terms of good and evil, they are symbionts, which are organisms that exist in a partnership with something else. The terms comes from the Greek _symbiōtēs_ ("companion"), from an earlier term _symbioun_ ("to live together").
|
51
|
+
|
51
52
|
A "symbiont" is an organism in a symbiotic (mutually beneficial) relationship. Some of these relationships are called _obligate_, which means that both organisms need each other in order to survive. Other such relationships are called _facultative_, meaning that both organisms don't strictly need each other to survive, but they stand a better chance if they do.
|
52
53
|
|
53
54
|
Symbiotic relationships include associations in which one organism lives on another organism -- _ectosymbiosis_ -- or where one organism lives inside the other -- _endosymbiosis_.
|
@@ -56,16 +57,21 @@ So, with that bit of context, think of this library as a facultative, endosymbio
|
|
56
57
|
|
57
58
|
## Contributing
|
58
59
|
|
59
|
-
1. [Fork the project](http://gun.io/blog/how-to-github-fork-branch-and-pull-request/).
|
60
|
-
2. Create
|
60
|
+
1. [Fork the project](http://gun.io/blog/how-to-github-fork-branch-and-pull-request/) ( https://github.com/[my-github-username]/symbiont/fork ).
|
61
|
+
2. Create your feature branch. (`git checkout -b my-new-feature`)
|
61
62
|
3. Commit your changes. (`git commit -am 'new feature'`)
|
62
63
|
4. Push the branch. (`git push origin my-new-feature`)
|
63
64
|
5. Create a new [pull request](https://help.github.com/articles/using-pull-requests).
|
64
65
|
|
65
|
-
##
|
66
|
+
## Author
|
66
67
|
|
67
|
-
|
68
|
+
* [Jeff Nyman](http://testerstories.com)
|
68
69
|
|
69
|
-
##
|
70
|
+
## License
|
71
|
+
|
72
|
+
Symbiont is distributed under the [MIT](http://www.opensource.org/licenses/MIT) license.
|
73
|
+
See the [LICENSE](https://github.com/jnyman/symbiont/blob/master/LICENSE.txt) file for details.
|
74
|
+
|
75
|
+
## Credits
|
70
76
|
|
71
|
-
|
77
|
+
Thanks to Jeff Morgan ([http://www.cheezyworld.com/](http://www.cheezyworld.com/)) for his [page-object](https://github.com/cheezy/page-object) gem, Alister Scott ([http://watirmelon.com](http://watirmelon.com)) for his [watir-page-helper](https://github.com/alisterscott/watir-page-helper) gem, Alex Rodionov ([http://p0deje.blogspot.com/](http://p0deje.blogspot.com/)) for his [watirsome](https://github.com/p0deje/watirsome) gem, and Nat Ritmeyer ([http://www.natritmeyer.com/](http://www.natritmeyer.com/)) for his [SitePrism](https://github.com/natritmeyer/site_prism/) gem.
|
data/Rakefile
CHANGED
File without changes
|
data/bin/console
ADDED
data/bin/setup
ADDED
data/lib/symbiont/accessor.rb
CHANGED
File without changes
|
data/lib/symbiont/assertions.rb
CHANGED
File without changes
|
File without changes
|
data/lib/symbiont/data_reader.rb
CHANGED
data/lib/symbiont/data_setter.rb
CHANGED
File without changes
|
data/lib/symbiont/elements.rb
CHANGED
File without changes
|
data/lib/symbiont/errors.rb
CHANGED
@@ -3,5 +3,7 @@ module Symbiont
|
|
3
3
|
class NoUrlForDefinition < StandardError; end
|
4
4
|
class NoUrlMatchForDefinition < StandardError; end
|
5
5
|
class NoTitleForDefinition < StandardError; end
|
6
|
+
class WorkflowPathNotFound < StandardError; end
|
7
|
+
class WorkflowActionNotFound < StandardError; end
|
6
8
|
end
|
7
9
|
end
|
data/lib/symbiont/factory.rb
CHANGED
data/lib/symbiont/helpers.rb
CHANGED
File without changes
|
data/lib/symbiont/pages.rb
CHANGED
File without changes
|
@@ -0,0 +1,78 @@
|
|
1
|
+
require 'savon'
|
2
|
+
require 'symbiont/soap_methods'
|
3
|
+
|
4
|
+
module Symbiont
|
5
|
+
module SoapObject
|
6
|
+
attr_reader :response
|
7
|
+
|
8
|
+
def self.included(caller)
|
9
|
+
caller.extend SoapMethods
|
10
|
+
end
|
11
|
+
|
12
|
+
def initialize
|
13
|
+
@client = Savon.client(client_properties)
|
14
|
+
end
|
15
|
+
|
16
|
+
def connected?
|
17
|
+
not @client.nil?
|
18
|
+
end
|
19
|
+
|
20
|
+
def operations
|
21
|
+
@client.operations
|
22
|
+
end
|
23
|
+
|
24
|
+
def doc
|
25
|
+
response.doc
|
26
|
+
end
|
27
|
+
|
28
|
+
def body
|
29
|
+
response.body
|
30
|
+
end
|
31
|
+
|
32
|
+
def xpath(node)
|
33
|
+
response.xpath(node)
|
34
|
+
end
|
35
|
+
|
36
|
+
def to_xml
|
37
|
+
response.to_xml
|
38
|
+
end
|
39
|
+
|
40
|
+
def to_hash
|
41
|
+
response.hash
|
42
|
+
end
|
43
|
+
|
44
|
+
private
|
45
|
+
|
46
|
+
def method_missing(*args)
|
47
|
+
operation = args.shift
|
48
|
+
message = args.shift
|
49
|
+
type = message.is_a?(String) ? :xml : :message
|
50
|
+
call(operation, { type => message })
|
51
|
+
end
|
52
|
+
|
53
|
+
def call(operation, data)
|
54
|
+
@response = @client.call(operation, data)
|
55
|
+
response.to_xml
|
56
|
+
end
|
57
|
+
|
58
|
+
def client_properties
|
59
|
+
properties = { log: false, ssl_version: :SSLv3, ssl_verify_mode: :none }
|
60
|
+
[
|
61
|
+
:has_wsdl,
|
62
|
+
:has_proxy,
|
63
|
+
:has_basic_auth,
|
64
|
+
:has_digest_auth,
|
65
|
+
:has_encoding,
|
66
|
+
:has_soap_header,
|
67
|
+
:has_open_timeout,
|
68
|
+
:has_read_timeout,
|
69
|
+
:has_log_level,
|
70
|
+
:has_ssl_version,
|
71
|
+
:has_ssl_verification
|
72
|
+
].each do |sym|
|
73
|
+
properties = properties.merge(self.send sym) if self.respond_to? sym
|
74
|
+
end
|
75
|
+
properties
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
@@ -0,0 +1,72 @@
|
|
1
|
+
module Symbiont::SoapObject
|
2
|
+
module SoapMethods
|
3
|
+
def wsdl(url)
|
4
|
+
define_method(:has_wsdl) do
|
5
|
+
@wsdl ||= url
|
6
|
+
{ wsdl: @wsdl }
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
def proxy(url)
|
11
|
+
define_method(:has_proxy) do
|
12
|
+
{ proxy: url }
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def basic_auth(*creds)
|
17
|
+
define_method(:has_basic_auth) do
|
18
|
+
{ basic_auth: creds }
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def digest_auth(*creds)
|
23
|
+
define_method(:has_digest_auth) do
|
24
|
+
{ digest_auth: creds }
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def soap_header(header)
|
29
|
+
define_method(:has_soap_header) do
|
30
|
+
{ soap_header: header }
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def encoding(enc)
|
35
|
+
define_method(:has_encoding) do
|
36
|
+
{ encoding: enc }
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def open_timeout(timeout)
|
41
|
+
define_method(:has_open_timeout) do
|
42
|
+
{ open_timeout: timeout }
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def read_timeout(timeout)
|
47
|
+
define_method(:has_read_timeout) do
|
48
|
+
{ read_timeout: timeout }
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
def log_level(level)
|
53
|
+
define_method(:has_log_level) do
|
54
|
+
{ log: true, log_level: level, pretty_print_xml: true }
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
def ssl_version(version)
|
59
|
+
define_method(:has_ssl_version) do
|
60
|
+
{ ssl_version: version }
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
def ssl_verification(enable)
|
65
|
+
if enable
|
66
|
+
define_method(:has_ssl_verification) do
|
67
|
+
{ ssl_verify_mode: true }
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
data/lib/symbiont/version.rb
CHANGED
@@ -0,0 +1,88 @@
|
|
1
|
+
module Symbiont
|
2
|
+
module WorkflowPaths
|
3
|
+
def paths
|
4
|
+
@paths
|
5
|
+
end
|
6
|
+
|
7
|
+
def paths=(path)
|
8
|
+
@paths = path
|
9
|
+
end
|
10
|
+
|
11
|
+
def path_data
|
12
|
+
@path_data
|
13
|
+
end
|
14
|
+
|
15
|
+
def path_data=(data)
|
16
|
+
@path_data = data
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
module Workflow
|
21
|
+
def self.included(caller)
|
22
|
+
caller.extend WorkflowPaths
|
23
|
+
@def_caller = caller
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.def_caller
|
27
|
+
@def_caller
|
28
|
+
end
|
29
|
+
|
30
|
+
# Provides a workflow for a given workflow path, using a specific
|
31
|
+
# definition that is part of that workflow path.
|
32
|
+
#
|
33
|
+
# @param definition [Object] definition object using the workflow
|
34
|
+
# @param path_name [Hash] the name of the path to be used
|
35
|
+
# @param block [Proc] a block to be executed as part of the workflow
|
36
|
+
# @return [Object] the definition being interacted with
|
37
|
+
def workflow_for(definition, path_name = {:using => :default}, &block)
|
38
|
+
path_name[:using] = :default unless path_name[:using]
|
39
|
+
path_workflow = workflow_path_for(path_name)
|
40
|
+
|
41
|
+
workflow_goal = work_item_index_for(path_workflow, definition) - 1
|
42
|
+
|
43
|
+
if workflow_goal == -1
|
44
|
+
return on(definition, &block)
|
45
|
+
else
|
46
|
+
workflow_start = path_name[:from] ? path_workflow.find_index { |item| item[0] == path_name[:from] } : 0
|
47
|
+
perform_workflow(path_workflow[workflow_start..workflow_goal])
|
48
|
+
end
|
49
|
+
|
50
|
+
on(definition, &block)
|
51
|
+
end
|
52
|
+
|
53
|
+
private
|
54
|
+
|
55
|
+
def perform_workflow(definitions)
|
56
|
+
definitions.each do |definition, action, *args|
|
57
|
+
active = on(definition)
|
58
|
+
|
59
|
+
raise Symbiont::Errors::WorkflowActionNotFound,
|
60
|
+
"Workflow action '#{action}' not defined on #{definition}." unless active.respond_to? action
|
61
|
+
|
62
|
+
active.send action unless args
|
63
|
+
active.send action, *args if args
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
def workflow_path_for(path_name)
|
68
|
+
# Since I'm dealing with an array that contains a hash that, in turn,
|
69
|
+
# contains an array of arrays, I need to make sure that I index into
|
70
|
+
# the array before keying into the hash. That's the purpose of the [0].
|
71
|
+
path = Workflow.def_caller.paths[path_name[:using]]
|
72
|
+
|
73
|
+
raise Symbiont::Errors::WorkflowPathNotFound,
|
74
|
+
"Workflow path '#{path_name[:using].to_s}' not found." unless path
|
75
|
+
|
76
|
+
if Workflow.def_caller.path_data
|
77
|
+
file_to_load = Workflow.def_caller.path_data[path_name[:using]]
|
78
|
+
DataBuilder.load "#{file_to_load.to_s}.yml" if file_to_load
|
79
|
+
end
|
80
|
+
|
81
|
+
path
|
82
|
+
end
|
83
|
+
|
84
|
+
def work_item_index_for(path_workflow, definition)
|
85
|
+
path_workflow.find_index { |item| item[0] == definition }
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
data/lib/symbiont.rb
CHANGED
@@ -12,12 +12,15 @@ require 'symbiont/assertions'
|
|
12
12
|
require 'symbiont/pages'
|
13
13
|
require 'symbiont/elements'
|
14
14
|
require 'symbiont/accessor'
|
15
|
+
require 'symbiont/workflows'
|
15
16
|
require 'symbiont/factory'
|
16
17
|
|
17
18
|
require 'symbiont/data_reader'
|
18
19
|
require 'symbiont/data_setter'
|
19
20
|
require 'symbiont/data_builder'
|
20
21
|
|
22
|
+
require 'symbiont/service_objects'
|
23
|
+
|
21
24
|
module Symbiont
|
22
25
|
# @param caller [Class] the class including the framework
|
23
26
|
def self.included(caller)
|
data/symbiont.gemspec
CHANGED
@@ -21,15 +21,15 @@ Gem::Specification.new do |spec|
|
|
21
21
|
reuse, and less repetition.
|
22
22
|
|
23
23
|
You can use Symbiont directly as an automated test library or you can
|
24
|
-
use it with other tools such as RSpec, Cucumber, or my own
|
24
|
+
use it with other tools such as RSpec, Cucumber, or my own Specify tool.
|
25
25
|
}
|
26
26
|
spec.homepage = 'https://github.com/jnyman/symbiont'
|
27
27
|
spec.license = 'MIT'
|
28
28
|
|
29
|
-
spec.files = `git ls-files -z`.split("\x0")
|
30
|
-
spec.
|
31
|
-
spec.
|
32
|
-
spec.require_paths =
|
29
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
30
|
+
spec.bindir = 'exe'
|
31
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
32
|
+
spec.require_paths = ['lib']
|
33
33
|
|
34
34
|
spec.required_ruby_version = '>= 2.0'
|
35
35
|
spec.required_rubygems_version = '>= 1.8.29'
|
@@ -37,11 +37,13 @@ Gem::Specification.new do |spec|
|
|
37
37
|
spec.add_development_dependency 'bundler', '~> 1.7'
|
38
38
|
spec.add_development_dependency 'rake', '~> 10.0'
|
39
39
|
spec.add_development_dependency 'rspec', '~> 3.1'
|
40
|
+
spec.add_development_dependency 'pry'
|
40
41
|
|
41
42
|
spec.add_runtime_dependency 'colorize', '~> 0.7'
|
42
43
|
spec.add_runtime_dependency 'watir-webdriver', '~> 0.6'
|
43
44
|
spec.add_runtime_dependency 'watir-dom-wait'
|
44
45
|
spec.add_runtime_dependency 'watir-scroll'
|
46
|
+
spec.add_runtime_dependency 'savon'
|
45
47
|
|
46
48
|
spec.post_install_message = %{
|
47
49
|
(::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: symbiont
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeff Nyman
|
8
8
|
autorequire:
|
9
|
-
bindir:
|
9
|
+
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-05-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '3.1'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: pry
|
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'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: colorize
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,6 +122,20 @@ dependencies:
|
|
108
122
|
- - ">="
|
109
123
|
- !ruby/object:Gem::Version
|
110
124
|
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: savon
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
111
139
|
description: "\n Symbiont is a framework that allows you to describe your application
|
112
140
|
in\n terms of activity and page definitions. Those definitions can then be\n
|
113
141
|
\ referenced by test libraries using the DSL that Symbiont provides. The\n DSL
|
@@ -116,20 +144,20 @@ description: "\n Symbiont is a framework that allows you to describe your app
|
|
116
144
|
fluent interface promotes the idea of\n compressibility of your test logic, allowing
|
117
145
|
for more factoring, more\n reuse, and less repetition.\n\n You can use Symbiont
|
118
146
|
directly as an automated test library or you can\n use it with other tools such
|
119
|
-
as RSpec, Cucumber, or my own
|
147
|
+
as RSpec, Cucumber, or my own Specify tool.\n "
|
120
148
|
email:
|
121
149
|
- jeffnyman@gmail.com
|
122
150
|
executables: []
|
123
151
|
extensions: []
|
124
152
|
extra_rdoc_files: []
|
125
153
|
files:
|
126
|
-
- ".coveralls.yml"
|
127
154
|
- ".gitignore"
|
128
|
-
- ".travis.yml"
|
129
155
|
- Gemfile
|
130
156
|
- LICENSE.txt
|
131
157
|
- README.md
|
132
158
|
- Rakefile
|
159
|
+
- bin/console
|
160
|
+
- bin/setup
|
133
161
|
- lib/symbiont.rb
|
134
162
|
- lib/symbiont/accessor.rb
|
135
163
|
- lib/symbiont/assertions.rb
|
@@ -141,28 +169,17 @@ files:
|
|
141
169
|
- lib/symbiont/factory.rb
|
142
170
|
- lib/symbiont/helpers.rb
|
143
171
|
- lib/symbiont/pages.rb
|
172
|
+
- lib/symbiont/service_objects.rb
|
173
|
+
- lib/symbiont/soap_methods.rb
|
144
174
|
- lib/symbiont/version.rb
|
145
|
-
-
|
146
|
-
- spec/fixtures/element_definitions.rb
|
147
|
-
- spec/fixtures/mock_data.yml
|
148
|
-
- spec/fixtures/mock_drivers.rb
|
149
|
-
- spec/fixtures/page_definitions.rb
|
150
|
-
- spec/spec_helper.rb
|
151
|
-
- spec/symbiont/assertion_spec.rb
|
152
|
-
- spec/symbiont/data_builder_spec.rb
|
153
|
-
- spec/symbiont/data_setter_spec.rb
|
154
|
-
- spec/symbiont/driver_spec.rb
|
155
|
-
- spec/symbiont/element_spec.rb
|
156
|
-
- spec/symbiont/factory_spec.rb
|
157
|
-
- spec/symbiont/page_spec.rb
|
175
|
+
- lib/symbiont/workflows.rb
|
158
176
|
- symbiont.gemspec
|
159
|
-
- test/symbiont-script.rb
|
160
177
|
homepage: https://github.com/jnyman/symbiont
|
161
178
|
licenses:
|
162
179
|
- MIT
|
163
180
|
metadata: {}
|
164
181
|
post_install_message: "\n(::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::)\n\n
|
165
|
-
\ Symbiont 0.
|
182
|
+
\ Symbiont 0.11.0 has been installed.\n\n(::) (::) (::) (::) (::) (::) (::) (::)
|
166
183
|
(::) (::) (::) (::)\n "
|
167
184
|
rdoc_options: []
|
168
185
|
require_paths:
|
@@ -179,22 +196,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
179
196
|
version: 1.8.29
|
180
197
|
requirements: []
|
181
198
|
rubyforge_project:
|
182
|
-
rubygems_version: 2.
|
199
|
+
rubygems_version: 2.4.5
|
183
200
|
signing_key:
|
184
201
|
specification_version: 4
|
185
202
|
summary: An Endosymbiotic Facultative Semantically Clean Fluent Interface Test Framework
|
186
|
-
test_files:
|
187
|
-
- spec/fixtures/default.yml
|
188
|
-
- spec/fixtures/element_definitions.rb
|
189
|
-
- spec/fixtures/mock_data.yml
|
190
|
-
- spec/fixtures/mock_drivers.rb
|
191
|
-
- spec/fixtures/page_definitions.rb
|
192
|
-
- spec/spec_helper.rb
|
193
|
-
- spec/symbiont/assertion_spec.rb
|
194
|
-
- spec/symbiont/data_builder_spec.rb
|
195
|
-
- spec/symbiont/data_setter_spec.rb
|
196
|
-
- spec/symbiont/driver_spec.rb
|
197
|
-
- spec/symbiont/element_spec.rb
|
198
|
-
- spec/symbiont/factory_spec.rb
|
199
|
-
- spec/symbiont/page_spec.rb
|
200
|
-
- test/symbiont-script.rb
|
203
|
+
test_files: []
|
data/.coveralls.yml
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
service_name: 'travis-ci'
|
data/.travis.yml
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
|
3
|
-
rvm:
|
4
|
-
- 2.0.0
|
5
|
-
- 2.1.1
|
6
|
-
- jruby-19mode
|
7
|
-
|
8
|
-
branches:
|
9
|
-
except:
|
10
|
-
- experimental
|
11
|
-
|
12
|
-
branches:
|
13
|
-
only:
|
14
|
-
- master
|
15
|
-
- develop
|
16
|
-
|
17
|
-
notifications:
|
18
|
-
recipients:
|
19
|
-
- jeffnyman@gmail.com
|
20
|
-
|
21
|
-
matrix:
|
22
|
-
fast_finish: true
|
23
|
-
allow_failures:
|
24
|
-
- rvm: jruby-19mode
|
data/spec/fixtures/default.yml
DELETED