securenative 0.1.23 → 0.1.29

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 (107) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +43 -29
  3. data/lib/securenative.rb +47 -81
  4. data/{out/test/securenative-ruby → spec}/spec_helper.rb +0 -0
  5. metadata +8 -109
  6. data/.github/workflows/ci.yml +0 -49
  7. data/.github/workflows/publish.yml +0 -60
  8. data/.github/workflows/test.yml +0 -48
  9. data/.gitignore +0 -40
  10. data/.rakeTasks +0 -7
  11. data/.rspec +0 -3
  12. data/Gemfile +0 -11
  13. data/Gemfile.lock +0 -272
  14. data/LICENSE +0 -21
  15. data/Rakefile +0 -6
  16. data/bin/console +0 -14
  17. data/bin/setup +0 -8
  18. data/lib/api_manager.rb +0 -39
  19. data/lib/config/configuration_builder.rb +0 -27
  20. data/lib/config/configuration_manager.rb +0 -56
  21. data/lib/config/securenative_options.rb +0 -23
  22. data/lib/context/hanami_context.rb +0 -42
  23. data/lib/context/rails_context.rb +0 -44
  24. data/lib/context/securenative_context.rb +0 -67
  25. data/lib/context/sinatra_context.rb +0 -42
  26. data/lib/enums/api_route.rb +0 -6
  27. data/lib/enums/event_types.rb +0 -23
  28. data/lib/enums/failover_strategy.rb +0 -6
  29. data/lib/enums/risk_level.rb +0 -7
  30. data/lib/errors/securenative_config_error.rb +0 -4
  31. data/lib/errors/securenative_http_error.rb +0 -4
  32. data/lib/errors/securenative_invalid_options_error.rb +0 -4
  33. data/lib/errors/securenative_invalid_uri_error.rb +0 -4
  34. data/lib/errors/securenative_parse_error.rb +0 -4
  35. data/lib/errors/securenative_sdk_Illegal_state_error.rb +0 -4
  36. data/lib/errors/securenative_sdk_error.rb +0 -4
  37. data/lib/event_manager.rb +0 -157
  38. data/lib/http/secure_native_http_response.rb +0 -12
  39. data/lib/http/securenative_http_client.rb +0 -50
  40. data/lib/models/client_token.rb +0 -12
  41. data/lib/models/device.rb +0 -10
  42. data/lib/models/event_options.rb +0 -37
  43. data/lib/models/request_context.rb +0 -18
  44. data/lib/models/request_options.rb +0 -12
  45. data/lib/models/sdk_event.rb +0 -49
  46. data/lib/models/user_traits.rb +0 -13
  47. data/lib/models/verify_result.rb +0 -16
  48. data/lib/utils/date_utils.rb +0 -9
  49. data/lib/utils/encryption_utils.rb +0 -49
  50. data/lib/utils/ip_utils.rb +0 -23
  51. data/lib/utils/request_utils.rb +0 -69
  52. data/lib/utils/secure_native_logger.rb +0 -44
  53. data/lib/utils/signature_utils.rb +0 -16
  54. data/lib/utils/utils.rb +0 -9
  55. data/lib/utils/version_utils.rb +0 -11
  56. data/out/production/securenative-ruby/api_manager.rb +0 -39
  57. data/out/production/securenative-ruby/config/configuration_builder.rb +0 -27
  58. data/out/production/securenative-ruby/config/configuration_manager.rb +0 -56
  59. data/out/production/securenative-ruby/config/securenative_options.rb +0 -23
  60. data/out/production/securenative-ruby/context/hanami_context.rb +0 -42
  61. data/out/production/securenative-ruby/context/rails_context.rb +0 -44
  62. data/out/production/securenative-ruby/context/securenative_context.rb +0 -67
  63. data/out/production/securenative-ruby/context/sinatra_context.rb +0 -42
  64. data/out/production/securenative-ruby/enums/api_route.rb +0 -6
  65. data/out/production/securenative-ruby/enums/event_types.rb +0 -23
  66. data/out/production/securenative-ruby/enums/failover_strategy.rb +0 -6
  67. data/out/production/securenative-ruby/enums/risk_level.rb +0 -7
  68. data/out/production/securenative-ruby/errors/securenative_config_error.rb +0 -4
  69. data/out/production/securenative-ruby/errors/securenative_http_error.rb +0 -4
  70. data/out/production/securenative-ruby/errors/securenative_invalid_options_error.rb +0 -4
  71. data/out/production/securenative-ruby/errors/securenative_invalid_uri_error.rb +0 -4
  72. data/out/production/securenative-ruby/errors/securenative_parse_error.rb +0 -4
  73. data/out/production/securenative-ruby/errors/securenative_sdk_Illegal_state_error.rb +0 -4
  74. data/out/production/securenative-ruby/errors/securenative_sdk_error.rb +0 -4
  75. data/out/production/securenative-ruby/event_manager.rb +0 -157
  76. data/out/production/securenative-ruby/http/secure_native_http_response.rb +0 -12
  77. data/out/production/securenative-ruby/http/securenative_http_client.rb +0 -50
  78. data/out/production/securenative-ruby/models/client_token.rb +0 -12
  79. data/out/production/securenative-ruby/models/device.rb +0 -10
  80. data/out/production/securenative-ruby/models/event_options.rb +0 -37
  81. data/out/production/securenative-ruby/models/request_context.rb +0 -18
  82. data/out/production/securenative-ruby/models/request_options.rb +0 -12
  83. data/out/production/securenative-ruby/models/sdk_event.rb +0 -49
  84. data/out/production/securenative-ruby/models/user_traits.rb +0 -13
  85. data/out/production/securenative-ruby/models/verify_result.rb +0 -16
  86. data/out/production/securenative-ruby/securenative.rb +0 -83
  87. data/out/production/securenative-ruby/utils/date_utils.rb +0 -9
  88. data/out/production/securenative-ruby/utils/encryption_utils.rb +0 -49
  89. data/out/production/securenative-ruby/utils/ip_utils.rb +0 -23
  90. data/out/production/securenative-ruby/utils/request_utils.rb +0 -69
  91. data/out/production/securenative-ruby/utils/secure_native_logger.rb +0 -44
  92. data/out/production/securenative-ruby/utils/signature_utils.rb +0 -16
  93. data/out/production/securenative-ruby/utils/utils.rb +0 -9
  94. data/out/production/securenative-ruby/utils/version_utils.rb +0 -11
  95. data/out/test/securenative-ruby/spec_api_manager.rb +0 -87
  96. data/out/test/securenative-ruby/spec_context_builder.rb +0 -87
  97. data/out/test/securenative-ruby/spec_date_utils.rb +0 -13
  98. data/out/test/securenative-ruby/spec_encryption_utils.rb +0 -26
  99. data/out/test/securenative-ruby/spec_event_manager.rb +0 -93
  100. data/out/test/securenative-ruby/spec_ip_utils.rb +0 -41
  101. data/out/test/securenative-ruby/spec_request_utils.rb +0 -25
  102. data/out/test/securenative-ruby/spec_sdk_event.rb +0 -24
  103. data/out/test/securenative-ruby/spec_securenative.rb +0 -61
  104. data/out/test/securenative-ruby/spec_securenative_http_client.rb +0 -31
  105. data/out/test/securenative-ruby/spec_signature_utils.rb +0 -18
  106. data/out/test/securenative-ruby/spec_version_util.rb +0 -10
  107. data/securenative.gemspec +0 -28
