locked-rb 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +127 -0
  3. data/lib/locked-rb.rb +3 -0
  4. data/lib/locked.rb +60 -0
  5. data/lib/locked/api.rb +40 -0
  6. data/lib/locked/api/request.rb +37 -0
  7. data/lib/locked/api/request/build.rb +29 -0
  8. data/lib/locked/api/response.rb +40 -0
  9. data/lib/locked/client.rb +66 -0
  10. data/lib/locked/command.rb +5 -0
  11. data/lib/locked/commands/authenticate.rb +23 -0
  12. data/lib/locked/commands/identify.rb +23 -0
  13. data/lib/locked/commands/review.rb +14 -0
  14. data/lib/locked/configuration.rb +75 -0
  15. data/lib/locked/context/default.rb +40 -0
  16. data/lib/locked/context/merger.rb +14 -0
  17. data/lib/locked/context/sanitizer.rb +23 -0
  18. data/lib/locked/errors.rb +41 -0
  19. data/lib/locked/extractors/client_id.rb +17 -0
  20. data/lib/locked/extractors/headers.rb +24 -0
  21. data/lib/locked/extractors/ip.rb +18 -0
  22. data/lib/locked/failover_auth_response.rb +23 -0
  23. data/lib/locked/header_formatter.rb +9 -0
  24. data/lib/locked/review.rb +11 -0
  25. data/lib/locked/secure_mode.rb +11 -0
  26. data/lib/locked/support/hanami.rb +19 -0
  27. data/lib/locked/support/padrino.rb +19 -0
  28. data/lib/locked/support/rails.rb +13 -0
  29. data/lib/locked/support/sinatra.rb +19 -0
  30. data/lib/locked/utils.rb +55 -0
  31. data/lib/locked/utils/cloner.rb +11 -0
  32. data/lib/locked/utils/merger.rb +23 -0
  33. data/lib/locked/utils/timestamp.rb +12 -0
  34. data/lib/locked/validators/not_supported.rb +16 -0
  35. data/lib/locked/validators/present.rb +16 -0
  36. data/lib/locked/version.rb +5 -0
  37. data/spec/lib/Locked/api/request/build_spec.rb +42 -0
  38. data/spec/lib/Locked/api/request_spec.rb +59 -0
  39. data/spec/lib/Locked/api/response_spec.rb +58 -0
  40. data/spec/lib/Locked/api_spec.rb +37 -0
  41. data/spec/lib/Locked/client_spec.rb +226 -0
  42. data/spec/lib/Locked/command_spec.rb +9 -0
  43. data/spec/lib/Locked/commands/authenticate_spec.rb +95 -0
  44. data/spec/lib/Locked/commands/identify_spec.rb +87 -0
  45. data/spec/lib/Locked/commands/review_spec.rb +24 -0
  46. data/spec/lib/Locked/configuration_spec.rb +146 -0
  47. data/spec/lib/Locked/context/default_spec.rb +35 -0
  48. data/spec/lib/Locked/context/merger_spec.rb +23 -0
  49. data/spec/lib/Locked/context/sanitizer_spec.rb +27 -0
  50. data/spec/lib/Locked/extractors/client_id_spec.rb +62 -0
  51. data/spec/lib/Locked/extractors/headers_spec.rb +26 -0
  52. data/spec/lib/Locked/extractors/ip_spec.rb +27 -0
  53. data/spec/lib/Locked/header_formatter_spec.rb +25 -0
  54. data/spec/lib/Locked/review_spec.rb +19 -0
  55. data/spec/lib/Locked/secure_mode_spec.rb +9 -0
  56. data/spec/lib/Locked/utils/cloner_spec.rb +18 -0
  57. data/spec/lib/Locked/utils/merger_spec.rb +13 -0
  58. data/spec/lib/Locked/utils/timestamp_spec.rb +17 -0
  59. data/spec/lib/Locked/utils_spec.rb +156 -0
  60. data/spec/lib/Locked/validators/not_supported_spec.rb +26 -0
  61. data/spec/lib/Locked/validators/present_spec.rb +33 -0
  62. data/spec/lib/Locked/version_spec.rb +5 -0
  63. data/spec/lib/locked_spec.rb +66 -0
  64. data/spec/spec_helper.rb +22 -0
  65. metadata +133 -0
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ describe Locked do
4
+ it { expect(described_class::VERSION).to match(/\d\.\d\.\d/) }
5
+ end
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ describe Locked do
4
+ subject(:locked) { described_class }
5
+
6
+ describe 'config' do
7
+ it { expect(Locked.config).to be_kind_of(Locked::Configuration) }
8
+ end
9
+
10
+ describe 'api_key setter' do
11
+ let(:value) { 'new_key' }
12
+
13
+ before { locked.api_key = value }
14
+
15
+ it { expect(Locked.config.api_key).to be_eql(value) }
16
+ end
17
+
18
+ describe 'configure' do
19
+ let(:value) { 'new_key' }
20
+ let(:timeout) { 60 }
21
+
22
+ shared_examples 'config_setup' do
23
+ it { expect(Locked.config.api_key).to be_eql(value) }
24
+ it { expect(Locked.config.request_timeout).to be_eql(timeout) }
25
+ end
26
+
27
+ context 'with block' do
28
+ before do
29
+ Locked.configure do |config|
30
+ config.api_key = value
31
+ config.request_timeout = timeout
32
+ end
33
+ end
34
+
35
+ it_behaves_like 'config_setup'
36
+ end
37
+
38
+ context 'with options' do
39
+ before { Locked.configure(request_timeout: timeout, api_key: value) }
40
+
41
+ it_behaves_like 'config_setup'
42
+ end
43
+
44
+ context 'with block and options' do
45
+ before do
46
+ Locked.configure(request_timeout: timeout) do |config|
47
+ config.api_key = value
48
+ end
49
+ end
50
+
51
+ it_behaves_like 'config_setup'
52
+ end
53
+ end
54
+
55
+ describe 'configure wrongly' do
56
+ let(:value) { 'new_key' }
57
+
58
+ it do
59
+ expect do
60
+ Locked.configure do |config|
61
+ config.wrong_config = value
62
+ end
63
+ end.to raise_error(Locked::ConfigurationError)
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rubygems'
4
+ require 'bundler/setup'
5
+ require 'rack'
6
+ require 'webmock/rspec'
7
+ require 'byebug'
8
+ require 'timecop'
9
+
10
+ require 'coveralls'
11
+ Coveralls.wear!
12
+
13
+ require 'locked'
14
+
15
+ Locked.configure do |config|
16
+ config.api_key = 'key'
17
+ end
18
+
19
+ WebMock.disable_net_connect!(allow_localhost: true)
20
+
21
+ RSpec.configure do |config|
22
+ end
metadata ADDED
@@ -0,0 +1,133 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: locked-rb
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Yoshiki Takeda
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2019-07-13 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: locked protects your users from account compromise
14
+ email: takeda@locked.jp
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - README.md
20
+ - lib/locked-rb.rb
21
+ - lib/locked.rb
22
+ - lib/locked/api.rb
23
+ - lib/locked/api/request.rb
24
+ - lib/locked/api/request/build.rb
25
+ - lib/locked/api/response.rb
26
+ - lib/locked/client.rb
27
+ - lib/locked/command.rb
28
+ - lib/locked/commands/authenticate.rb
29
+ - lib/locked/commands/identify.rb
30
+ - lib/locked/commands/review.rb
31
+ - lib/locked/configuration.rb
32
+ - lib/locked/context/default.rb
33
+ - lib/locked/context/merger.rb
34
+ - lib/locked/context/sanitizer.rb
35
+ - lib/locked/errors.rb
36
+ - lib/locked/extractors/client_id.rb
37
+ - lib/locked/extractors/headers.rb
38
+ - lib/locked/extractors/ip.rb
39
+ - lib/locked/failover_auth_response.rb
40
+ - lib/locked/header_formatter.rb
41
+ - lib/locked/review.rb
42
+ - lib/locked/secure_mode.rb
43
+ - lib/locked/support/hanami.rb
44
+ - lib/locked/support/padrino.rb
45
+ - lib/locked/support/rails.rb
46
+ - lib/locked/support/sinatra.rb
47
+ - lib/locked/utils.rb
48
+ - lib/locked/utils/cloner.rb
49
+ - lib/locked/utils/merger.rb
50
+ - lib/locked/utils/timestamp.rb
51
+ - lib/locked/validators/not_supported.rb
52
+ - lib/locked/validators/present.rb
53
+ - lib/locked/version.rb
54
+ - spec/lib/Locked/api/request/build_spec.rb
55
+ - spec/lib/Locked/api/request_spec.rb
56
+ - spec/lib/Locked/api/response_spec.rb
57
+ - spec/lib/Locked/api_spec.rb
58
+ - spec/lib/Locked/client_spec.rb
59
+ - spec/lib/Locked/command_spec.rb
60
+ - spec/lib/Locked/commands/authenticate_spec.rb
61
+ - spec/lib/Locked/commands/identify_spec.rb
62
+ - spec/lib/Locked/commands/review_spec.rb
63
+ - spec/lib/Locked/configuration_spec.rb
64
+ - spec/lib/Locked/context/default_spec.rb
65
+ - spec/lib/Locked/context/merger_spec.rb
66
+ - spec/lib/Locked/context/sanitizer_spec.rb
67
+ - spec/lib/Locked/extractors/client_id_spec.rb
68
+ - spec/lib/Locked/extractors/headers_spec.rb
69
+ - spec/lib/Locked/extractors/ip_spec.rb
70
+ - spec/lib/Locked/header_formatter_spec.rb
71
+ - spec/lib/Locked/review_spec.rb
72
+ - spec/lib/Locked/secure_mode_spec.rb
73
+ - spec/lib/Locked/utils/cloner_spec.rb
74
+ - spec/lib/Locked/utils/merger_spec.rb
75
+ - spec/lib/Locked/utils/timestamp_spec.rb
76
+ - spec/lib/Locked/utils_spec.rb
77
+ - spec/lib/Locked/validators/not_supported_spec.rb
78
+ - spec/lib/Locked/validators/present_spec.rb
79
+ - spec/lib/Locked/version_spec.rb
80
+ - spec/lib/locked_spec.rb
81
+ - spec/spec_helper.rb
82
+ homepage: https://locked.jp
83
+ licenses:
84
+ - MIT
85
+ metadata: {}
86
+ post_install_message:
87
+ rdoc_options: []
88
+ require_paths:
89
+ - lib
90
+ required_ruby_version: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - ">="
93
+ - !ruby/object:Gem::Version
94
+ version: 2.2.6
95
+ required_rubygems_version: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
100
+ requirements: []
101
+ rubygems_version: 3.0.4
102
+ signing_key:
103
+ specification_version: 4
104
+ summary: locked
105
+ test_files:
106
+ - spec/spec_helper.rb
107
+ - spec/lib/Locked/review_spec.rb
108
+ - spec/lib/Locked/client_spec.rb
109
+ - spec/lib/Locked/context/default_spec.rb
110
+ - spec/lib/Locked/context/merger_spec.rb
111
+ - spec/lib/Locked/context/sanitizer_spec.rb
112
+ - spec/lib/Locked/api_spec.rb
113
+ - spec/lib/Locked/configuration_spec.rb
114
+ - spec/lib/Locked/version_spec.rb
115
+ - spec/lib/Locked/header_formatter_spec.rb
116
+ - spec/lib/Locked/utils/cloner_spec.rb
117
+ - spec/lib/Locked/utils/timestamp_spec.rb
118
+ - spec/lib/Locked/utils/merger_spec.rb
119
+ - spec/lib/Locked/command_spec.rb
120
+ - spec/lib/Locked/api/request_spec.rb
121
+ - spec/lib/Locked/api/response_spec.rb
122
+ - spec/lib/Locked/api/request/build_spec.rb
123
+ - spec/lib/Locked/commands/review_spec.rb
124
+ - spec/lib/Locked/commands/authenticate_spec.rb
125
+ - spec/lib/Locked/commands/identify_spec.rb
126
+ - spec/lib/Locked/validators/not_supported_spec.rb
127
+ - spec/lib/Locked/validators/present_spec.rb
128
+ - spec/lib/Locked/extractors/ip_spec.rb
129
+ - spec/lib/Locked/extractors/headers_spec.rb
130
+ - spec/lib/Locked/extractors/client_id_spec.rb
131
+ - spec/lib/Locked/utils_spec.rb
132
+ - spec/lib/Locked/secure_mode_spec.rb
133
+ - spec/lib/locked_spec.rb