wovnrb 3.5.0 → 3.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/README.en.md +30 -13
  3. data/build.sh +7 -0
  4. data/docker/nginx/Dockerfile +18 -0
  5. data/docker/nginx/README.md +13 -0
  6. data/docker/nginx/build.sh +8 -0
  7. data/docker/nginx/scripts/configure_sshd.sh +25 -0
  8. data/docker/nginx/scripts/startup.sh +10 -0
  9. data/docker/nginx/wovnrb.conf +19 -0
  10. data/docker/rails/Dockerfile +9 -0
  11. data/docker/rails/Dockerfile.ECS +17 -0
  12. data/docker/rails/TestSite/Gemfile +0 -2
  13. data/docker/rails/TestSite/app/controllers/custom_response_controller.rb +1 -1
  14. data/docker/rails/TestSite/config/environments/development.rb +2 -0
  15. data/docker/rails/TestSite/config/environments/production.rb +2 -0
  16. data/docker/rails/TestSite/config/environments/test.rb +2 -0
  17. data/docker/rails/TestSite/public/index.html +1 -1
  18. data/docker/rails/TestSite/start.sh +2 -11
  19. data/docker/rails/TestSite/start_rails.sh +9 -0
  20. data/docker/rails/TestSite/yarn.lock +3 -3
  21. data/docker/scripts/jenkins/build.sh +45 -0
  22. data/docker/scripts/jenkins/tag_and_push_image.sh +30 -0
  23. data/docker/scripts/jenkins/taskdef.json +104 -0
  24. data/docker/scripts/jenkins/taskdef.json.bak +99 -0
  25. data/lib/wovnrb/api_translator.rb +6 -1
  26. data/lib/wovnrb/headers.rb +19 -2
  27. data/lib/wovnrb/services/html_converter.rb +17 -1
  28. data/lib/wovnrb/services/url.rb +136 -0
  29. data/lib/wovnrb/store.rb +8 -2
  30. data/lib/wovnrb/url_language_switcher.rb +124 -0
  31. data/lib/wovnrb/version.rb +1 -1
  32. data/lib/wovnrb.rb +3 -1
  33. data/test/lib/api_translator_test.rb +44 -0
  34. data/test/lib/services/html_converter_test.rb +210 -37
  35. data/test/lib/services/url_test.rb +308 -0
  36. data/test/lib/url_language_switcher_test.rb +798 -0
  37. data/test/lib/wovnrb_test.rb +2 -1
  38. data/test/test_helper.rb +4 -1
  39. metadata +22 -3
@@ -256,7 +256,8 @@ HTML
256
256
  store, headers = store_headers_factory(subdomain, original_lang)
257
257
  if api_expected
258
258
  dom = Wovnrb::Helpers::NokogumboHelper.parse_html(body)
259
- converter = Wovnrb::HtmlConverter.new(dom, store, headers)
259
+ url_lang_switcher = Wovnrb::UrlLanguageSwitcher.new(store)
260
+ converter = Wovnrb::HtmlConverter.new(dom, store, headers, url_lang_switcher)
260
261
  apified_body, = converter.build_api_compatible_html
261
262
  mock_translation_api_response(apified_body, expected_body)
262
263
  end
data/test/test_helper.rb CHANGED
@@ -30,9 +30,11 @@ require 'wovnrb/store'
30
30
  require 'wovnrb/helpers/nokogumbo_helper'
31
31
  require 'wovnrb/services/html_converter'
32
32
  require 'wovnrb/services/html_replace_marker'
33
+ require 'wovnrb/url_language_switcher'
34
+ require 'wovnrb/services/url'
33
35
 
34
36
  module Wovnrb
35
- class WovnMiniTest < Minitest::Test
37
+ class WovnMiniTest < ActiveSupport::TestCase
36
38
  def before_setup
37
39
  super
38
40
  Wovnrb::Store.instance.reset
