wovnrb 3.5.0 → 3.6.0

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 (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