vgs_api_client 0.0.1.alpha202401251923 → 0.0.1.dev202204182306
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.
- checksums.yaml +4 -4
- data/Gemfile.lock +70 -0
- data/docker-compose.yaml +5 -19
- data/lib/vgs.rb +82 -0
- data/lib/{openapi_client → vgs_api_client}/api/aliases_api.rb +1 -1
- data/lib/{openapi_client → vgs_api_client}/api_client.rb +2 -2
- data/lib/{openapi_client → vgs_api_client}/api_error.rb +1 -1
- data/lib/{openapi_client → vgs_api_client}/configuration.rb +1 -1
- data/lib/{openapi_client → vgs_api_client}/models/alias_format.rb +1 -4
- data/lib/vgs_api_client/models/api_error.rb +249 -0
- data/lib/{openapi_client → vgs_api_client}/models/create_aliases_request.rb +1 -1
- data/lib/{openapi_client → vgs_api_client}/models/create_aliases_request_new.rb +1 -1
- data/lib/{openapi_client → vgs_api_client}/models/create_aliases_request_reference.rb +1 -1
- data/lib/{openapi_client → vgs_api_client}/models/inline_response200.rb +1 -1
- data/lib/{openapi_client → vgs_api_client}/models/inline_response2001.rb +1 -1
- data/lib/{openapi_client → vgs_api_client}/models/inline_response201.rb +1 -1
- data/lib/{openapi_client → vgs_api_client}/models/inline_response_default.rb +1 -1
- data/lib/{openapi_client → vgs_api_client}/models/model_alias.rb +1 -1
- data/lib/{openapi_client → vgs_api_client}/models/revealed_data.rb +1 -1
- data/lib/{openapi_client → vgs_api_client}/models/update_alias_request.rb +1 -1
- data/lib/{openapi_client → vgs_api_client}/models/update_alias_request_data.rb +1 -1
- data/lib/{openapi_client → vgs_api_client}/version.rb +2 -2
- data/lib/vgs_api_client.rb +48 -106
- data/scripts/assemble/Dockerfile +1 -4
- data/scripts/assemble/run.sh +3 -3
- data/scripts/publish/Dockerfile +1 -4
- data/scripts/publish/run.sh +2 -3
- data/scripts/publish.sh +2 -3
- data/scripts/run-test-e2e.sh +13 -0
- data/scripts/run-test-local.sh +4 -0
- data/scripts/test/Dockerfile +5 -9
- data/scripts/test/run.sh +26 -9
- data/spec/api_client_spec.rb +1 -1
- data/spec/configuration_spec.rb +1 -1
- data/spec/spec_helper.rb +2 -2
- data/spec/test_api_spec.rb +97 -0
- data/vgs_api_client-0.0.1.dev202204181658.gem +0 -0
- data/vgs_api_client.gemspec +21 -15
- metadata +34 -45
- data/README.md +0 -39
- data/VERSION +0 -1
- data/api.yaml +0 -537
- data/lib/openapi_client/models/api_error.rb +0 -0
- data/lib/openapi_client.rb +0 -53
- data/lib/version.rb +0 -3
- data/scripts/lint/Dockerfile +0 -9
- data/scripts/lint/run.sh +0 -5
- data/scripts/lint.sh +0 -6
- data/scripts/run-tests-e2e.sh +0 -8
- data/scripts/run-tests.sh +0 -6
- data/scripts/test-e2e/Dockerfile +0 -14
- data/scripts/test-e2e/run.sh +0 -28
- data/spec/test_aliases_api_spec.rb +0 -123
@@ -1,123 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require 'securerandom'
|
3
|
-
require 'vgs_api_client'
|
4
|
-
|
5
|
-
describe 'AliasesApiSpec' do
|
6
|
-
before(:each) do
|
7
|
-
config = VGS.config(username = ENV['VAULT_API_USERNAME'], password = ENV['VAULT_API_PASSWORD'])
|
8
|
-
@api = VGS::Aliases.new config
|
9
|
-
end
|
10
|
-
|
11
|
-
describe 'invalid auth' do
|
12
|
-
it 'should fail if invalid auth provided' do
|
13
|
-
invalid_config = VGS.config(username = 'Invalid', password = 'Invalid')
|
14
|
-
api = VGS::Aliases.new invalid_config
|
15
|
-
data = [{
|
16
|
-
format: 'UUID',
|
17
|
-
value: 'Joe Doe'
|
18
|
-
}]
|
19
|
-
|
20
|
-
expect { api.redact data }.to raise_error(VGS::UnauthorizedError)
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
describe 'invalid config' do
|
25
|
-
it 'should fail if invalid config provided' do
|
26
|
-
expect { VGS::Aliases.new nil }.to raise_error(ArgumentError)
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
describe 'invalid host' do
|
31
|
-
it 'should fail if invalid host provided' do
|
32
|
-
config = VGS.config(
|
33
|
-
username = ENV['VAULT_API_USERNAME'],
|
34
|
-
password = ENV['VAULT_API_PASSWORD'],
|
35
|
-
host = 'https://echo.apps.verygood.systems')
|
36
|
-
api = VGS::Aliases.new config
|
37
|
-
data = [{
|
38
|
-
format: 'UUID',
|
39
|
-
value: 'Joe Doe'
|
40
|
-
}]
|
41
|
-
expect { api.redact data }.to raise_error(VGS::NotFoundError)
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
describe 'redact' do
|
46
|
-
it 'should redact values' do
|
47
|
-
data = [{
|
48
|
-
format: 'UUID',
|
49
|
-
value: '5201784564572092',
|
50
|
-
classifiers: %w[credit-card number],
|
51
|
-
storage: 'PERSISTENT'
|
52
|
-
},
|
53
|
-
{
|
54
|
-
format: 'UUID',
|
55
|
-
value: 'Joe Doe',
|
56
|
-
storage: 'VOLATILE'
|
57
|
-
}]
|
58
|
-
aliases = @api.redact data
|
59
|
-
expect(aliases.length).to eq 2
|
60
|
-
data.each_with_index do |item, index|
|
61
|
-
expect(aliases[index].value).to eq item[:value]
|
62
|
-
expect(aliases[index].storage).to eq item[:storage]
|
63
|
-
expect(aliases[index].aliases[0]._alias).to start_with "tok_"
|
64
|
-
end
|
65
|
-
expect(Set.new(aliases[0].classifiers)).to eq Set.new(%w[credit-card number])
|
66
|
-
expect(Set.new(aliases[1].classifiers)).to eq Set.new
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
|
-
describe 'reveal' do
|
71
|
-
it 'should reveal aliases' do
|
72
|
-
data = [{
|
73
|
-
format: 'UUID',
|
74
|
-
value: '5201784564572092',
|
75
|
-
classifiers: %w[credit-card number],
|
76
|
-
storage: 'PERSISTENT'
|
77
|
-
},
|
78
|
-
{
|
79
|
-
format: 'UUID',
|
80
|
-
value: 'Joe Doe',
|
81
|
-
storage: 'VOLATILE'
|
82
|
-
}]
|
83
|
-
aliases = @api.redact(data).map { |item| item.aliases[0]._alias }
|
84
|
-
|
85
|
-
response = @api.reveal aliases
|
86
|
-
|
87
|
-
expect(response.length).to eq 2
|
88
|
-
original_values = data.map { |i| i[:value] }
|
89
|
-
revealed_values = response.values.map { |i| i.value }
|
90
|
-
expect(Set.new original_values).to eq Set.new revealed_values
|
91
|
-
end
|
92
|
-
end
|
93
|
-
|
94
|
-
describe 'update' do
|
95
|
-
it 'should update alias' do
|
96
|
-
data = [{
|
97
|
-
format: 'UUID',
|
98
|
-
value: SecureRandom.alphanumeric(10)
|
99
|
-
}]
|
100
|
-
_alias = @api.redact(data).map { |item| item.aliases[0]._alias }[0]
|
101
|
-
|
102
|
-
@api.update _alias, classifiers: %w[secure]
|
103
|
-
|
104
|
-
response = @api.reveal _alias
|
105
|
-
expect(response[_alias].classifiers).to eq %w[secure]
|
106
|
-
end
|
107
|
-
end
|
108
|
-
|
109
|
-
describe 'delete' do
|
110
|
-
it 'should delete alias' do
|
111
|
-
data = [{
|
112
|
-
format: 'UUID',
|
113
|
-
value: '5201784564572092'
|
114
|
-
}]
|
115
|
-
_alias = @api.redact(data).map { |item| item.aliases[0]._alias }[0]
|
116
|
-
|
117
|
-
@api.delete _alias
|
118
|
-
|
119
|
-
expect { @api.reveal _alias }.to raise_error(VGS::VgsApiError)
|
120
|
-
end
|
121
|
-
end
|
122
|
-
|
123
|
-
end
|