@@ -81,6 +83,7 @@ module Wovnrb
81
83
  env['SERVER_NAME'] = 'wovn.io'
82
84
  env['HTTP_COOKIE'] = 'olfsk=olfsk021093478426337242; hblid=KB8AAMzxzu2DSxnB4X7BJ26rBGVeF0yJ; optimizelyEndUserId=oeu1426233718869r0.5398541854228824; __zlcmid=UFeZqrVo6Mv3Yl; wovn_selected_lang=en; optimizelySegments=%7B%7D; optimizelyBuckets=%7B%7D; _equalizer_session=eDFwM3M2QUZJZFhoby9JZlArckcvSUJwNFRINXhUeUxtNnltQXZhV0tqdGhZQjJMZ01URnZTK05ydFVWYmM3U0dtMVN0M0Z0UnNDVG8vdUNDTUtPc21jY0FHREgrZ05CUnBTb0hyUlkvYlBWQVhQR3RZdnhjMWsrRW5rOVp1Z3V3bkgyd3NpSlRZQWU1dlZvNmM1THp6aUZVeE83Y1pWWENRNTBUVFIrV05WeTdDMlFlem1tUzdxaEtndFZBd2dtUjU2ak5EUmJPa3RWWmMyT1pSVWdMTm8zOVZhUWhHdGQ3L1c5bm91RmNSdFRrcC90Tml4N2t3ZWlBaDRya2lLT1I0S0J2TURhUWl6Uk5rOTQ4Y1MwM3VKYnlLMUYraEt5clhRdFd1eGdEWXdZd3pFbWQvdE9vQndhdDVQbXNLcHBURm9CbnZKenU2YnNXRFdqRVl0MVV3bmRyYjhvMDExcGtUVU9tK1lqUGswM3p6M05tbVRnTjE3TUl5cEdpTTZ4a2gray8xK0FvTC9wUDVka1JSeE5GM1prZmRjWDdyVzRhWW5uS2Mxc1BxOEVVTTZFS3N5bTlVN2p5eE5YSjNZWGI2UHd3Vzc0bDM5QjIwL0l5Mm85NmQyWFAwdVQ3ZzJYYk1QOHY2NVJpY2c9LS1KNU96eHVycVJxSDJMbEc4Rm9KVXpBPT0%3D--17e47555d692fb9cde20ef78a09a5eabbf805bb3; mp_a0452663eb7abb7dfa9c94007ebb0090_mixpanel=%7B%22distinct_id%22%3A%20%2253ed9ffa4a65662e37000000%22%2C%22%24initial_referrer%22%3A%20%22http%3A%2F%2Fp.dev-wovn.io%3A8080%2Fhttp%3A%2F%2Fdev-wovn.io%3A3000%22%2C%22%24initial_referring_domain%22%3A%20%22p.dev-wovn.io%3A8080%22%2C%22__mps%22%3A%20%7B%7D%2C%22__mpso%22%3A%20%7B%7D%2C%22__mpa%22%3A%20%7B%7D%2C%22__mpu%22%3A%20%7B%7D%2C%22__mpap%22%3A%20%5B%5D%7D'
83
85
  env['HTTP_ACCEPT_LANGUAGE'] = 'ja,en-US;q=0.8,en;q=0.6'
86
+ env['HTTP_USER_AGENT'] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36'
84
87
  env['ORIGINAL_FULLPATH'] = '/dashboard?param=val&hey=you'
85
88
  # env['HTTP_REFERER'] =
86
89
  env['REQUEST_PATH'] = '/dashboard'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wovnrb
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.0
4
+ version: 3.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wovn Technologies, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-04 00:00:00.000000000 Z
11
+ date: 2022-02-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -412,8 +412,16 @@ files:
412
412
  - README.ja.md
413
413
  - README.md
414
414
  - Rakefile
415
+ - build.sh
415
416
  - docker/docker-compose.yml