@@ -1,31 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'http/securenative_http_client'
4
- require 'config/configuration_builder'
5
- require 'webmock/rspec'
6
- require 'rspec'
7
-
8
- RSpec.describe SecureNativeHttpClient do
9
- it 'makes a simple post call' do
10
- options = ConfigurationBuilder.new(api_key: 'YOUR_API_KEY', api_url: 'https://api.securenative-stg.com/collector/api/v1')
11
-
12
- stub_request(:post, "https://api.securenative-stg.com/collector/api/v1/track").
13
- with(
14
- body: "{\"event\": \"SOME_EVENT_NAME\"}",
15
- headers: {
16
- 'Accept'=>'*/*',
17
- 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
18
- 'Authorization'=>'YOUR_API_KEY',
19
- 'Content-Type'=>'application/json',
20
- 'Sn-Version'=>'0.1.22',
21
- 'User-Agent'=>'SecureNative-ruby'
22
- }).
23
- to_return(status: 200, body: "", headers: {})
24
- client = SecureNativeHttpClient.new(options)
25
- payload = '{"event": "SOME_EVENT_NAME"}'
26
-
27
- res = client.post('track', payload)
28
-
29
- expect(res.code).to eq('200')
30
- end
31
- end
@@ -1,18 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'utils/signature_utils'
4
- require 'rspec'
5
-
6
- RSpec.describe SignatureUtils do
7
- it 'verifies request payload' do
8
- signature = 'c4574c1748064735513697750c6223ff36b03ae3b85b160ce8788557d01e1d9d1c9cd942074323ee0061d3dcc8c94359c5acfa6eee8e2da095b3967b1a88ab73'
9
- payload = '{"id":"4a9157ffbd18cfbd73a57298","type":"security-action","flow":{"id":"62298c73a9bb433fbd1f75984a9157fd","name":"Block user that violates geo velocity"},"userId":"73a9bb433fbd1f75984a9157","userTraits":{"name":"John Doe","email":"john.doe@gmail.com"},"request":{"ip":"10.0.0.0","fp":"9bb433fb984a9157d1f7598"},"action":"block","properties":{"type":"customer"},"timestamp":"2020-02-23T22:28:55.387Z"}'
10
- secret_key = 'B00C42DAD33EAC6F6572DA756EA4915349C0A4F6'
11
-
12
- expect(SignatureUtils.valid_signature?(secret_key, payload, signature)).to be_truthy
13
- end
14
-
15
- it 'verifies request empty signature' do
16
- expect(SignatureUtils.valid_signature?('', '', 'B00C42DAD33EAC6F6572DA756EA4915349C0A4F6')).to be_falsey
17
- end
18
- end
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'utils/version_utils'
4
- require 'rspec'
5
-
6
- RSpec.describe VersionUtils do
7
- it 'checks that parsing version is valid' do
8
- expect(VersionUtils.version).not_to eq('unknown')
9
- end
10
- end
@@ -1,28 +0,0 @@
1
- lib = File.expand_path("lib", __dir__)
2
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
- require_relative "lib/utils/version_utils"
4
-
5
- Gem::Specification.new do |spec|
6
- spec.name = "securenative"
7
- spec.version = "0.1.23"
8
- spec.authors = ["SecureNative"]
9
- spec.email = ["support@securenative.com"]
10
-
11
- spec.summary = %q{SecureNative SDK for Ruby}
12
- spec.homepage = "https://www.securenative.com"
13
- spec.license = "MIT"
14
-
15
- spec.metadata["homepage_uri"] = spec.homepage
16
-
17
- # Specify which files should be added to the gem when it is released.
18
- # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
19
- spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
20
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
21
- end
22
- spec.bindir = "exe"
23
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
24
- spec.require_paths = ["lib"]
25
-
26
- spec.add_development_dependency "bundler", "~> 2.0"
27
- spec.add_development_dependency "rake", "~> 12.3.3"
28
- end