test_track_rails_client 2.0.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (98) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +62 -7
  3. data/Rakefile +8 -4
  4. data/app/models/test_track/analytics/mixpanel_client.rb +2 -5
  5. data/app/models/test_track/analytics/safe_wrapper.rb +4 -4
  6. data/app/models/test_track/config_updater.rb +2 -2
  7. data/app/models/test_track/fake/split_registry.rb +2 -2
  8. data/app/models/test_track/notify_assignment_job.rb +3 -4
  9. data/app/models/test_track/offline_session.rb +6 -4
  10. data/app/models/test_track/remote/split_registry.rb +2 -2
  11. data/app/models/test_track/remote/visitor.rb +2 -2
  12. data/app/models/test_track/session.rb +12 -73
  13. data/app/models/test_track/unsynced_assignments_notifier.rb +2 -4
  14. data/app/models/test_track/vary_dsl.rb +5 -1
  15. data/app/models/test_track/visitor.rb +0 -11
  16. data/lib/test_track_rails_client/version.rb +1 -1
  17. data/vendor/gems/fakeable_her/fakeable_her.gemspec +2 -3
  18. data/vendor/gems/her/her.gemspec +4 -5
  19. data/vendor/gems/her/lib/her/api.rb +1 -1
  20. data/vendor/gems/her/lib/her/model/associations/association_proxy.rb +1 -2
  21. data/vendor/gems/her/lib/her/model/orm.rb +41 -29
  22. data/vendor/gems/her/lib/her/model/parse.rb +1 -0
  23. data/vendor/gems/her/lib/her/model/relation.rb +21 -6
  24. data/vendor/gems/her/lib/her/version.rb +1 -1
  25. metadata +52 -139
  26. data/app/models/test_track/create_alias_job.rb +0 -18
  27. data/vendor/gems/her/CONTRIBUTING.md +0 -26
  28. data/vendor/gems/her/Gemfile +0 -10
  29. data/vendor/gems/her/README.md +0 -1023
  30. data/vendor/gems/her/Rakefile +0 -11
  31. data/vendor/gems/her/UPGRADE.md +0 -101
  32. data/vendor/gems/her/gemfiles/Gemfile.activemodel-3.2.x +0 -7
  33. data/vendor/gems/her/gemfiles/Gemfile.activemodel-4.0 +0 -7
  34. data/vendor/gems/her/gemfiles/Gemfile.activemodel-4.1 +0 -7
  35. data/vendor/gems/her/gemfiles/Gemfile.activemodel-4.2 +0 -7
  36. data/vendor/gems/her/spec/api_spec.rb +0 -114
  37. data/vendor/gems/her/spec/collection_spec.rb +0 -26
  38. data/vendor/gems/her/spec/error_collection_spec.rb +0 -33
  39. data/vendor/gems/her/spec/json_api/model_spec.rb +0 -168
  40. data/vendor/gems/her/spec/middleware/accept_json_spec.rb +0 -10
  41. data/vendor/gems/her/spec/middleware/first_level_parse_json_spec.rb +0 -62
  42. data/vendor/gems/her/spec/middleware/json_api_parser_spec.rb +0 -32
  43. data/vendor/gems/her/spec/middleware/second_level_parse_json_spec.rb +0 -35
  44. data/vendor/gems/her/spec/model/associations/association_proxy_spec.rb +0 -31
  45. data/vendor/gems/her/spec/model/associations_spec.rb +0 -504
  46. data/vendor/gems/her/spec/model/attributes_spec.rb +0 -404
  47. data/vendor/gems/her/spec/model/callbacks_spec.rb +0 -145
  48. data/vendor/gems/her/spec/model/dirty_spec.rb +0 -110
  49. data/vendor/gems/her/spec/model/http_spec.rb +0 -165
  50. data/vendor/gems/her/spec/model/introspection_spec.rb +0 -76
  51. data/vendor/gems/her/spec/model/nested_attributes_spec.rb +0 -134
  52. data/vendor/gems/her/spec/model/orm_spec.rb +0 -791
  53. data/vendor/gems/her/spec/model/parse_spec.rb +0 -372
  54. data/vendor/gems/her/spec/model/paths_spec.rb +0 -347
  55. data/vendor/gems/her/spec/model/relation_spec.rb +0 -226
  56. data/vendor/gems/her/spec/model/validations_spec.rb +0 -42
  57. data/vendor/gems/her/spec/model_spec.rb +0 -31
  58. data/vendor/gems/her/spec/spec_helper.rb +0 -27
  59. data/vendor/gems/her/spec/support/extensions/array.rb +0 -5
  60. data/vendor/gems/her/spec/support/extensions/hash.rb +0 -5
  61. data/vendor/gems/her/spec/support/macros/her_macros.rb +0 -17
  62. data/vendor/gems/her/spec/support/macros/model_macros.rb +0 -36
  63. data/vendor/gems/her/spec/support/macros/request_macros.rb +0 -27
  64. data/vendor/gems/publicsuffix-ruby/CHANGELOG.md +0 -236
  65. data/vendor/gems/publicsuffix-ruby/Gemfile +0 -3
  66. data/vendor/gems/publicsuffix-ruby/LICENSE.txt +0 -22
  67. data/vendor/gems/publicsuffix-ruby/README.md +0 -151
  68. data/vendor/gems/publicsuffix-ruby/Rakefile +0 -109
  69. data/vendor/gems/publicsuffix-ruby/lib/definitions.txt +0 -11467
  70. data/vendor/gems/publicsuffix-ruby/lib/public_suffix/domain.rb +0 -387
  71. data/vendor/gems/publicsuffix-ruby/lib/public_suffix/errors.rb +0 -53
  72. data/vendor/gems/publicsuffix-ruby/lib/public_suffix/list.rb +0 -302
  73. data/vendor/gems/publicsuffix-ruby/lib/public_suffix/rule.rb +0 -373
  74. data/vendor/gems/publicsuffix-ruby/lib/public_suffix/version.rb +0 -23
  75. data/vendor/gems/publicsuffix-ruby/lib/public_suffix.rb +0 -131
  76. data/vendor/gems/publicsuffix-ruby/public_suffix.gemspec +0 -39
  77. data/vendor/gems/publicsuffix-ruby/test/acceptance_test.rb +0 -42
  78. data/vendor/gems/publicsuffix-ruby/test/test_helper.rb +0 -6
  79. data/vendor/gems/publicsuffix-ruby/test/unit/domain_test.rb +0 -170
  80. data/vendor/gems/publicsuffix-ruby/test/unit/errors_test.rb +0 -23
  81. data/vendor/gems/publicsuffix-ruby/test/unit/list_test.rb +0 -179
  82. data/vendor/gems/publicsuffix-ruby/test/unit/public_suffix_test.rb +0 -115
  83. data/vendor/gems/publicsuffix-ruby/test/unit/rule_test.rb +0 -307
  84. data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/capybara_configuration.rb +0 -98
  85. data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/matchers.rb +0 -151
  86. data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/rspec_configuration.rb +0 -34
  87. data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/rubocop/cop/betterment/html_safe.rb +0 -15
  88. data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/rubocop/cop/betterment/raw.rb +0 -15
  89. data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/rubocop/cop/betterment/safe_concat.rb +0 -15
  90. data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/rubocop.rb +0 -3
  91. data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/shared_examples/betterment_application_examples.rb +0 -43
  92. data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/shared_examples.rb +0 -1
  93. data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/site_prism_configuration.rb +0 -42
  94. data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/site_prism_dropdown.rb +0 -17
  95. data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/version.rb +0 -3
  96. data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/webmock_configuration.rb +0 -8
  97. data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers.rb +0 -2
  98. data/vendor/gems/ruby_spec_helpers/ruby_spec_helpers.gemspec +0 -25
