oats 0.0.1

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.
Files changed (181) hide show
  1. data/.gitignore +6 -0
  2. data/Gemfile +15 -0
  3. data/README.txt +165 -0
  4. data/Rakefile +2 -0
  5. data/bin/agent +204 -0
  6. data/bin/oats +10 -0
  7. data/bin/occ +29 -0
  8. data/bin/results_cleanup +6 -0
  9. data/doc/COPYING +55 -0
  10. data/doc/LICENSE +55 -0
  11. data/doc/OATS_Framework.doc +0 -0
  12. data/doc/classes/ApplicationLogs.html +239 -0
  13. data/doc/classes/Campaign.html +843 -0
  14. data/doc/classes/CommandlineOptions.html +131 -0
  15. data/doc/classes/Driver.html +182 -0
  16. data/doc/classes/Hash.html +137 -0
  17. data/doc/classes/Ide.html +194 -0
  18. data/doc/classes/MapSelenium.html +197 -0
  19. data/doc/classes/Net.html +107 -0
  20. data/doc/classes/Oats/OatsFilterError.html +119 -0
  21. data/doc/classes/Oats.html +998 -0
  22. data/doc/classes/OatsAssertError.html +119 -0
  23. data/doc/classes/OatsBadInput.html +119 -0
  24. data/doc/classes/OatsData.html +290 -0
  25. data/doc/classes/OatsError.html +117 -0
  26. data/doc/classes/OatsExit.html +117 -0
  27. data/doc/classes/OatsLock.html +254 -0
  28. data/doc/classes/OatsMain.html +182 -0
  29. data/doc/classes/OatsMysqlError.html +113 -0
  30. data/doc/classes/OatsMysqlMissingInput.html +113 -0
  31. data/doc/classes/OatsReportError.html +113 -0
  32. data/doc/classes/OatsSetupError.html +119 -0
  33. data/doc/classes/OatsTestError.html +119 -0
  34. data/doc/classes/OatsTestExit.html +119 -0
  35. data/doc/classes/OatsTestLocateError.html +120 -0
  36. data/doc/classes/OatsVerifyError.html +119 -0
  37. data/doc/classes/Ragent.html +397 -0
  38. data/doc/classes/Rclient.html +236 -0
  39. data/doc/classes/Report.html +368 -0
  40. data/doc/classes/Reports.html +244 -0
  41. data/doc/classes/RestApi.html +333 -0
  42. data/doc/classes/RhttpClient.html +236 -0
  43. data/doc/classes/Rimap.html +170 -0
  44. data/doc/classes/Rmysql.html +176 -0
  45. data/doc/classes/Roptions.html +131 -0
  46. data/doc/classes/Rselenium.html +233 -0
  47. data/doc/classes/Rssh.html +138 -0
  48. data/doc/classes/Runnable.html +174 -0
  49. data/doc/classes/SFTriggers.html +206 -0
  50. data/doc/classes/Selenium/Client/Driver.html +211 -0
  51. data/doc/classes/Selenium/Client.html +107 -0
  52. data/doc/classes/Selenium.html +107 -0
  53. data/doc/classes/SystemCapture.html +304 -0
  54. data/doc/classes/TestCase.html +418 -0
  55. data/doc/classes/TestData.html +235 -0
  56. data/doc/classes/TestList.html +264 -0
  57. data/doc/classes/Tools.html +244 -0
  58. data/doc/classes/Util.html +201 -0
  59. data/doc/classes/Variation.html +206 -0
  60. data/doc/fr_class_index.html +92 -0
  61. data/doc/fr_method_index.html +465 -0
  62. data/doc/index.html +23 -0
  63. data/doc/oats_httpd.conf +32 -0
  64. data/doc/oats_user.yml +25 -0
  65. data/doc/rdoc-style.css +208 -0
  66. data/lib/deep_merge/.gitignore +2 -0
  67. data/lib/deep_merge/core.rb +195 -0
  68. data/lib/deep_merge/deep_merge.rb +1 -0
  69. data/lib/deep_merge/deep_merge_hash.rb +28 -0
  70. data/lib/deep_merge/rails_compat.rb +27 -0
  71. data/lib/oats/application_logs.rb +163 -0
  72. data/lib/oats/build_id.rb +58 -0
  73. data/lib/oats/commandline_options.rb +128 -0
  74. data/lib/oats/diff.rb +278 -0
  75. data/lib/oats/driver.rb +492 -0
  76. data/lib/oats/ide.rb +227 -0
  77. data/lib/oats/keywords.rb +67 -0
  78. data/lib/oats/log4r_init.rb +14 -0
  79. data/lib/oats/mysql.rb +97 -0
  80. data/lib/oats/oats.rb +637 -0
  81. data/lib/oats/oats_data.rb +400 -0
  82. data/lib/oats/oats_exceptions.rb +25 -0
  83. data/lib/oats/oats_lock.rb +261 -0
  84. data/lib/oats/oats_selenium_api.rb +639 -0
  85. data/lib/oats/oselenium.rb +189 -0
  86. data/lib/oats/ossh.rb +36 -0
  87. data/lib/oats/patches_for_eventmachine_12.10.rb +66 -0
  88. data/lib/oats/ragent.rb +321 -0
  89. data/lib/oats/rclient.rb +42 -0
  90. data/lib/oats/report.rb +207 -0
  91. data/lib/oats/roptions.rb +88 -0
  92. data/lib/oats/test_case.rb +510 -0
  93. data/lib/oats/test_data.rb +98 -0
  94. data/lib/oats/test_list.rb +141 -0
  95. data/lib/oats/unixdiff.rb +75 -0
  96. data/lib/oats/util.rb +125 -0
  97. data/lib/oats/version.rb +3 -0
  98. data/lib/oats.rb +36 -0
  99. data/nbproject/configs/agent.properties +0 -0
  100. data/nbproject/configs/gr.properties +0 -0
  101. data/nbproject/project.properties +10 -0
  102. data/nbproject/project.xml +17 -0
  103. data/oats.gemspec +42 -0
  104. data/oats_ini.yml +258 -0
  105. data/oats_tests/Gemfile +18 -0
  106. data/oats_tests/aut_ini.yml +30 -0
  107. data/oats_tests/bin/oats +8 -0
  108. data/oats_tests/environments/qa.yml +4 -0
  109. data/oats_tests/environments/qa_chrome.yml +4 -0
  110. data/oats_tests/examples/core/coreExamples.yml +8 -0
  111. data/oats_tests/examples/core/expectedException.rb +39 -0
  112. data/oats_tests/examples/core/ok_verify.rb +2 -0
  113. data/oats_tests/examples/core/ok_verify.rb_ok/out/myfile.txt +1 -0
  114. data/oats_tests/examples/core/ok_verify.rb_ok/out/myfile2.txt +1 -0
  115. data/oats_tests/examples/core/ok_verify.rb_ok/rats_test.log +2 -0
  116. data/oats_tests/examples/core/unexpectedException.rb +30 -0
  117. data/oats_tests/examples/examples.yml +13 -0
  118. data/oats_tests/examples/gui/guiExamples.yml +7 -0
  119. data/oats_tests/examples/gui/seleniumGoogle.rb +10 -0
  120. data/oats_tests/examples/gui/webdriverGoogle.rb +9 -0
  121. data/oats_tests/examples/keywords/SampleXlList-1.xls +0 -0
  122. data/oats_tests/examples/keywords/SampleXlList-2.xls +0 -0
  123. data/oats_tests/examples/keywords/SampleXlLists.xls +0 -0
  124. data/oats_tests/examples/keywords/keywordsDriver.rb +1 -0
  125. data/oats_tests/examples/keywords/keywordsExamples.yml +8 -0
  126. data/oats_tests/examples/keywords/keywordsTC1.yml +5 -0
  127. data/oats_tests/examples/keywords/keywordsTestlist.yml +16 -0
  128. data/oats_tests/examples/needsWork/addTestDynamically.rb +4 -0
  129. data/oats_tests/examples/needsWork/emailVerify.rb +34 -0
  130. data/oats_tests/examples/needsWork/testSql/rtest.sql +6 -0
  131. data/oats_tests/examples/needsWork/testSql/rtest.yml +11 -0
  132. data/oats_tests/examples/occTest/occTest.rb +13 -0
  133. data/oats_tests/examples/occTest/occTest_1.rb +1 -0
  134. data/oats_tests/examples/occTest/occTest_1_1.rb +1 -0
  135. data/oats_tests/examples/occTest/occTest_1_2.rb +1 -0
  136. data/oats_tests/examples/occTest/occTest_1_3.rb +1 -0
  137. data/oats_tests/examples/occTest/occTest_1_4.rb +1 -0
  138. data/oats_tests/examples/occTest/occTest_2.rb +1 -0
  139. data/oats_tests/examples/occTest/occTest_2_1.rb +1 -0
  140. data/oats_tests/examples/occTest/occTest_2_2.rb +1 -0
  141. data/oats_tests/examples/occTest/occTest_2_3.rb +1 -0
  142. data/oats_tests/examples/occTest/occTest_2_4.rb +1 -0
  143. data/oats_tests/examples/occTest/occTest_3.rb +1 -0
  144. data/oats_tests/examples/occTest/occTest_3_1.rb +1 -0
  145. data/oats_tests/examples/occTest/occTest_3_2.rb +1 -0
  146. data/oats_tests/examples/occTest/occTest_3_3.rb +1 -0
  147. data/oats_tests/examples/occTest/occTest_3_4.rb +1 -0
  148. data/oats_tests/examples/occTest/occTest_4.rb +1 -0
  149. data/oats_tests/examples/occTest/occTestlist.yml +9 -0
  150. data/oats_tests/examples/occTest/occTestlist_1.yml +9 -0
  151. data/oats_tests/examples/occTest/occTestlist_2.yml +9 -0
  152. data/oats_tests/examples/occTest/occTestlist_3.yml +9 -0
  153. data/oats_tests/examples/occTest/variation1.yml +4 -0
  154. data/oats_tests/examples/occTest/variation2.yml +4 -0
  155. data/oats_tests/examples/testFileLocationUnitTests/extn_driver.rb +4 -0
  156. data/oats_tests/examples/testFileLocationUnitTests/folder/oats.yml +3 -0
  157. data/oats_tests/examples/testFileLocationUnitTests/folder/t1.rb +2 -0
  158. data/oats_tests/examples/testFileLocationUnitTests/folder1/t1.yml +2 -0
  159. data/oats_tests/examples/testFileLocationUnitTests/folder1/t1_1.yml +3 -0
  160. data/oats_tests/examples/testFileLocationUnitTests/folder2/oats.yml +3 -0
  161. data/oats_tests/examples/testFileLocationUnitTests/folder2/t1.rb +2 -0
  162. data/oats_tests/examples/testFileLocationUnitTests/folder2/t1.yml +2 -0
  163. data/oats_tests/examples/testFileLocationUnitTests/no_yaml.rb +3 -0
  164. data/oats_tests/examples/testFileLocationUnitTests/post_yaml.rb +1 -0
  165. data/oats_tests/examples/testFileLocationUnitTests/t1.rb +4 -0
  166. data/oats_tests/examples/testFileLocationUnitTests/t1.yml +2 -0
  167. data/oats_tests/examples/testFileLocationUnitTests/t1_1.yml +3 -0
  168. data/oats_tests/examples/testFileLocationUnitTests/testDir/oats.yml +3 -0
  169. data/oats_tests/examples/testFileLocationUnitTests/testDir/t1.rb +2 -0
  170. data/oats_tests/examples/testFileLocationUnitTests/testDir/t1.yml +2 -0
  171. data/oats_tests/examples/testFileLocationUnitTests/testDir2/t1.rb +2 -0
  172. data/oats_tests/examples/testFileLocationUnitTests/testDir2/t1.yml +2 -0
  173. data/oats_tests/examples/testFileLocationUnitTests/unitTestList.yml +36 -0
  174. data/oats_tests/examples/testFileLocationUnitTests/yml_driver.rb +2 -0
  175. data/oats_tests/lib/business.rb +28 -0
  176. data/oats_tests/lib/sample_xl_lists.rb +37 -0
  177. data/test/common_test_unit_setup.rb +21 -0
  178. data/test/test_basic.rb +16 -0
  179. data/test/test_selenium.rb +16 -0
  180. data/test/test_xl_lists.rb +16 -0
  181. metadata +291 -0