417
+ - docker/nginx/Dockerfile
418
+ - docker/nginx/README.md
419
+ - docker/nginx/build.sh
420
+ - docker/nginx/scripts/configure_sshd.sh
421
+ - docker/nginx/scripts/startup.sh
422
+ - docker/nginx/wovnrb.conf
416
423
  - docker/rails/Dockerfile
424
+ - docker/rails/Dockerfile.ECS
417
425
  - docker/rails/TestSite/.browserslistrc
418
426
  - docker/rails/TestSite/.gitignore
419
427
  - docker/rails/TestSite/Gemfile
@@ -500,6 +508,7 @@ files:
500
508
  - docker/rails/TestSite/public/testpage.html
501
509
  - docker/rails/TestSite/public/wovn_index.html
502
510
  - docker/rails/TestSite/start.sh
511
+ - docker/rails/TestSite/start_rails.sh
503
512
  - docker/rails/TestSite/storage/.keep
504
513
  - docker/rails/TestSite/test/application_system_test_case.rb
505
514
  - docker/rails/TestSite/test/channels/application_cable/connection_test.rb
@@ -515,6 +524,10 @@ files:
515
524
  - docker/rails/TestSite/test/system/.keep
516
525
  - docker/rails/TestSite/test/test_helper.rb
517
526
  - docker/rails/TestSite/yarn.lock
527
+ - docker/scripts/jenkins/build.sh
528
+ - docker/scripts/jenkins/tag_and_push_image.sh
529
+ - docker/scripts/jenkins/taskdef.json
530
+ - docker/scripts/jenkins/taskdef.json.bak
518
531
  - lib/wovnrb.rb
519
532
  - lib/wovnrb/api_translator.rb
520
533
  - lib/wovnrb/headers.rb
@@ -524,9 +537,11 @@ files:
524
537
  - lib/wovnrb/services/glob.rb
525
538
  - lib/wovnrb/services/html_converter.rb
526
539
  - lib/wovnrb/services/html_replace_marker.rb
540
+ - lib/wovnrb/services/url.rb
527
541
  - lib/wovnrb/services/wovn_logger.rb
528
542
  - lib/wovnrb/settings.rb
529
543
  - lib/wovnrb/store.rb
544
+ - lib/wovnrb/url_language_switcher.rb
530
545
  - lib/wovnrb/version.rb
531
546
  - makefile
532
547
  - test/fixtures/html/test.html
@@ -537,8 +552,10 @@ files:
537
552
  - test/lib/services/glob_test.rb
538
553
  - test/lib/services/html_converter_test.rb
539
554
  - test/lib/services/html_replace_marker_test.rb
555
+ - test/lib/services/url_test.rb
540
556
  - test/lib/services/wovn_logger_test.rb
541
557
  - test/lib/store_test.rb
558
+ - test/lib/url_language_switcher_test.rb
542
559
  - test/lib/wovnrb_test.rb
543
560
  - test/test_helper.rb
544
561
  - wovnrb.gemspec
@@ -562,7 +579,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
562
579
  - !ruby/object:Gem::Version
563
580
  version: '0'
564
581
  requirements: []
565
- rubygems_version: 3.2.3
582
+ rubygems_version: 3.1.4
566
583
  signing_key:
567
584
  specification_version: 4
568
585
  summary: Gem for WOVN.io
@@ -575,7 +592,9 @@ test_files:
575
592
  - test/lib/services/glob_test.rb
576
593
  - test/lib/services/html_converter_test.rb
577
594
  - test/lib/services/html_replace_marker_test.rb
595
+ - test/lib/services/url_test.rb
578
596
  - test/lib/services/wovn_logger_test.rb
579
597
  - test/lib/store_test.rb
598
+ - test/lib/url_language_switcher_test.rb
580
599
  - test/lib/wovnrb_test.rb
581
600
  - test/test_helper.rb