@@ -1,34 +0,0 @@
1
- require 'rspec/retry'
2
-
3
- ENV["TAGS"] ||= ""
4
-
5
- RSpec.configure do |config|
6
- # If true, the base class of anonymous controllers will be inferred
7
- # automatically. This will be the default behavior in future versions of
8
- # rspec-rails.
9
- config.infer_base_class_for_anonymous_controllers = false
10
-
11
- # Run specs in random order to surface order dependencies. If you find an
12
- # order dependency and want to debug it, you can fix the order by providing
13
- # the seed, which is printed after each run.
14
- # --seed 1234
15
- config.order = "random"
16
-
17
- # RSpec Rails can automatically mix in different behaviours to your tests
18
- # based on their file location, for example enabling you to call `get` and
19
- # `post` in specs under `spec/controllers`.
20
- config.infer_spec_type_from_file_location!
21
-
22
- config.verbose_retry = true
23
- # show exception that triggers a retry if verbose_retry is set to true
24
- config.display_try_failure_messages = true
25
-
26
-
27
- # Filter by tags
28
- ENV["TAGS"].split(",").each do |tag|
29
- config.filter_run_excluding tag[1..-1].to_sym if tag.start_with? "~"
30
- config.filter_run_including tag.to_sym unless tag.start_with? "~"
31
- end
32
-
33
- config.include Rails.application.routes.url_helpers
34
- end
@@ -1,15 +0,0 @@
1
- module RuboCop
2
- module Cop
3
- module Betterment
4
- class HTMLSafe < Cop
5
- MSG = 'Using html_safe creates the potential for XSS attacks.'
6
-
7
- def on_send(node)
8
- _receiver, method_name = *node
9
- return unless method_name == :html_safe
10
- add_offense(node, :selector, MSG)
11
- end
12
- end
13
- end
14
- end
15
- end
@@ -1,15 +0,0 @@
1
- module RuboCop
2
- module Cop
3
- module Betterment
4
- class Raw < Cop
5
- MSG = 'Using raw creates the potential for XSS attacks.'
6
-
7
- def on_send(node)
8
- _receiver, method_name = *node
9
- return unless method_name == :raw
10
- add_offense(node, :selector, MSG)
11
- end
12
- end
13
- end
14
- end
15
- end
@@ -1,15 +0,0 @@
1
- module RuboCop
2
- module Cop
3
- module Betterment
4
- class SafeConcat < Cop
5
- MSG = 'Using raw creates the potential for XSS attacks.'
6
-
7
- def on_send(node)
8
- _receiver, method_name = *node
9
- return unless method_name == :safe_concat
10
- add_offense(node, :selector, MSG)
11
- end
12
- end
13
- end
14
- end
15
- end
@@ -1,3 +0,0 @@
1
- require File.expand_path('../rubocop/cop/betterment/raw', __FILE__)
2
- require File.expand_path('../rubocop/cop/betterment/html_safe', __FILE__)
3
- require File.expand_path('../rubocop/cop/betterment/safe_concat', __FILE__)
@@ -1,43 +0,0 @@
1
- RSpec.shared_examples "a Betterment application" do
2
- context "views" do
3
- it "doesn't call raw" do
4
- result = `cd "#{Rails.root}" && find app/views | xargs ack -l "(?<![a-zA-Z_-])raw(?![a-zA-Z_-])" | sort | uniq`
5
- fail <<-EOF unless result.blank?
6
- `raw` was called in the following files.
7
- Consider rewriting to avoid using `raw` or move into a view helper.
8
-
9
- #{result}
10
- EOF
11
- end
12
-
13
- it "doesn't call html_safe" do
14
- result = `cd "#{Rails.root}" && find app/views | xargs ack -l "(?<![a-zA-Z_-])html_safe(?![a-zA-Z_-])" | sort | uniq`
15
- fail <<-EOF unless result.blank?
16
- `html_safe` was called in the following files.
17
- Consider rewriting to avoid using `html_safe` or move into a view helper.
18
-
19
- #{result}
20
- EOF
21
- end
22
-
23
- it "doesn't call safe_concat" do
24
- result = `cd "#{Rails.root}" && find app/views | xargs ack -l "(?<![a-zA-Z_-])safe_concat(?![a-zA-Z_-])" | sort | uniq`
25
- fail <<-EOF unless result.blank?
26
- `safe_concat` was called in the following files.
27
- Consider rewriting to avoid using `safe_concat` or move into a view helper.
28
-
29
- #{result}
30
- EOF
31
- end
32
-
33
- it "doesn't use <%==" do
34
- result = `cd "#{Rails.root}" && find app/views | xargs ack -l "<%==" | sort | uniq`
35
- fail <<-EOF unless result.blank?
36
- `<%==` was used in the following files:
37
- Consider rewriting to avoid using `<%==`.
38
-
39
- #{result}
40
- EOF
41
- end
42
- end
43
- end
@@ -1 +0,0 @@
1
- require File.expand_path('../shared_examples/betterment_application_examples', __FILE__)
@@ -1,42 +0,0 @@
1
- require 'ruby_spec_helpers/site_prism_dropdown'
2
-
3
- class SitePrism::Page
4
- include SitePrismDropdown
5
- end
6
-
7
- class SitePrism::Section
8
- include SitePrismDropdown
9
- end
10
-
11
- Dir[Rails.root.join("spec/support/*.rb")].each { |f| require f }
12
- Dir[Rails.root.join("spec/support/sections/**/*.rb")].each { |f| require f }
13
- Dir[Rails.root.join("spec/support/pages/**/*.rb")].each { |f| require f }
14
- Rails.application.config.autoload_paths += Dir[Rails.root.join("spec/support/**/")]
15
-
16
- SitePrism.configure do |config|
17
- config.use_implicit_waits = true
18
- end
19
-
20
- class SitePrismApp
21
- def initialize
22
- @pages = {}
23
- end
24
-
25
- def method_missing(name, *args, &block)
26
- @pages[name.to_s] ||= Object.const_get(name.to_s.camelize).new
27
- end
28
-
29
- def reload(page)
30
- @pages[page.to_s] = nil
31
- end
32
- end
33
-
34
- module SitePrismHelpers
35
- def app
36
- @app ||= SitePrismApp.new
37
- end
38
- end
39
-
40
- RSpec.configure do |config|
41
- config.include SitePrismHelpers, type: :feature
42
- end
@@ -1,17 +0,0 @@
1
- module SitePrismDropdown
2
- extend ActiveSupport::Concern
3
-
4
- module ClassMethods
5
- def dropdown(dropdown_name, *find_args)
6
- section dropdown_name, *find_args do
7
- element :current, "button"
8
- element :menu, "ul.dropdown-menu"
9
-
10
- def select(text)
11
- self.current.click
12
- self.menu.find("li a", :text => text).click
13
- end
14
- end
15
- end
16
- end
17
- end
@@ -1,3 +0,0 @@
1
- module RubySpecHelpers
2
- VERSION = "0.0.1"
3
- end
@@ -1,8 +0,0 @@
1
- require 'webmock'
2
- require 'webmock/rspec'
3
-
4
- RSpec.configure do |config|
5
- config.before(:all) { WebMock.disable_net_connect!(allow_localhost: true) }
6
- config.after(:all) { WebMock.allow_net_connect! }
7
- config.after(:each) { WebMock.reset! }
8
- end
@@ -1,2 +0,0 @@
1
- module RubySpecHelpers
2
- end
@@ -1,25 +0,0 @@
1
- $:.push File.expand_path("../lib", __FILE__)
2
-
3
- # Maintain your gem's version:
4
- require "ruby_spec_helpers/version"
5
-
6
- # Describe your gem and declare its dependencies:
7
- Gem::Specification.new do |s|
8
- s.name = "ruby_spec_helpers"
9
- s.version = RubySpecHelpers::VERSION
10
- s.authors = ["Development"]
11
- s.email = ["development@betterment.com"]
12
- s.summary = "Spec configuration helpers for Betterment"
13
- s.description = "Spec configuration helpers for Betterment"
14
-
15
- s.files = Dir["lib/**/*", "README.md"]
16
-
17
- s.add_dependency "capybara"
18
- s.add_dependency "selenium-webdriver"
19
- s.add_dependency "site_prism"
20
- s.add_dependency "rspec-rails"
21
- s.add_dependency "yarjuf"
22
- s.add_dependency "webmock"
23
- s.add_dependency "rubocop", '< 0.42' #avoid ruby 2.0 dependency
24
- s.add_dependency "rspec-retry", "~> 0.4.5"
25
- end