├── .coveralls.yml ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── pull_request_template.md └── workflows │ ├── build.yml │ └── gem-push.yml ├── .gitignore ├── .reek.yml ├── .remarkrc ├── .rubocop.yml ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Gemfile ├── Gemfile.lock ├── Guardfile ├── LICENSE ├── README.md ├── Rakefile ├── SUMMARY.md ├── bin └── tshield ├── component_tests ├── config.yml ├── grpc_server.rb ├── matching │ ├── conflicts.json │ └── examples │ │ ├── content.json │ │ ├── delay_session.json │ │ ├── file.json │ │ ├── multiple_response.json │ │ ├── regex.json │ │ ├── simple_path.json │ │ └── two_sessions.json ├── proto │ ├── helloworld.proto │ ├── helloworld_pb.rb │ └── helloworld_services_pb.rb ├── run ├── server.rb └── windows_compatibility.yml ├── config └── tshield.yml ├── examples ├── client-api-nodejs │ ├── README.md │ ├── client-api │ │ ├── application.js │ │ ├── config.js │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── src │ │ │ ├── gateways │ │ │ │ ├── client │ │ │ │ │ ├── marvelClient.js │ │ │ │ │ └── tenorClient.js │ │ │ │ └── http │ │ │ │ │ ├── marvelController.js │ │ │ │ │ └── router.js │ │ │ └── usecases │ │ │ │ ├── getCharacterGif.js │ │ │ │ ├── getCharacterInfo.js │ │ │ │ └── getGif.js │ │ └── swaggerDoc.js │ └── mock-server │ │ ├── Gemfile │ │ ├── Gemfile.lock │ │ ├── config │ │ └── tshield.yml │ │ └── requests │ │ ├── marvel │ │ ├── v1-public-characters?nameStartsWith=hulk&limit=1&offset=0 │ │ │ └── get │ │ │ │ ├── 0.content │ │ │ │ └── 0.json │ │ ├── v1-public-characters?nameStartsWith=spider%20man&limit=1&offset=0 │ │ │ └── get │ │ │ │ ├── 0.content │ │ │ │ └── 0.json │ │ └── v1-public-characters?nameStartsWith=spider-man&limit=1&offset=0 │ │ │ └── get │ │ │ ├── 0.content │ │ │ └── 0.json │ │ └── tenor │ │ ├── v1-search?q=Character%20not%20found&limit=1&media_filter=minimal │ │ └── get │ │ │ ├── 0.content │ │ │ └── 0.json │ │ ├── v1-search?q=Hulk&limit=1&media_filter=minimal │ │ └── get │ │ │ ├── 0.content │ │ │ └── 0.json │ │ └── v1-search?q=Spider-Man&limit=1&media_filter=minimal │ │ └── get │ │ ├── 0.content │ │ └── 0.json └── component-test │ ├── README.md │ └── app │ ├── application.js │ ├── config.js │ ├── package-lock.json │ ├── package.json │ ├── src │ ├── gateways │ │ ├── client │ │ │ ├── marvelClient.js │ │ │ └── tenorClient.js │ │ └── http │ │ │ ├── router.js │ │ │ └── searchController.js │ └── usecases │ │ ├── getCharacterGif.js │ │ ├── getCharacterInfo.js │ │ └── getGif.js │ ├── tests │ └── components │ │ ├── Gemfile │ │ ├── Gemfile.lock │ │ ├── config │ │ ├── environments.yml │ │ └── tshield.yml │ │ ├── features │ │ ├── home.feature │ │ ├── step_definitions │ │ │ └── home_steps.rb │ │ └── support │ │ │ ├── env.rb │ │ │ ├── helpers │ │ │ ├── browsers.rb │ │ │ └── tshield.rb │ │ │ ├── hooks.rb │ │ │ └── pages │ │ │ └── home_page.rb │ │ └── requests │ │ ├── empty │ │ ├── marvel │ │ │ └── v1-public-characters?nameStartsWith=ironman&limit=1&offset=0 │ │ │ │ └── get │ │ │ │ ├── 0.content │ │ │ │ └── 0.json │ │ └── tenor │ │ │ └── v1-search?q=Character%20not%20found&limit=1&media_filter=minimal │ │ │ └── get │ │ │ ├── 0.content │ │ │ └── 0.json │ │ ├── error on marvel │ │ └── marvel │ │ │ └── v1-public-characters?nameStartsWith=some&limit=1&offset=0 │ │ │ └── get │ │ │ ├── 0.content │ │ │ └── 0.json │ │ ├── error on tenor │ │ ├── marvel │ │ │ └── v1-public-characters?nameStartsWith=some&limit=1&offset=0 │ │ │ │ └── get │ │ │ │ ├── 0.content │ │ │ │ └── 0.json │ │ └── tenor │ │ │ └── v1-search?q=Character%20not%20found&limit=1&media_filter=minimal │ │ │ └── get │ │ │ ├── 0.content │ │ │ └── 0.json │ │ └── valid │ │ ├── marvel │ │ └── v1-public-characters?nameStartsWith=hulk&limit=1&offset=0 │ │ │ └── get │ │ │ ├── 0.content │ │ │ └── 0.json │ │ └── tenor │ │ └── v1-search?q=Hulk&limit=1&media_filter=minimal │ │ └── get │ │ ├── 0.content │ │ └── 0.json │ └── views │ ├── home.handlebars │ └── layouts │ └── main.handlebars ├── features ├── grpc-vcr.feature ├── matching-with-regex.feature ├── matching-with-session.feature ├── matching.feature ├── step_definitions │ ├── grpc_steps.rb │ ├── matching_steps.rb │ ├── sessions_steps.rb │ ├── tshield_steps.rb │ └── vcr_steps.rb ├── support │ ├── env.rb │ ├── helpers │ │ ├── grpc_helpers.rb │ │ ├── requests_helpers.rb │ │ ├── tshield_helpers.rb │ │ ├── users_helpers.rb │ │ └── vcr_helpers.rb │ └── hooks.rb ├── vcr-with-session.feature └── vcr.feature ├── lib ├── tshield.rb └── tshield │ ├── after_filter.rb │ ├── before_filter.rb │ ├── configuration.rb │ ├── controller.rb │ ├── controllers │ ├── helpers │ │ └── session_helpers.rb │ ├── requests.rb │ └── sessions.rb │ ├── counter.rb │ ├── errors.rb │ ├── extensions │ └── string_extensions.rb │ ├── grpc.rb │ ├── grpc │ ├── grpc_counter.rb │ └── vcr.rb │ ├── logger.rb │ ├── matching │ └── filters.rb │ ├── options.rb │ ├── request.rb │ ├── request_matching.rb │ ├── request_vcr.rb │ ├── response.rb │ ├── server.rb │ ├── sessions.rb │ └── version.rb ├── spec ├── spec_helper.rb └── tshield │ ├── after_filter_spec.rb │ ├── configuration_spec.rb │ ├── controllers │ └── requests_spec.rb │ ├── fixtures │ ├── config │ │ ├── tshield-with-send-content-type-header.yml │ │ ├── tshield-with-send-content-type-header_as_false.yml │ │ ├── tshield-without-grpc.yml │ │ └── tshield.yml │ ├── filters │ │ └── example_filter.rb │ ├── matching │ │ └── example.json │ └── proto │ │ └── test_services_pb.rb │ ├── grpc_spec.rb │ ├── options_spec.rb │ ├── request_matching_spec.rb │ ├── request_vcr_spec.rb │ └── sessions_spec.rb └── tshield.gemspec /.coveralls.yml: -------------------------------------------------------------------------------- 1 | service_name: github 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/.github/pull_request_template.md -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/.github/workflows/build.yml -------------------------------------------------------------------------------- /.github/workflows/gem-push.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/.github/workflows/gem-push.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/.gitignore -------------------------------------------------------------------------------- /.reek.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/.reek.yml -------------------------------------------------------------------------------- /.remarkrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/.remarkrc -------------------------------------------------------------------------------- /.rubocop.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/.rubocop.yml -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/Gemfile -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/Gemfile.lock -------------------------------------------------------------------------------- /Guardfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/Guardfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/README.md -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/Rakefile -------------------------------------------------------------------------------- /SUMMARY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/SUMMARY.md -------------------------------------------------------------------------------- /bin/tshield: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/bin/tshield -------------------------------------------------------------------------------- /component_tests/config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/component_tests/config.yml -------------------------------------------------------------------------------- /component_tests/grpc_server.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/component_tests/grpc_server.rb -------------------------------------------------------------------------------- /component_tests/matching/conflicts.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/component_tests/matching/conflicts.json -------------------------------------------------------------------------------- /component_tests/matching/examples/content.json: -------------------------------------------------------------------------------- 1 | { 2 | "message": "content of file" 3 | } 4 | -------------------------------------------------------------------------------- /component_tests/matching/examples/delay_session.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/component_tests/matching/examples/delay_session.json -------------------------------------------------------------------------------- /component_tests/matching/examples/file.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/component_tests/matching/examples/file.json -------------------------------------------------------------------------------- /component_tests/matching/examples/multiple_response.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/component_tests/matching/examples/multiple_response.json -------------------------------------------------------------------------------- /component_tests/matching/examples/regex.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/component_tests/matching/examples/regex.json -------------------------------------------------------------------------------- /component_tests/matching/examples/simple_path.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/component_tests/matching/examples/simple_path.json -------------------------------------------------------------------------------- /component_tests/matching/examples/two_sessions.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/component_tests/matching/examples/two_sessions.json -------------------------------------------------------------------------------- /component_tests/proto/helloworld.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/component_tests/proto/helloworld.proto -------------------------------------------------------------------------------- /component_tests/proto/helloworld_pb.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/component_tests/proto/helloworld_pb.rb -------------------------------------------------------------------------------- /component_tests/proto/helloworld_services_pb.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/component_tests/proto/helloworld_services_pb.rb -------------------------------------------------------------------------------- /component_tests/run: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/component_tests/run -------------------------------------------------------------------------------- /component_tests/server.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/component_tests/server.rb -------------------------------------------------------------------------------- /component_tests/windows_compatibility.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/component_tests/windows_compatibility.yml -------------------------------------------------------------------------------- /config/tshield.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/config/tshield.yml -------------------------------------------------------------------------------- /examples/client-api-nodejs/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/client-api-nodejs/README.md -------------------------------------------------------------------------------- /examples/client-api-nodejs/client-api/application.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/client-api-nodejs/client-api/application.js -------------------------------------------------------------------------------- /examples/client-api-nodejs/client-api/config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/client-api-nodejs/client-api/config.js -------------------------------------------------------------------------------- /examples/client-api-nodejs/client-api/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/client-api-nodejs/client-api/package-lock.json -------------------------------------------------------------------------------- /examples/client-api-nodejs/client-api/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/client-api-nodejs/client-api/package.json -------------------------------------------------------------------------------- /examples/client-api-nodejs/client-api/src/gateways/client/marvelClient.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/client-api-nodejs/client-api/src/gateways/client/marvelClient.js -------------------------------------------------------------------------------- /examples/client-api-nodejs/client-api/src/gateways/client/tenorClient.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/client-api-nodejs/client-api/src/gateways/client/tenorClient.js -------------------------------------------------------------------------------- /examples/client-api-nodejs/client-api/src/gateways/http/marvelController.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/client-api-nodejs/client-api/src/gateways/http/marvelController.js -------------------------------------------------------------------------------- /examples/client-api-nodejs/client-api/src/gateways/http/router.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/client-api-nodejs/client-api/src/gateways/http/router.js -------------------------------------------------------------------------------- /examples/client-api-nodejs/client-api/src/usecases/getCharacterGif.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/client-api-nodejs/client-api/src/usecases/getCharacterGif.js -------------------------------------------------------------------------------- /examples/client-api-nodejs/client-api/src/usecases/getCharacterInfo.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/client-api-nodejs/client-api/src/usecases/getCharacterInfo.js -------------------------------------------------------------------------------- /examples/client-api-nodejs/client-api/src/usecases/getGif.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/client-api-nodejs/client-api/src/usecases/getGif.js -------------------------------------------------------------------------------- /examples/client-api-nodejs/client-api/swaggerDoc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/client-api-nodejs/client-api/swaggerDoc.js -------------------------------------------------------------------------------- /examples/client-api-nodejs/mock-server/Gemfile: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | 3 | gem 'tshield' 4 | -------------------------------------------------------------------------------- /examples/client-api-nodejs/mock-server/Gemfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/client-api-nodejs/mock-server/Gemfile.lock -------------------------------------------------------------------------------- /examples/client-api-nodejs/mock-server/config/tshield.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/client-api-nodejs/mock-server/config/tshield.yml -------------------------------------------------------------------------------- /examples/client-api-nodejs/mock-server/requests/marvel/v1-public-characters?nameStartsWith=hulk&limit=1&offset=0/get/0.content: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/client-api-nodejs/mock-server/requests/marvel/v1-public-characters?nameStartsWith=hulk&limit=1&offset=0/get/0.content -------------------------------------------------------------------------------- /examples/client-api-nodejs/mock-server/requests/marvel/v1-public-characters?nameStartsWith=hulk&limit=1&offset=0/get/0.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/client-api-nodejs/mock-server/requests/marvel/v1-public-characters?nameStartsWith=hulk&limit=1&offset=0/get/0.json -------------------------------------------------------------------------------- /examples/client-api-nodejs/mock-server/requests/marvel/v1-public-characters?nameStartsWith=spider%20man&limit=1&offset=0/get/0.content: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/client-api-nodejs/mock-server/requests/marvel/v1-public-characters?nameStartsWith=spider%20man&limit=1&offset=0/get/0.content -------------------------------------------------------------------------------- /examples/client-api-nodejs/mock-server/requests/marvel/v1-public-characters?nameStartsWith=spider%20man&limit=1&offset=0/get/0.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/client-api-nodejs/mock-server/requests/marvel/v1-public-characters?nameStartsWith=spider%20man&limit=1&offset=0/get/0.json -------------------------------------------------------------------------------- /examples/client-api-nodejs/mock-server/requests/marvel/v1-public-characters?nameStartsWith=spider-man&limit=1&offset=0/get/0.content: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/client-api-nodejs/mock-server/requests/marvel/v1-public-characters?nameStartsWith=spider-man&limit=1&offset=0/get/0.content -------------------------------------------------------------------------------- /examples/client-api-nodejs/mock-server/requests/marvel/v1-public-characters?nameStartsWith=spider-man&limit=1&offset=0/get/0.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/client-api-nodejs/mock-server/requests/marvel/v1-public-characters?nameStartsWith=spider-man&limit=1&offset=0/get/0.json -------------------------------------------------------------------------------- /examples/client-api-nodejs/mock-server/requests/tenor/v1-search?q=Character%20not%20found&limit=1&media_filter=minimal/get/0.content: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/client-api-nodejs/mock-server/requests/tenor/v1-search?q=Character%20not%20found&limit=1&media_filter=minimal/get/0.content -------------------------------------------------------------------------------- /examples/client-api-nodejs/mock-server/requests/tenor/v1-search?q=Character%20not%20found&limit=1&media_filter=minimal/get/0.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/client-api-nodejs/mock-server/requests/tenor/v1-search?q=Character%20not%20found&limit=1&media_filter=minimal/get/0.json -------------------------------------------------------------------------------- /examples/client-api-nodejs/mock-server/requests/tenor/v1-search?q=Hulk&limit=1&media_filter=minimal/get/0.content: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/client-api-nodejs/mock-server/requests/tenor/v1-search?q=Hulk&limit=1&media_filter=minimal/get/0.content -------------------------------------------------------------------------------- /examples/client-api-nodejs/mock-server/requests/tenor/v1-search?q=Hulk&limit=1&media_filter=minimal/get/0.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/client-api-nodejs/mock-server/requests/tenor/v1-search?q=Hulk&limit=1&media_filter=minimal/get/0.json -------------------------------------------------------------------------------- /examples/client-api-nodejs/mock-server/requests/tenor/v1-search?q=Spider-Man&limit=1&media_filter=minimal/get/0.content: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/client-api-nodejs/mock-server/requests/tenor/v1-search?q=Spider-Man&limit=1&media_filter=minimal/get/0.content -------------------------------------------------------------------------------- /examples/client-api-nodejs/mock-server/requests/tenor/v1-search?q=Spider-Man&limit=1&media_filter=minimal/get/0.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/client-api-nodejs/mock-server/requests/tenor/v1-search?q=Spider-Man&limit=1&media_filter=minimal/get/0.json -------------------------------------------------------------------------------- /examples/component-test/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/README.md -------------------------------------------------------------------------------- /examples/component-test/app/application.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/application.js -------------------------------------------------------------------------------- /examples/component-test/app/config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/config.js -------------------------------------------------------------------------------- /examples/component-test/app/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/package-lock.json -------------------------------------------------------------------------------- /examples/component-test/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/package.json -------------------------------------------------------------------------------- /examples/component-test/app/src/gateways/client/marvelClient.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/src/gateways/client/marvelClient.js -------------------------------------------------------------------------------- /examples/component-test/app/src/gateways/client/tenorClient.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/src/gateways/client/tenorClient.js -------------------------------------------------------------------------------- /examples/component-test/app/src/gateways/http/router.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/src/gateways/http/router.js -------------------------------------------------------------------------------- /examples/component-test/app/src/gateways/http/searchController.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/src/gateways/http/searchController.js -------------------------------------------------------------------------------- /examples/component-test/app/src/usecases/getCharacterGif.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/src/usecases/getCharacterGif.js -------------------------------------------------------------------------------- /examples/component-test/app/src/usecases/getCharacterInfo.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/src/usecases/getCharacterInfo.js -------------------------------------------------------------------------------- /examples/component-test/app/src/usecases/getGif.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/src/usecases/getGif.js -------------------------------------------------------------------------------- /examples/component-test/app/tests/components/Gemfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/tests/components/Gemfile -------------------------------------------------------------------------------- /examples/component-test/app/tests/components/Gemfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/tests/components/Gemfile.lock -------------------------------------------------------------------------------- /examples/component-test/app/tests/components/config/environments.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/tests/components/config/environments.yml -------------------------------------------------------------------------------- /examples/component-test/app/tests/components/config/tshield.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/tests/components/config/tshield.yml -------------------------------------------------------------------------------- /examples/component-test/app/tests/components/features/home.feature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/tests/components/features/home.feature -------------------------------------------------------------------------------- /examples/component-test/app/tests/components/features/step_definitions/home_steps.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/tests/components/features/step_definitions/home_steps.rb -------------------------------------------------------------------------------- /examples/component-test/app/tests/components/features/support/env.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/tests/components/features/support/env.rb -------------------------------------------------------------------------------- /examples/component-test/app/tests/components/features/support/helpers/browsers.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/tests/components/features/support/helpers/browsers.rb -------------------------------------------------------------------------------- /examples/component-test/app/tests/components/features/support/helpers/tshield.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/tests/components/features/support/helpers/tshield.rb -------------------------------------------------------------------------------- /examples/component-test/app/tests/components/features/support/hooks.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/tests/components/features/support/hooks.rb -------------------------------------------------------------------------------- /examples/component-test/app/tests/components/features/support/pages/home_page.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/tests/components/features/support/pages/home_page.rb -------------------------------------------------------------------------------- /examples/component-test/app/tests/components/requests/empty/marvel/v1-public-characters?nameStartsWith=ironman&limit=1&offset=0/get/0.content: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/tests/components/requests/empty/marvel/v1-public-characters?nameStartsWith=ironman&limit=1&offset=0/get/0.content -------------------------------------------------------------------------------- /examples/component-test/app/tests/components/requests/empty/marvel/v1-public-characters?nameStartsWith=ironman&limit=1&offset=0/get/0.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/tests/components/requests/empty/marvel/v1-public-characters?nameStartsWith=ironman&limit=1&offset=0/get/0.json -------------------------------------------------------------------------------- /examples/component-test/app/tests/components/requests/empty/tenor/v1-search?q=Character%20not%20found&limit=1&media_filter=minimal/get/0.content: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/tests/components/requests/empty/tenor/v1-search?q=Character%20not%20found&limit=1&media_filter=minimal/get/0.content -------------------------------------------------------------------------------- /examples/component-test/app/tests/components/requests/empty/tenor/v1-search?q=Character%20not%20found&limit=1&media_filter=minimal/get/0.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/tests/components/requests/empty/tenor/v1-search?q=Character%20not%20found&limit=1&media_filter=minimal/get/0.json -------------------------------------------------------------------------------- /examples/component-test/app/tests/components/requests/error on marvel/marvel/v1-public-characters?nameStartsWith=some&limit=1&offset=0/get/0.content: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/component-test/app/tests/components/requests/error on marvel/marvel/v1-public-characters?nameStartsWith=some&limit=1&offset=0/get/0.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/tests/components/requests/error on marvel/marvel/v1-public-characters?nameStartsWith=some&limit=1&offset=0/get/0.json -------------------------------------------------------------------------------- /examples/component-test/app/tests/components/requests/error on tenor/marvel/v1-public-characters?nameStartsWith=some&limit=1&offset=0/get/0.content: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/tests/components/requests/error on tenor/marvel/v1-public-characters?nameStartsWith=some&limit=1&offset=0/get/0.content -------------------------------------------------------------------------------- /examples/component-test/app/tests/components/requests/error on tenor/marvel/v1-public-characters?nameStartsWith=some&limit=1&offset=0/get/0.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/tests/components/requests/error on tenor/marvel/v1-public-characters?nameStartsWith=some&limit=1&offset=0/get/0.json -------------------------------------------------------------------------------- /examples/component-test/app/tests/components/requests/error on tenor/tenor/v1-search?q=Character%20not%20found&limit=1&media_filter=minimal/get/0.content: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/component-test/app/tests/components/requests/error on tenor/tenor/v1-search?q=Character%20not%20found&limit=1&media_filter=minimal/get/0.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/tests/components/requests/error on tenor/tenor/v1-search?q=Character%20not%20found&limit=1&media_filter=minimal/get/0.json -------------------------------------------------------------------------------- /examples/component-test/app/tests/components/requests/valid/marvel/v1-public-characters?nameStartsWith=hulk&limit=1&offset=0/get/0.content: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/tests/components/requests/valid/marvel/v1-public-characters?nameStartsWith=hulk&limit=1&offset=0/get/0.content -------------------------------------------------------------------------------- /examples/component-test/app/tests/components/requests/valid/marvel/v1-public-characters?nameStartsWith=hulk&limit=1&offset=0/get/0.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/tests/components/requests/valid/marvel/v1-public-characters?nameStartsWith=hulk&limit=1&offset=0/get/0.json -------------------------------------------------------------------------------- /examples/component-test/app/tests/components/requests/valid/tenor/v1-search?q=Hulk&limit=1&media_filter=minimal/get/0.content: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/tests/components/requests/valid/tenor/v1-search?q=Hulk&limit=1&media_filter=minimal/get/0.content -------------------------------------------------------------------------------- /examples/component-test/app/tests/components/requests/valid/tenor/v1-search?q=Hulk&limit=1&media_filter=minimal/get/0.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/tests/components/requests/valid/tenor/v1-search?q=Hulk&limit=1&media_filter=minimal/get/0.json -------------------------------------------------------------------------------- /examples/component-test/app/views/home.handlebars: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/views/home.handlebars -------------------------------------------------------------------------------- /examples/component-test/app/views/layouts/main.handlebars: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/examples/component-test/app/views/layouts/main.handlebars -------------------------------------------------------------------------------- /features/grpc-vcr.feature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/features/grpc-vcr.feature -------------------------------------------------------------------------------- /features/matching-with-regex.feature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/features/matching-with-regex.feature -------------------------------------------------------------------------------- /features/matching-with-session.feature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/features/matching-with-session.feature -------------------------------------------------------------------------------- /features/matching.feature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/features/matching.feature -------------------------------------------------------------------------------- /features/step_definitions/grpc_steps.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/features/step_definitions/grpc_steps.rb -------------------------------------------------------------------------------- /features/step_definitions/matching_steps.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/features/step_definitions/matching_steps.rb -------------------------------------------------------------------------------- /features/step_definitions/sessions_steps.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/features/step_definitions/sessions_steps.rb -------------------------------------------------------------------------------- /features/step_definitions/tshield_steps.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/features/step_definitions/tshield_steps.rb -------------------------------------------------------------------------------- /features/step_definitions/vcr_steps.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/features/step_definitions/vcr_steps.rb -------------------------------------------------------------------------------- /features/support/env.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/features/support/env.rb -------------------------------------------------------------------------------- /features/support/helpers/grpc_helpers.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/features/support/helpers/grpc_helpers.rb -------------------------------------------------------------------------------- /features/support/helpers/requests_helpers.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/features/support/helpers/requests_helpers.rb -------------------------------------------------------------------------------- /features/support/helpers/tshield_helpers.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/features/support/helpers/tshield_helpers.rb -------------------------------------------------------------------------------- /features/support/helpers/users_helpers.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/features/support/helpers/users_helpers.rb -------------------------------------------------------------------------------- /features/support/helpers/vcr_helpers.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/features/support/helpers/vcr_helpers.rb -------------------------------------------------------------------------------- /features/support/hooks.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/features/support/hooks.rb -------------------------------------------------------------------------------- /features/vcr-with-session.feature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/features/vcr-with-session.feature -------------------------------------------------------------------------------- /features/vcr.feature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/features/vcr.feature -------------------------------------------------------------------------------- /lib/tshield.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/lib/tshield.rb -------------------------------------------------------------------------------- /lib/tshield/after_filter.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/lib/tshield/after_filter.rb -------------------------------------------------------------------------------- /lib/tshield/before_filter.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/lib/tshield/before_filter.rb -------------------------------------------------------------------------------- /lib/tshield/configuration.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/lib/tshield/configuration.rb -------------------------------------------------------------------------------- /lib/tshield/controller.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/lib/tshield/controller.rb -------------------------------------------------------------------------------- /lib/tshield/controllers/helpers/session_helpers.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/lib/tshield/controllers/helpers/session_helpers.rb -------------------------------------------------------------------------------- /lib/tshield/controllers/requests.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/lib/tshield/controllers/requests.rb -------------------------------------------------------------------------------- /lib/tshield/controllers/sessions.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/lib/tshield/controllers/sessions.rb -------------------------------------------------------------------------------- /lib/tshield/counter.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/lib/tshield/counter.rb -------------------------------------------------------------------------------- /lib/tshield/errors.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/lib/tshield/errors.rb -------------------------------------------------------------------------------- /lib/tshield/extensions/string_extensions.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/lib/tshield/extensions/string_extensions.rb -------------------------------------------------------------------------------- /lib/tshield/grpc.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/lib/tshield/grpc.rb -------------------------------------------------------------------------------- /lib/tshield/grpc/grpc_counter.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/lib/tshield/grpc/grpc_counter.rb -------------------------------------------------------------------------------- /lib/tshield/grpc/vcr.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/lib/tshield/grpc/vcr.rb -------------------------------------------------------------------------------- /lib/tshield/logger.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/lib/tshield/logger.rb -------------------------------------------------------------------------------- /lib/tshield/matching/filters.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/lib/tshield/matching/filters.rb -------------------------------------------------------------------------------- /lib/tshield/options.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/lib/tshield/options.rb -------------------------------------------------------------------------------- /lib/tshield/request.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/lib/tshield/request.rb -------------------------------------------------------------------------------- /lib/tshield/request_matching.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/lib/tshield/request_matching.rb -------------------------------------------------------------------------------- /lib/tshield/request_vcr.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/lib/tshield/request_vcr.rb -------------------------------------------------------------------------------- /lib/tshield/response.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/lib/tshield/response.rb -------------------------------------------------------------------------------- /lib/tshield/server.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/lib/tshield/server.rb -------------------------------------------------------------------------------- /lib/tshield/sessions.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/lib/tshield/sessions.rb -------------------------------------------------------------------------------- /lib/tshield/version.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/lib/tshield/version.rb -------------------------------------------------------------------------------- /spec/spec_helper.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/spec/spec_helper.rb -------------------------------------------------------------------------------- /spec/tshield/after_filter_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/spec/tshield/after_filter_spec.rb -------------------------------------------------------------------------------- /spec/tshield/configuration_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/spec/tshield/configuration_spec.rb -------------------------------------------------------------------------------- /spec/tshield/controllers/requests_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/spec/tshield/controllers/requests_spec.rb -------------------------------------------------------------------------------- /spec/tshield/fixtures/config/tshield-with-send-content-type-header.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/spec/tshield/fixtures/config/tshield-with-send-content-type-header.yml -------------------------------------------------------------------------------- /spec/tshield/fixtures/config/tshield-with-send-content-type-header_as_false.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/spec/tshield/fixtures/config/tshield-with-send-content-type-header_as_false.yml -------------------------------------------------------------------------------- /spec/tshield/fixtures/config/tshield-without-grpc.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/spec/tshield/fixtures/config/tshield-without-grpc.yml -------------------------------------------------------------------------------- /spec/tshield/fixtures/config/tshield.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/spec/tshield/fixtures/config/tshield.yml -------------------------------------------------------------------------------- /spec/tshield/fixtures/filters/example_filter.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/spec/tshield/fixtures/filters/example_filter.rb -------------------------------------------------------------------------------- /spec/tshield/fixtures/matching/example.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/spec/tshield/fixtures/matching/example.json -------------------------------------------------------------------------------- /spec/tshield/fixtures/proto/test_services_pb.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/spec/tshield/fixtures/proto/test_services_pb.rb -------------------------------------------------------------------------------- /spec/tshield/grpc_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/spec/tshield/grpc_spec.rb -------------------------------------------------------------------------------- /spec/tshield/options_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/spec/tshield/options_spec.rb -------------------------------------------------------------------------------- /spec/tshield/request_matching_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/spec/tshield/request_matching_spec.rb -------------------------------------------------------------------------------- /spec/tshield/request_vcr_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/spec/tshield/request_vcr_spec.rb -------------------------------------------------------------------------------- /spec/tshield/sessions_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/spec/tshield/sessions_spec.rb -------------------------------------------------------------------------------- /tshield.gemspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegorubin/tshield/HEAD/tshield.gemspec --------------------------------------------------------------------------------