contentful-management 3.5.0 → 3.7.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -1
- data/README.md +16 -0
- data/lib/contentful/management/client.rb +2 -1
- data/lib/contentful/management/client_environment_methods_factory.rb +5 -2
- data/lib/contentful/management/request.rb +1 -1
- data/lib/contentful/management/version.rb +1 -1
- data/spec/fixtures/vcr_cassettes/entry/too_many_requests_retry.yml +1 -1
- data/spec/fixtures/vcr_cassettes/environment/all/limit_100.yml +1142 -0
- data/spec/fixtures/vcr_cassettes/environment/all/skip_25.yml +159 -0
- data/spec/fixtures/vcr_cassettes/environment/all.yml +986 -109
- data/spec/lib/contentful/management/entry_spec.rb +6 -1
- data/spec/lib/contentful/management/environment_spec.rb +52 -12
- data/spec/support/vcr.rb +9 -0
- metadata +7 -3
@@ -456,7 +456,12 @@ describe Contentful::Management::Entry do
|
|
456
456
|
end
|
457
457
|
|
458
458
|
it 'too many requests auto-retry' do
|
459
|
-
|
459
|
+
# Testing that the header versions are not cleared between retries
|
460
|
+
header_matcher = lambda do |request_1, request_2|
|
461
|
+
request_1.headers["X-Contentful-Version"] == request_2.headers["X-Contentful-Version"]
|
462
|
+
end
|
463
|
+
|
464
|
+
VCR.use_cassette('entry/too_many_requests_retry', match_requests_on: [:method, :uri, header_matcher]) do
|
460
465
|
logger = RetryLoggerMock.new(STDOUT)
|
461
466
|
space = Contentful::Management::Client.new(token, raise_errors: true, logger: logger).spaces.find('286arvy86ry9')
|
462
467
|
invalid_entry = client.entries(space.id, 'master').find('1YNepnMpXGiMWikaKC4GG0')
|
@@ -10,22 +10,62 @@ describe Contentful::Management::Environment do
|
|
10
10
|
subject { client.environments(space_id) }
|
11
11
|
|
12
12
|
describe '.all' do
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
context 'given no params' do
|
14
|
+
it 'fetches the first 25 environments for a space' do
|
15
|
+
vcr('environment/all') {
|
16
|
+
environments = subject.all
|
17
|
+
|
18
|
+
expect(environments.size).to eq 25
|
19
|
+
expect(environments.total).to eq 26
|
20
|
+
expect(environments.first).to be_a ::Contentful::Management::Environment
|
21
|
+
}
|
22
|
+
end
|
16
23
|
|
17
|
-
|
18
|
-
|
19
|
-
|
24
|
+
it 'class method also works' do
|
25
|
+
vcr('environment/all') {
|
26
|
+
environments = described_class.all(client, space_id)
|
27
|
+
|
28
|
+
expect(environments.size).to eq 25
|
29
|
+
expect(environments.total).to eq 26
|
30
|
+
expect(environments.first).to be_a ::Contentful::Management::Environment
|
31
|
+
}
|
32
|
+
end
|
20
33
|
end
|
21
34
|
|
22
|
-
|
23
|
-
|
24
|
-
|
35
|
+
context 'given params for limit' do
|
36
|
+
let(:params) do
|
37
|
+
{
|
38
|
+
limit: 100,
|
39
|
+
}
|
40
|
+
end
|
25
41
|
|
26
|
-
|
27
|
-
|
28
|
-
|
42
|
+
it 'fetches all environments' do
|
43
|
+
vcr('environment/all/limit_100') {
|
44
|
+
environments = subject.all(params)
|
45
|
+
|
46
|
+
expect(environments.total).to eq 26
|
47
|
+
expect(environments.size).to eq 26
|
48
|
+
expect(environments.first).to be_a ::Contentful::Management::Environment
|
49
|
+
}
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
context 'given params for pagination offset' do
|
54
|
+
let(:params) do
|
55
|
+
{
|
56
|
+
skip: 25,
|
57
|
+
}
|
58
|
+
end
|
59
|
+
|
60
|
+
it 'fetches the second page of environments' do
|
61
|
+
vcr('environment/all/skip_25') {
|
62
|
+
environments = subject.all(params)
|
63
|
+
|
64
|
+
expect(environments.size).to eq 1
|
65
|
+
expect(environments.total).to eq 26
|
66
|
+
expect(environments.first).to be_a ::Contentful::Management::Environment
|
67
|
+
}
|
68
|
+
end
|
29
69
|
end
|
30
70
|
end
|
31
71
|
|
data/spec/support/vcr.rb
CHANGED
@@ -5,6 +5,15 @@ VCR.configure do |c|
|
|
5
5
|
c.ignore_localhost = true
|
6
6
|
c.hook_into :webmock
|
7
7
|
c.default_cassette_options = {record: :once}
|
8
|
+
|
9
|
+
# Redact Contentful Management API tokens from VCR recordings
|
10
|
+
c.filter_sensitive_data('<ACCESS_TOKEN>') do |interaction|
|
11
|
+
if (auths = interaction.request.headers['Authorization']&.first)
|
12
|
+
if (match = auths.match(/^Bearer\s+([^,\s]+)/))
|
13
|
+
match.captures.first
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
8
17
|
end
|
9
18
|
|
10
19
|
def vcr(name, &block)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: contentful-management
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Piotr Protas
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2022-
|
13
|
+
date: 2022-12-20 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: http
|
@@ -633,6 +633,8 @@ files:
|
|
633
633
|
- spec/fixtures/vcr_cassettes/entry/updated_false.yml
|
634
634
|
- spec/fixtures/vcr_cassettes/entry/updated_true.yml
|
635
635
|
- spec/fixtures/vcr_cassettes/environment/all.yml
|
636
|
+
- spec/fixtures/vcr_cassettes/environment/all/limit_100.yml
|
637
|
+
- spec/fixtures/vcr_cassettes/environment/all/skip_25.yml
|
636
638
|
- spec/fixtures/vcr_cassettes/environment/create.yml
|
637
639
|
- spec/fixtures/vcr_cassettes/environment/create_with_different_source.yml
|
638
640
|
- spec/fixtures/vcr_cassettes/environment/destroy.yml
|
@@ -832,7 +834,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
832
834
|
- !ruby/object:Gem::Version
|
833
835
|
version: '0'
|
834
836
|
requirements: []
|
835
|
-
rubygems_version: 3.1.
|
837
|
+
rubygems_version: 3.1.6
|
836
838
|
signing_key:
|
837
839
|
specification_version: 4
|
838
840
|
summary: contentful management api
|
@@ -1064,6 +1066,8 @@ test_files:
|
|
1064
1066
|
- spec/fixtures/vcr_cassettes/entry/updated_false.yml
|
1065
1067
|
- spec/fixtures/vcr_cassettes/entry/updated_true.yml
|
1066
1068
|
- spec/fixtures/vcr_cassettes/environment/all.yml
|
1069
|
+
- spec/fixtures/vcr_cassettes/environment/all/limit_100.yml
|
1070
|
+
- spec/fixtures/vcr_cassettes/environment/all/skip_25.yml
|
1067
1071
|
- spec/fixtures/vcr_cassettes/environment/create.yml
|
1068
1072
|
- spec/fixtures/vcr_cassettes/environment/create_with_different_source.yml
|
1069
1073
|
- spec/fixtures/vcr_cassettes/environment/destroy.yml
|