@@ -0,0 +1,9 @@
1
+ execution:
2
+ # yml_handler: occTest.rb
3
+ test_files:
4
+ # - variation1.yml
5
+ # - variation2.yml
6
+ - occTest_1_1.rb
7
+ - occTest_1_2.rb
8
+ - occTest_1_3.rb
9
+ - occTest_1_4.rb
@@ -0,0 +1,9 @@
1
+ execution:
2
+ # yml_handler: occTest.rb
3
+ test_files:
4
+ # - variation1.yml
5
+ # - variation2.yml
6
+ - occTest_2_1.rb
7
+ - occTest_2_2.rb
8
+ - occTest_2_3.rb
9
+ - occTest_2_4.rb
@@ -0,0 +1,9 @@
1
+ execution:
2
+ # yml_handler: occTest.rb
3
+ test_files:
4
+ # - variation1.yml
5
+ # - variation2.yml
6
+ - occTest_3_1.rb
7
+ - occTest_3_2.rb
8
+ - occTest_3_3.rb
9
+ - occTest_3_4.rb
@@ -0,0 +1,4 @@
1
+ ## YAML Template.
2
+ ---
3
+ count: 1
4
+ interval: 1
@@ -0,0 +1,4 @@
1
+ ## YAML Template.
2
+ ---
3
+ count: 2
4
+ interval: 1
@@ -0,0 +1,4 @@
1
+ Oats.info Oats.data("mytest")
2
+ copied_yml = Oats.test.path.sub(/\.#{Oats.test.is_file}/,'_1.yml')
3
+ Oats.yaml copied_yml if File.exist?(copied_yml)
4
+ Oats.info Oats.data("mytest")
@@ -0,0 +1,3 @@
1
+ # YAML Template.
2
+ ---
3
+ mytest: "read oats.yml"
@@ -0,0 +1,2 @@
1
+ fname = File.basename(Oats.test.path)
2
+ Oats.info Oats.data("mytest")
@@ -0,0 +1,2 @@
1
+ ## YAML Template.
2
+ mytest(define): "read folder1/t1"
@@ -0,0 +1,3 @@
1
+ # YAML Template.
2
+ ---
3
+ mytest: "read folder1/t1_1"
@@ -0,0 +1,3 @@
1
+ # YAML Template.
2
+ ---
3
+ mytest: "read oats.yml"
@@ -0,0 +1,2 @@
1
+ fname = File.basename(Oats.test.path)
2
+ Oats.info Oats.data("mytest")
@@ -0,0 +1,2 @@
1
+ ## YAML Template.
2
+ mytest(define): "read t1"
@@ -0,0 +1,3 @@
1
+ fname = File.basename(Oats.test.path)
2
+ Oats.info "Running #{fname}"
3
+ Oats.add_test fname.sub(/\.rb\z/,"_added.extn")
@@ -0,0 +1 @@
1
+ Oats.info "Running #{File.basename(Oats.test.id)}"
@@ -0,0 +1,4 @@
1
+ fname = File.basename(Oats.test.path)
2
+ Oats.info "Running #{fname}"
3
+ Oats.add_test(fname.sub(/\.rb/,".extn"))
4
+ Oats.add_test(fname.sub(/\.rb/,".yml"))
@@ -0,0 +1,2 @@
1
+ ## YAML Template.
2
+ mytest(define): "read t1"
@@ -0,0 +1,3 @@
1
+ # YAML Template.
2
+ ---
3
+ mytest: "read t1_1"
@@ -0,0 +1,3 @@
1
+ # YAML Template.
2
+ ---
3
+ mytest: "read oats.yml"
@@ -0,0 +1,2 @@
1
+ fname = File.basename(Oats.test.path)
2
+ Oats.info Oats.data("mytest")
@@ -0,0 +1,2 @@
1
+ ## YAML Template.
2
+ mytest(define): "read t1"
@@ -0,0 +1,2 @@
1
+ fname = File.basename(Oats.test.path)
2
+ Oats.info Oats.data("mytest")
@@ -0,0 +1,2 @@
1
+ ## YAML Template.
2
+ mytest(define): "read t1"
@@ -0,0 +1,36 @@
1
+ execution:
2
+ handler_post_test_list: post_yaml.rb
3
+ yml_handler(define): yml_driver.rb
4
+ extn_handler(define): oatsUnitTest/extn_driver.rb
5
+ test_files:
6
+
7
+ # Tests that are directories
8
+ - oatsUnitTest/testDir # reads oats.yml
9
+ - oatsUnitTest/testDir2 # reads t1.yml
10
+
11
+ # Tests that are files
12
+
13
+ # Priorities of YAML selection
14
+ - oatsUnitTest/folder/t1.rb # reads oats.yml
15
+ - oatsUnitTest/folder2/t1.rb # reads t1
16
+
17
+ # Positive tests
18
+ - oatsUnitTest/t1 # Implied rb extension
19
+ - oatsUnitTest/t1.rb # will add test t1.extn and t1.yml
20
+ - oatsUnitTest/no_yaml.rb # will add test fname_added.extn and .yml
21
+ - oatsUnitTest/t1_1.extn # Will run handler with included yml
22
+ - oatsUnitTest/non_existent.yml # Will only run handler
23
+ - oatsUnitTest/non_existent.extn # Will only run handler
24
+ - oatsUnitTest/folder1/t1.extn # Will include folder1/t1_1 yml internally
25
+ - oatsUnitTest/folder1/t2.extn # # Will only run handler in folder1
26
+
27
+ # Negative tests below
28
+ - oatsUnitTest/t1.non # non-existent handler, even if yaml exists
29
+ - oatsUnitTest/t1_1.rb # non-existent file, even if yaml exists
30
+ - oatsUnitTest/non_existent.rb
31
+ - oatsUnitTest/non_existent.non
32
+
33
+ # two more passing tests like below are added by t1.rb at the and
34
+ # - oatsUnitTest/t1.extn # Will include t1_1 yml internally
35
+ # - oatsUnitTest/t1.yml # Will run handler, with included yml
36
+ # two more passing tests added by no_yaml.rb at the end
@@ -0,0 +1,2 @@
1
+ Oats.info Oats.data("mytest")
2
+
@@ -0,0 +1,28 @@
1
+ require 'oats_x'
2
+ class Business < OatsX
3
+
4
+ def self.common(c)
5
+ Oats.info "Executing #{c} " + Oats.xl.inspect
6
+ end
7
+
8
+ def self.component1
9
+ self.common 'component1'
10
+
11
+ end
12
+
13
+ def self.component2
14
+ self.common 'component2'
15
+ # selenium = Oats.browser('http://google.com')
16
+ # selenium.type("id=gbqfq", 'xxxx')
17
+ # selenium.click("id=gbqfb")
18
+ #
19
+ # selenium.find_element(:id, "gbqfq").clear
20
+ # selenium.find_element(:id, "gbqfq").send_keys "xxxx"
21
+ # selenium.find_element(:id, "gbqfb").click
22
+ end
23
+
24
+ def self.component3
25
+ self.common 'component3'
26
+ end
27
+
28
+ end
@@ -0,0 +1,37 @@
1
+ # To change this template, choose Tools | Templates
2
+ # and open the template in the editor.
3
+
4
+ require 'oats/keywords'
5
+ require 'net/imap'
6
+ #require 'openssl'
7
+ #require 'nokogiri'
8
+
9
+ class SampleXlLists < Oats::Keywords
10
+
11
+ # Maps entries to be accessed by 'locator' function for Proactiv
12
+ self::LOCATOR_MAP = {
13
+ 'url' => "url_locator"
14
+ }
15
+
16
+ class << self
17
+
18
+ def action1
19
+ data = oats_data
20
+ data.delete('keywords')
21
+ Oats.info "Data:" + data.inspect
22
+ end
23
+
24
+ def action2
25
+ action1
26
+ end
27
+
28
+ # Invoke the AUT (Application Under Test)
29
+ def invokeApplication
30
+ Oats.browser(oats_data['URL']);
31
+ wait_and_text()
32
+ end
33
+
34
+
35
+ end
36
+ end
37
+
@@ -0,0 +1,21 @@
1
+ $:.unshift File.join(File.dirname(__FILE__),'..','lib')
2
+
3
+ require 'test/unit'
4
+ require 'oats'
5
+
6
+ module Oats
7
+ module CommonTestUnitSetup
8
+
9
+ DEFAULT_PARAMS = ['-q']
10
+
11
+ # To get the full logs from tests, set params to nil
12
+ def num_passed(test, params = DEFAULT_PARAMS.dup)
13
+ params.push(test)
14
+ test_files = Oats.run(params)['test_files']
15
+ if test_files
16
+ tlh = test_files.testlist_hash
17
+ tlh['pass'] if tlh
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,16 @@
1
+ $:.unshift File.dirname(__FILE__)
2
+ require 'common_test_unit_setup'
3
+
4
+ class TestBasic < Test::Unit::TestCase
5
+ include Oats::CommonTestUnitSetup
6
+
7
+ def test_locate_in_subdir
8
+ assert_equal 1, num_passed('occTest_1.rb'),"Test Failed"
9
+ end
10
+
11
+ def test_multiple_tests
12
+ assert_equal 4, num_passed('occTestlist.yml'),"Test Failed"
13
+ end
14
+
15
+
16
+ end
@@ -0,0 +1,16 @@
1
+ $:.unshift File.dirname(__FILE__)
2
+ #$oats_unit_test = { 'input_args' => [ "-g" , "#{UNIT_TEST_DIR}/test_selenium_Gemfile.rb" ]}
3
+ require 'common_test_unit_setup'
4
+
5
+ class TestSelenium < Test::Unit::TestCase
6
+ include Oats::CommonTestUnitSetup
7
+
8
+ def test_selenium
9
+ assert_equal 1, num_passed('seleniumGoogle.rb'),"Test Failed"
10
+ end
11
+
12
+ def test_webdriver
13
+ assert_equal 1, num_passed('webdriverGoogle.rb'),"Test Failed"
14
+ end
15
+
16
+ end
@@ -0,0 +1,16 @@
1
+ $:.unshift File.dirname(__FILE__)
2
+
3
+ #$oats_unit_test = { 'input_args' => [ "-g" , "#{UNIT_TEST_DIR}/test_xl_lists_Gemfile.rb" ]}
4
+ require 'common_test_unit_setup'
5
+
6
+ class Test_Xl_Lists < Test::Unit::TestCase
7
+ include Oats::CommonTestUnitSetup
8
+
9
+ def test_xl_lists
10
+ # params.delete('-q')
11
+ test_lists = Oats.run(['-q', 'SampleXlLists.xls'])['test_files'].variations.first.tests
12
+ assert_equal 2, test_lists[0].variations.first.pass , "Passes in first worksheet doesn't match"
13
+ assert_equal 1, test_lists[1].variations.first.pass , "Passes in secod worksheet doesn't match"
14
+ end
15
+
16
+ end
metadata ADDED
@@ -0,0 +1,291 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: oats
3
+ version: !ruby/object:Gem::Version
4
+ hash: 29
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 1
10
+ version: 0.0.1
11
+ platform: ruby
12
+ authors:
13
+ - Levent Atasoy
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2012-05-22 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: log4r
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ hash: 3
29
+ segments:
30
+ - 0
31
+ version: "0"
32
+ type: :runtime
33
+ version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ name: json
36
+ prerelease: false
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ none: false
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ hash: 3
43
+ segments:
44
+ - 0
45
+ version: "0"
46
+ type: :runtime
47
+ version_requirements: *id002
48
+ - !ruby/object:Gem::Dependency
49
+ name: em-http-request
50
+ prerelease: false
51
+ requirement: &id003 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ hash: 3
57
+ segments:
58
+ - 0
59
+ version: "0"
60
+ type: :runtime
61
+ version_requirements: *id003
62
+ description: A flexible automated system integration regression test framework.
63
+ email:
64
+ - levent.atasoy@gmail.com
65
+ executables:
66
+ - oats
67
+ extensions: []
68
+
69
+ extra_rdoc_files: []
70
+
71
+ files:
72
+ - .gitignore
73
+ - Gemfile
74
+ - README.txt
75
+ - Rakefile
76
+ - bin/agent
77
+ - bin/oats
78
+ - bin/occ
79
+ - bin/results_cleanup
80
+ - doc/COPYING
81
+ - doc/LICENSE
82
+ - doc/OATS_Framework.doc
83
+ - doc/classes/ApplicationLogs.html
84
+ - doc/classes/Campaign.html
85
+ - doc/classes/CommandlineOptions.html
86
+ - doc/classes/Driver.html
87
+ - doc/classes/Hash.html
88
+ - doc/classes/Ide.html
89
+ - doc/classes/MapSelenium.html
90
+ - doc/classes/Net.html
91
+ - doc/classes/Oats.html
92
+ - doc/classes/Oats/OatsFilterError.html
93
+ - doc/classes/OatsAssertError.html
94
+ - doc/classes/OatsBadInput.html
95
+ - doc/classes/OatsData.html
96
+ - doc/classes/OatsError.html
97
+ - doc/classes/OatsExit.html
98
+ - doc/classes/OatsLock.html
99
+ - doc/classes/OatsMain.html
100
+ - doc/classes/OatsMysqlError.html
101
+ - doc/classes/OatsMysqlMissingInput.html
102
+ - doc/classes/OatsReportError.html
103
+ - doc/classes/OatsSetupError.html
104
+ - doc/classes/OatsTestError.html
105
+ - doc/classes/OatsTestExit.html
106
+ - doc/classes/OatsTestLocateError.html
107
+ - doc/classes/OatsVerifyError.html
108
+ - doc/classes/Ragent.html
109
+ - doc/classes/Rclient.html
110
+ - doc/classes/Report.html
111
+ - doc/classes/Reports.html
112
+ - doc/classes/RestApi.html
113
+ - doc/classes/RhttpClient.html
114
+ - doc/classes/Rimap.html
115
+ - doc/classes/Rmysql.html
116
+ - doc/classes/Roptions.html
117
+ - doc/classes/Rselenium.html
118
+ - doc/classes/Rssh.html
119
+ - doc/classes/Runnable.html
120
+ - doc/classes/SFTriggers.html
121
+ - doc/classes/Selenium.html
122
+ - doc/classes/Selenium/Client.html
123
+ - doc/classes/Selenium/Client/Driver.html
124
+ - doc/classes/SystemCapture.html
125
+ - doc/classes/TestCase.html
126
+ - doc/classes/TestData.html
127
+ - doc/classes/TestList.html
128
+ - doc/classes/Tools.html
129
+ - doc/classes/Util.html
130
+ - doc/classes/Variation.html
131
+ - doc/fr_class_index.html
132
+ - doc/fr_method_index.html
133
+ - doc/index.html
134
+ - doc/oats_httpd.conf
135
+ - doc/oats_user.yml
136
+ - doc/rdoc-style.css
137
+ - lib/deep_merge/.gitignore
138
+ - lib/deep_merge/core.rb
139
+ - lib/deep_merge/deep_merge.rb
140
+ - lib/deep_merge/deep_merge_hash.rb
141
+ - lib/deep_merge/rails_compat.rb
142
+ - lib/oats.rb
143
+ - lib/oats/application_logs.rb
144
+ - lib/oats/build_id.rb
145
+ - lib/oats/commandline_options.rb
146
+ - lib/oats/diff.rb
147
+ - lib/oats/driver.rb
148
+ - lib/oats/ide.rb
149
+ - lib/oats/keywords.rb
150
+ - lib/oats/log4r_init.rb
151
+ - lib/oats/mysql.rb
152
+ - lib/oats/oats.rb
153
+ - lib/oats/oats_data.rb
154
+ - lib/oats/oats_exceptions.rb
155
+ - lib/oats/oats_lock.rb
156
+ - lib/oats/oats_selenium_api.rb
157
+ - lib/oats/oselenium.rb
158
+ - lib/oats/ossh.rb
159
+ - lib/oats/patches_for_eventmachine_12.10.rb
160
+ - lib/oats/ragent.rb
161
+ - lib/oats/rclient.rb
162
+ - lib/oats/report.rb
163
+ - lib/oats/roptions.rb
164
+ - lib/oats/test_case.rb
165
+ - lib/oats/test_data.rb
166
+ - lib/oats/test_list.rb
167
+ - lib/oats/unixdiff.rb
168
+ - lib/oats/util.rb
169
+ - lib/oats/version.rb
170
+ - nbproject/configs/agent.properties
171
+ - nbproject/configs/gr.properties
172
+ - nbproject/project.properties
173
+ - nbproject/project.xml
174
+ - oats.gemspec
175
+ - oats_ini.yml
176
+ - oats_tests/Gemfile
177
+ - oats_tests/aut_ini.yml
178
+ - oats_tests/bin/oats
179
+ - oats_tests/environments/qa.yml
180
+ - oats_tests/environments/qa_chrome.yml
181
+ - oats_tests/examples/core/coreExamples.yml
182
+ - oats_tests/examples/core/expectedException.rb
183
+ - oats_tests/examples/core/ok_verify.rb
184
+ - oats_tests/examples/core/ok_verify.rb_ok/out/myfile.txt
185
+ - oats_tests/examples/core/ok_verify.rb_ok/out/myfile2.txt
186
+ - oats_tests/examples/core/ok_verify.rb_ok/rats_test.log
187
+ - oats_tests/examples/core/unexpectedException.rb
188
+ - oats_tests/examples/examples.yml
189
+ - oats_tests/examples/gui/guiExamples.yml
190
+ - oats_tests/examples/gui/seleniumGoogle.rb
191
+ - oats_tests/examples/gui/webdriverGoogle.rb
192
+ - oats_tests/examples/keywords/SampleXlList-1.xls
193
+ - oats_tests/examples/keywords/SampleXlList-2.xls
194
+ - oats_tests/examples/keywords/SampleXlLists.xls
195
+ - oats_tests/examples/keywords/keywordsDriver.rb
196
+ - oats_tests/examples/keywords/keywordsExamples.yml
197
+ - oats_tests/examples/keywords/keywordsTC1.yml
198
+ - oats_tests/examples/keywords/keywordsTestlist.yml
199
+ - oats_tests/examples/needsWork/addTestDynamically.rb
200
+ - oats_tests/examples/needsWork/emailVerify.rb
201
+ - oats_tests/examples/needsWork/testSql/rtest.sql
202
+ - oats_tests/examples/needsWork/testSql/rtest.yml
203
+ - oats_tests/examples/occTest/occTest.rb
204
+ - oats_tests/examples/occTest/occTest_1.rb
205
+ - oats_tests/examples/occTest/occTest_1_1.rb
206
+ - oats_tests/examples/occTest/occTest_1_2.rb
207
+ - oats_tests/examples/occTest/occTest_1_3.rb
208
+ - oats_tests/examples/occTest/occTest_1_4.rb
209
+ - oats_tests/examples/occTest/occTest_2.rb
210
+ - oats_tests/examples/occTest/occTest_2_1.rb
211
+ - oats_tests/examples/occTest/occTest_2_2.rb
212
+ - oats_tests/examples/occTest/occTest_2_3.rb
213
+ - oats_tests/examples/occTest/occTest_2_4.rb
214
+ - oats_tests/examples/occTest/occTest_3.rb
215
+ - oats_tests/examples/occTest/occTest_3_1.rb
216
+ - oats_tests/examples/occTest/occTest_3_2.rb
217
+ - oats_tests/examples/occTest/occTest_3_3.rb
218
+ - oats_tests/examples/occTest/occTest_3_4.rb
219
+ - oats_tests/examples/occTest/occTest_4.rb
220
+ - oats_tests/examples/occTest/occTestlist.yml
221
+ - oats_tests/examples/occTest/occTestlist_1.yml
222
+ - oats_tests/examples/occTest/occTestlist_2.yml
223
+ - oats_tests/examples/occTest/occTestlist_3.yml
224
+ - oats_tests/examples/occTest/variation1.yml
225
+ - oats_tests/examples/occTest/variation2.yml
226
+ - oats_tests/examples/testFileLocationUnitTests/extn_driver.rb
227
+ - oats_tests/examples/testFileLocationUnitTests/folder/oats.yml
228
+ - oats_tests/examples/testFileLocationUnitTests/folder/t1.rb
229
+ - oats_tests/examples/testFileLocationUnitTests/folder1/t1.yml
230
+ - oats_tests/examples/testFileLocationUnitTests/folder1/t1_1.yml
231
+ - oats_tests/examples/testFileLocationUnitTests/folder2/oats.yml
232
+ - oats_tests/examples/testFileLocationUnitTests/folder2/t1.rb
233
+ - oats_tests/examples/testFileLocationUnitTests/folder2/t1.yml
234
+ - oats_tests/examples/testFileLocationUnitTests/no_yaml.rb
235
+ - oats_tests/examples/testFileLocationUnitTests/post_yaml.rb
236
+ - oats_tests/examples/testFileLocationUnitTests/t1.rb
237
+ - oats_tests/examples/testFileLocationUnitTests/t1.yml
238
+ - oats_tests/examples/testFileLocationUnitTests/t1_1.yml
239
+ - oats_tests/examples/testFileLocationUnitTests/testDir/oats.yml
240
+ - oats_tests/examples/testFileLocationUnitTests/testDir/t1.rb
241
+ - oats_tests/examples/testFileLocationUnitTests/testDir/t1.yml
242
+ - oats_tests/examples/testFileLocationUnitTests/testDir2/t1.rb
243
+ - oats_tests/examples/testFileLocationUnitTests/testDir2/t1.yml
244
+ - oats_tests/examples/testFileLocationUnitTests/unitTestList.yml
245
+ - oats_tests/examples/testFileLocationUnitTests/yml_driver.rb
246
+ - oats_tests/lib/business.rb
247
+ - oats_tests/lib/sample_xl_lists.rb
248
+ - test/common_test_unit_setup.rb
249
+ - test/test_basic.rb
250
+ - test/test_selenium.rb
251
+ - test/test_xl_lists.rb
252
+ homepage: ""
253
+ licenses: []
254
+
255
+ post_install_message:
256
+ rdoc_options: []
257
+
258
+ require_paths:
259
+ - lib
260
+ required_ruby_version: !ruby/object:Gem::Requirement
261
+ none: false
262
+ requirements:
263
+ - - ">="
264
+ - !ruby/object:Gem::Version
265
+ hash: 57
266
+ segments:
267
+ - 1
268
+ - 8
269
+ - 7
270
+ version: 1.8.7
271
+ required_rubygems_version: !ruby/object:Gem::Requirement
272
+ none: false
273
+ requirements:
274
+ - - ">="
275
+ - !ruby/object:Gem::Version
276
+ hash: 3
277
+ segments:
278
+ - 0
279
+ version: "0"
280
+ requirements: []
281
+
282
+ rubyforge_project: oats
283
+ rubygems_version: 1.8.24
284
+ signing_key:
285
+ specification_version: 3
286
+ summary: A flexible automated system integration regression test framework.
287
+ test_files:
288
+ - test/common_test_unit_setup.rb
289
+ - test/test_basic.rb
290
+ - test/test_selenium.rb
291
+ - test/test_xl_lists.rb