contentful-importer 0.0.2 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,170 +1,172 @@
1
1
  require 'spec_helper'
2
- require './lib/importer/parallel_importer'
3
- require './lib/configuration'
2
+ require './lib/contentful/importer/parallel_importer'
3
+ require './lib/contentful/importer/configuration'
4
4
 
5
5
  module Contentful
6
- describe ParallelImporter do
6
+ module Importer
7
+ describe ParallelImporter do
7
8
 
8
- include_context 'shared_configuration'
9
+ include_context 'shared_configuration'
9
10
 
10
- before do
11
- @importer = ParallelImporter.new(@config)
12
- end
13
-
14
-
15
- it 'number of threads' do
16
- number = @importer.number_of_threads
17
- expect(number).to eq 2
18
- end
19
-
20
- it 'create_asset_file' do
21
- file = @importer.create_asset_file('title', {'url' => 'www.example.com/photo.png'})
22
- expect(file).to be_a Contentful::Management::File
23
- end
24
-
25
- it 'gets asset content type from params' do
26
- file = @importer.create_asset_file('title', {'url' => 'www.example.com/image.jpg?withoutextension', 'contentType' => 'image/jpeg'})
27
- expect(file.properties[:contentType]).to eq'image/jpeg'
28
- end
29
-
30
- it 'gets asset content type from params' do
31
- file = @importer.create_asset_file('title', {'url' => 'www.example.com/image.jpg'})
32
- expect(file.properties[:contentType]).to eq'image/jpeg'
33
- end
34
-
35
- it 'get_id' do
36
- id = @importer.send(:get_id, {'id' => 'name.png'})
37
- expect(id).to eq 'name.png'
38
- end
39
-
40
- context 'asset_status' do
41
- it 'successfully imported' do
42
- allow(CSV).to receive(:open).with('spec/fixtures/import_files/logs/success_assets.csv', 'a')
43
- asset_file = Contentful::Management::Asset.new
44
- asset_file.id = 'test_id'
45
- expect_any_instance_of(Contentful::Management::Asset).to receive(:process_file)
46
- @importer.asset_status(asset_file, {'url' => 'www.example.com/photo.png'})
47
- end
48
- end
49
-
50
- it 'publish an entry' do
51
- vcr('publish_an_entry') do
52
- expect_any_instance_of(Contentful::ParallelImporter).to receive(:publish_status).with(Contentful::Management::Entry,
53
- 'comment_5',
54
- 'published_entries')
55
- @importer.publish_entry('comment_5')
56
- end
57
- end
58
-
59
- it 'import_entry' do
60
- vcr('import_entry') do
61
- expect_any_instance_of(Contentful::ParallelImporter).to receive(:import_status).with(Contentful::Management::Entry, './spec/fixtures/import_files/entries/job_skills/job_skills_1.json', 'success_thread_0')
62
- expect(Contentful::Management::Entry.find('ip17s12q0ek4', 'job_skills_1')).to be_a Contentful::Management::NotFound
63
- @importer.send(:import_entry, './spec/fixtures/import_files/entries/job_skills/job_skills_1.json', 'ip17s12q0ek4', '2soCP557HGKoOOK0SqmMOm', 'success_thread_0')
64
- entry = Contentful::Management::Entry.find('ip17s12q0ek4', 'job_skills_1')
65
- expect(entry).to be_a Contentful::Management::Entry
66
- expect(entry.id).to eq 'job_skills_1'
67
- expect(entry.name).to eq 'Commercial awareness'
68
- end
69
- end
70
-
71
- context 'import_status' do
72
- it 'successfully imported' do
73
- allow(CSV).to receive(:open).with('spec/fixtures/import_files/logs/success_thread_0.csv', 'a')
74
- allow(File).to receive(:basename).with('file_path')
75
- entry = Contentful::Management::Entry.new
76
- @importer.send(:import_status, entry, 'file_path', 'success_thread_0')
11
+ before do
12
+ @importer = ParallelImporter.new(@config)
77
13
  end
78
- end
79
14
 
80
- it 'create space' do
81
- vcr('create_space') do
82
- space = @importer.send(:create_space, 'rspec_test_space')
83
- expect(space).to be_a Contentful::Management::Space
84
- expect(space.name).to eq 'rspec_test_space'
85
- end
86
- end
87
15
 
88
- it 'create entry' do
89
- vcr('create_entry') do
90
- entry = @importer.send(:create_entry, {'id' => 'entry_id'}, 'ip17s12q0ek4', '6H6pGAV1PUsuoAW26Iu48W')
91
- expect(entry).to be_a Contentful::Management::Entry
92
- expect(entry.id).to eq 'entry_id'
16
+ it 'number of threads' do
17
+ number = @importer.number_of_threads
18
+ expect(number).to eq 2
93
19
  end
94
- end
95
20
 
96
- it 'create asset' do
97
- vcr('create_asset') do
98
- asset = @importer.send(:create_asset, 'ip17s12q0ek4', {'id' => 'asset_id'})
99
- expect(asset).to be_a Contentful::Management::Asset
100
- expect(asset.id).to eq 'asset_id'
21
+ it 'create_asset_file' do
22
+ file = @importer.create_asset_file('title', {'url' => 'www.example.com/photo.png'})
23
+ expect(file).to be_a Contentful::Management::File
101
24
  end
102
- end
103
25
 
104
- it 'create location file' do
105
- file = @importer.send(:create_location_file, {'lat' => 'lat_v', 'lng' => 'lng_v'})
106
- expect(file).to be_a Contentful::Management::Location
107
- end
108
-
109
- context 'validate_params' do
110
- it 'Array type' do
111
- result = @importer.send(:validate_param, [])
112
- expect(result).to be true
113
- end
114
- it 'Other type' do
115
- result = @importer.send(:validate_param, 'value')
116
- expect(result).to be false
26
+ it 'gets asset content type from params' do
27
+ file = @importer.create_asset_file('title', {'url' => 'www.example.com/image.jpg?withoutextension', 'contentType' => 'image/jpeg'})
28
+ expect(file.properties[:contentType]).to eq'image/jpeg'
117
29
  end
118
- end
119
30
 
120
- context 'create_entry_parameters' do
121
- it 'Hash' do
122
- expect_any_instance_of(Contentful::ParallelImporter).to receive(:validate_param) { true }
123
- expect_any_instance_of(Contentful::ParallelImporter).to receive(:parse_attributes_from_hash).with({'k' => 'v'}, 'space_id', 'content_type_id')
124
- @importer.send(:create_entry_parameters, 'content_type_id', {'Hash' => {'k' => 'v'}}, 'space_id')
125
- end
126
- it 'Array' do
127
- expect_any_instance_of(Contentful::ParallelImporter).to receive(:validate_param) { true }
128
- expect_any_instance_of(Contentful::ParallelImporter).to receive(:parse_attributes_from_array).with(['Value'], 'space_id', 'content_type_id')
129
- @importer.send(:create_entry_parameters, 'content_type_id', {'Array' => ['Value']}, 'space_id')
130
- end
131
- it 'String' do
132
- expect_any_instance_of(Contentful::ParallelImporter).to receive(:validate_param) { true }
133
- @importer.send(:create_entry_parameters, 'content_type_id', {'key' => 'value'}, 'space_id')
31
+ it 'gets asset content type from params' do
32
+ file = @importer.create_asset_file('title', {'url' => 'www.example.com/image.jpg'})
33
+ expect(file.properties[:contentType]).to eq'image/jpeg'
134
34
  end
135
- end
136
35
 
137
- context 'parse_attributes_from_hash' do
138
- it 'Location' do
139
- expect_any_instance_of(Contentful::ParallelImporter).to receive(:create_location_file).with({'type' => 'Location'})
140
- @importer.send(:parse_attributes_from_hash, {'type' => 'Location'}, 'space_id', 'content_type_id')
141
- end
142
- it 'File' do
143
- expect_any_instance_of(Contentful::ParallelImporter).to receive(:create_asset).with('space_id', {'type' => 'File'})
144
- @importer.send(:parse_attributes_from_hash, {'type' => 'File'}, 'space_id', 'content_type_id')
36
+ it 'get_id' do
37
+ id = @importer.send(:get_id, {'id' => 'name.png'})
38
+ expect(id).to eq 'name.png'
145
39
  end
146
- it 'Entry' do
147
- expect_any_instance_of(Contentful::ParallelImporter).to receive(:create_entry).with({'type' => 'Entry'}, 'space_id', 'content_type_id')
148
- @importer.send(:parse_attributes_from_hash, {'type' => 'Entry'}, 'space_id', 'content_type_id')
149
- end
150
- it 'Entry' do
151
- params = @importer.send(:parse_attributes_from_hash, {'some' => 'params'}, 'space_id', 'content_type_id')
152
- expect(params).to include('some' => 'params')
153
- end
154
- end
155
40
 
156
- context 'parse_attributes_from_array' do
157
- it 'File' do
158
- expect_any_instance_of(Contentful::ParallelImporter).to receive(:create_asset).with('space_id', {'type' => 'File'})
159
- @importer.send(:parse_attributes_from_array, [{'type' => 'File'}], 'space_id', 'content_type_id')
160
- end
161
- it 'Entry' do
162
- expect_any_instance_of(Contentful::ParallelImporter).to receive(:create_entry).with({'type' => 'Entry'}, 'space_id', 'content_type_id')
163
- @importer.send(:parse_attributes_from_array, [{'type' => 'Entry'}], 'space_id', 'content_type_id')
164
- end
165
- it 'Entry' do
166
- params = @importer.send(:parse_attributes_from_array, [{'some' => 'params'}], 'space_id', 'content_type_id')
167
- expect(params).to include('some' => 'params')
41
+ context 'asset_status' do
42
+ it 'successfully imported' do
43
+ allow(CSV).to receive(:open).with('spec/fixtures/import_files/logs/success_assets.csv', 'a')
44
+ asset_file = Contentful::Management::Asset.new
45
+ asset_file.id = 'test_id'
46
+ expect_any_instance_of(Contentful::Management::Asset).to receive(:process_file)
47
+ @importer.asset_status(asset_file, {'url' => 'www.example.com/photo.png'})
48
+ end
49
+ end
50
+
51
+ it 'publish an entry' do
52
+ vcr('publish_an_entry') do
53
+ expect_any_instance_of(ParallelImporter).to receive(:publish_status).with(Contentful::Management::Entry,
54
+ 'comment_5',
55
+ 'published_entries')
56
+ @importer.publish_entry('comment_5')
57
+ end
58
+ end
59
+
60
+ it 'import_entry' do
61
+ vcr('import_entry') do
62
+ expect_any_instance_of(ParallelImporter).to receive(:import_status).with(Contentful::Management::Entry, './spec/fixtures/import_files/entries/job_skills/job_skills_1.json', 'success_thread_0')
63
+ expect(Contentful::Management::Entry.find('ip17s12q0ek4', 'job_skills_1')).to be_a Contentful::Management::NotFound
64
+ @importer.send(:import_entry, './spec/fixtures/import_files/entries/job_skills/job_skills_1.json', 'ip17s12q0ek4', '2soCP557HGKoOOK0SqmMOm', 'success_thread_0')
65
+ entry = Contentful::Management::Entry.find('ip17s12q0ek4', 'job_skills_1')
66
+ expect(entry).to be_a Contentful::Management::Entry
67
+ expect(entry.id).to eq 'job_skills_1'
68
+ expect(entry.name).to eq 'Commercial awareness'
69
+ end
70
+ end
71
+
72
+ context 'import_status' do
73
+ it 'successfully imported' do
74
+ allow(CSV).to receive(:open).with('spec/fixtures/import_files/logs/success_thread_0.csv', 'a')
75
+ allow(File).to receive(:basename).with('file_path')
76
+ entry = Contentful::Management::Entry.new
77
+ @importer.send(:import_status, entry, 'file_path', 'success_thread_0')
78
+ end
79
+ end
80
+
81
+ it 'create space' do
82
+ vcr('create_space') do
83
+ space = @importer.send(:create_space, 'rspec_test_space')
84
+ expect(space).to be_a Contentful::Management::Space
85
+ expect(space.name).to eq 'rspec_test_space'
86
+ end
87
+ end
88
+
89
+ it 'create entry' do
90
+ vcr('create_entry') do
91
+ entry = @importer.send(:create_entry, {'id' => 'entry_id'}, 'ip17s12q0ek4', '6H6pGAV1PUsuoAW26Iu48W')
92
+ expect(entry).to be_a Contentful::Management::Entry
93
+ expect(entry.id).to eq 'entry_id'
94
+ end
95
+ end
96
+
97
+ it 'create asset' do
98
+ vcr('create_asset') do
99
+ asset = @importer.send(:create_asset, 'ip17s12q0ek4', {'id' => 'asset_id'})
100
+ expect(asset).to be_a Contentful::Management::Asset
101
+ expect(asset.id).to eq 'asset_id'
102
+ end
103
+ end
104
+
105
+ it 'create location file' do
106
+ file = @importer.send(:create_location_file, {'lat' => 'lat_v', 'lng' => 'lng_v'})
107
+ expect(file).to be_a Contentful::Management::Location
108
+ end
109
+
110
+ context 'validate_params' do
111
+ it 'Array type' do
112
+ result = @importer.send(:validate_param, [])
113
+ expect(result).to be true
114
+ end
115
+ it 'Other type' do
116
+ result = @importer.send(:validate_param, 'value')
117
+ expect(result).to be false
118
+ end
119
+ end
120
+
121
+ context 'create_entry_parameters' do
122
+ it 'Hash' do
123
+ expect_any_instance_of(ParallelImporter).to receive(:validate_param) { true }
124
+ expect_any_instance_of(ParallelImporter).to receive(:parse_attributes_from_hash).with({'k' => 'v'}, 'space_id', 'content_type_id')
125
+ @importer.send(:create_entry_parameters, 'content_type_id', {'Hash' => {'k' => 'v'}}, 'space_id')
126
+ end
127
+ it 'Array' do
128
+ expect_any_instance_of(ParallelImporter).to receive(:validate_param) { true }
129
+ expect_any_instance_of(ParallelImporter).to receive(:parse_attributes_from_array).with(['Value'], 'space_id', 'content_type_id')
130
+ @importer.send(:create_entry_parameters, 'content_type_id', {'Array' => ['Value']}, 'space_id')
131
+ end
132
+ it 'String' do
133
+ expect_any_instance_of(ParallelImporter).to receive(:validate_param) { true }
134
+ @importer.send(:create_entry_parameters, 'content_type_id', {'key' => 'value'}, 'space_id')
135
+ end
136
+ end
137
+
138
+ context 'parse_attributes_from_hash' do
139
+ it 'Location' do
140
+ expect_any_instance_of(ParallelImporter).to receive(:create_location_file).with({'type' => 'Location'})
141
+ @importer.send(:parse_attributes_from_hash, {'type' => 'Location'}, 'space_id', 'content_type_id')
142
+ end
143
+ it 'File' do
144
+ expect_any_instance_of(ParallelImporter).to receive(:create_asset).with('space_id', {'type' => 'File'})
145
+ @importer.send(:parse_attributes_from_hash, {'type' => 'File'}, 'space_id', 'content_type_id')
146
+ end
147
+ it 'Entry' do
148
+ expect_any_instance_of(ParallelImporter).to receive(:create_entry).with({'type' => 'Entry'}, 'space_id', 'content_type_id')
149
+ @importer.send(:parse_attributes_from_hash, {'type' => 'Entry'}, 'space_id', 'content_type_id')
150
+ end
151
+ it 'Entry' do
152
+ params = @importer.send(:parse_attributes_from_hash, {'some' => 'params'}, 'space_id', 'content_type_id')
153
+ expect(params).to include('some' => 'params')
154
+ end
155
+ end
156
+
157
+ context 'parse_attributes_from_array' do
158
+ it 'File' do
159
+ expect_any_instance_of(ParallelImporter).to receive(:create_asset).with('space_id', {'type' => 'File'})
160
+ @importer.send(:parse_attributes_from_array, [{'type' => 'File'}], 'space_id', 'content_type_id')
161
+ end
162
+ it 'Entry' do
163
+ expect_any_instance_of(ParallelImporter).to receive(:create_entry).with({'type' => 'Entry'}, 'space_id', 'content_type_id')
164
+ @importer.send(:parse_attributes_from_array, [{'type' => 'Entry'}], 'space_id', 'content_type_id')
165
+ end
166
+ it 'Entry' do
167
+ params = @importer.send(:parse_attributes_from_array, [{'some' => 'params'}], 'space_id', 'content_type_id')
168
+ expect(params).to include('some' => 'params')
169
+ end
168
170
  end
169
171
  end
170
172
  end
@@ -1,63 +1,65 @@
1
1
  require 'spec_helper'
2
- require 'json_schema_validator'
2
+ require 'contentful/importer/json_schema_validator'
3
3
 
4
4
  module Contentful
5
- describe JsonSchemaValidator do
5
+ module Importer
6
+ describe JsonSchemaValidator do
6
7
 
7
- include_context 'shared_configuration'
8
+ include_context 'shared_configuration'
8
9
 
9
- it 'initialize' do
10
- validator = JsonSchemaValidator.new(@config)
11
- expect(validator.config).to be_a Contentful::Configuration
12
- end
13
-
14
- it 'validate_schemas' do
15
- expect_any_instance_of(Contentful::JsonSchemaValidator).to receive(:validate_schema).exactly(4).times
16
- JsonSchemaValidator.new(@config).validate_schemas
17
- end
18
-
19
- it 'validate_schema' do
20
- expect_any_instance_of(Contentful::JsonSchemaValidator).to receive(:validate_entry).with('job_skills',
21
- {'type' => 'object',
22
- 'properties' => {'name' => {'type' => 'string'}
23
- }})
24
- JsonSchemaValidator.new(@config).validate_schema('spec/fixtures/import_files/collections/job_skills.json')
25
- end
26
-
27
- it 'validate_entry' do
28
- schema = load_json('import_files/collections/job_skills')
29
- expect { JsonSchemaValidator.new(@config).validate_entry('job_skills', schema) }.not_to raise_error
30
- end
10
+ it 'initialize' do
11
+ validator = JsonSchemaValidator.new(@config)
12
+ expect(validator.config).to be_a Configuration
13
+ end
31
14
 
32
- it 'parse_content_type_schema' do
33
- ct_file = load_json('import_files/collections/job_skills')
34
- result = JsonSchemaValidator.new(@config).parse_content_type_schema(ct_file)
35
- expect(result).to include('type' => 'object', 'properties' => {'name' => {'type' => 'string'}})
36
- end
15
+ it 'validate_schemas' do
16
+ expect_any_instance_of(JsonSchemaValidator).to receive(:validate_schema).exactly(4).times
17
+ JsonSchemaValidator.new(@config).validate_schemas
18
+ end
37
19
 
38
- it 'base schema form' do
39
- result = JsonSchemaValidator.new(@config).base_schema_format
40
- expect(result).to include('type' => 'object', 'properties' => {})
41
- end
20
+ it 'validate_schema' do
21
+ expect_any_instance_of(JsonSchemaValidator).to receive(:validate_entry).with('job_skills',
22
+ {'type' => 'object',
23
+ 'properties' => {'name' => {'type' => 'string'}
24
+ }})
25
+ JsonSchemaValidator.new(@config).validate_schema('spec/fixtures/import_files/collections/job_skills.json')
26
+ end
42
27
 
43
- context 'convert_type' do
44
- it 'Text to String' do
45
- result = JsonSchemaValidator.new(@config).convert_type('Text')
46
- expect(result).to eq 'string'
28
+ it 'validate_entry' do
29
+ schema = load_json('import_files/collections/job_skills')
30
+ expect { JsonSchemaValidator.new(@config).validate_entry('job_skills', schema) }.not_to raise_error
47
31
  end
48
- it 'Number to Float' do
49
- result = JsonSchemaValidator.new(@config).convert_type('Number')
50
- expect(result).to eq 'float'
32
+
33
+ it 'parse_content_type_schema' do
34
+ ct_file = load_json('import_files/collections/job_skills')
35
+ result = JsonSchemaValidator.new(@config).parse_content_type_schema(ct_file)
36
+ expect(result).to include('type' => 'object', 'properties' => {'name' => {'type' => 'string'}})
51
37
  end
52
- it 'Asset to Object(Hash)' do
53
- result = JsonSchemaValidator.new(@config).convert_type('Asset')
54
- expect(result).to eq 'object'
38
+
39
+ it 'base schema form' do
40
+ result = JsonSchemaValidator.new(@config).base_schema_format
41
+ expect(result).to include('type' => 'object', 'properties' => {})
55
42
  end
56
- it 'Other to downcase format' do
57
- result = JsonSchemaValidator.new(@config).convert_type('Integer')
58
- expect(result).to eq 'integer'
43
+
44
+ context 'convert_type' do
45
+ it 'Text to String' do
46
+ result = JsonSchemaValidator.new(@config).convert_type('Text')
47
+ expect(result).to eq 'string'
48
+ end
49
+ it 'Number to Float' do
50
+ result = JsonSchemaValidator.new(@config).convert_type('Number')
51
+ expect(result).to eq 'float'
52
+ end
53
+ it 'Asset to Object(Hash)' do
54
+ result = JsonSchemaValidator.new(@config).convert_type('Asset')
55
+ expect(result).to eq 'object'
56
+ end
57
+ it 'Other to downcase format' do
58
+ result = JsonSchemaValidator.new(@config).convert_type('Integer')
59
+ expect(result).to eq 'integer'
60
+ end
59
61
  end
60
- end
61
62
 
63
+ end
62
64
  end
63
65
  end
@@ -1,99 +1,103 @@
1
1
  require 'spec_helper'
2
- require './lib/migrator'
2
+ require './lib/contentful/importer/migrator'
3
3
 
4
- describe Migrator do
5
- before do
6
- @setting_file = YAML.load_file('spec/fixtures/settings/settings.yml')
7
- end
8
- it 'convert contentful model to contentful structure' do
9
- Migrator.new(@setting_file).run('--convert-content-model-to-json')
10
- contentful_structure = load_fixture('settings/contentful_structure_test')
11
- expect(contentful_structure.count).to eq 4
12
- expect(contentful_structure['Jobs']).to include(id: '4L1bg4WQ5aWQMiE82ouag', name: 'Jobs', displayField: 'title', description: nil)
13
- expect(contentful_structure['Jobs']['fields'].count).to eq 4
14
- expect(contentful_structure['Jobs']['fields']['Image']).to include(id: 'image', type: 'Asset', link: 'Link')
15
- expect(contentful_structure['Jobs']['fields']['Creator']).to include(id: 'creator', type: 'Entry', link: 'Link')
16
- end
4
+ module Contentful
5
+ module Importer
6
+ describe Migrator do
7
+ before do
8
+ @setting_file = YAML.load_file('spec/fixtures/settings/settings.yml')
9
+ end
10
+ it 'convert contentful model to contentful structure' do
11
+ Migrator.new(@setting_file).run('--convert-content-model-to-json')
12
+ contentful_structure = load_fixture('settings/contentful_structure_test')
13
+ expect(contentful_structure.count).to eq 4
14
+ expect(contentful_structure['Jobs']).to include(id: '4L1bg4WQ5aWQMiE82ouag', name: 'Jobs', displayField: 'title', description: nil)
15
+ expect(contentful_structure['Jobs']['fields'].count).to eq 4
16
+ expect(contentful_structure['Jobs']['fields']['Image']).to include(id: 'image', type: 'Asset', link: 'Link')
17
+ expect(contentful_structure['Jobs']['fields']['Creator']).to include(id: 'creator', type: 'Entry', link: 'Link')
18
+ end
17
19
 
18
- it 'create content type json files from contentful structure' do
19
- Migrator.new(@setting_file).run('--create-contentful-model-from-json')
20
- expect(Dir.glob('spec/fixtures/import_files/collections/*').count).to eq 4
21
- content_types_files = %w(comment.json job_skills.json jobs.json profile.json user.json)
22
- Dir.glob('spec/fixtures/import_files/collections/*') do |directory_name|
23
- expect(content_types_files.include?(File.basename(directory_name))).to be true
24
- end
25
- job_skills = load_fixture('import_files/collections/job_skills')
26
- expect(job_skills).to include(id: '2soCP557HGKoOOK0SqmMOm', name: 'Job Skills', displayField: 'name')
27
- expect(job_skills['fields'].count).to eq 1
28
- expect(job_skills['fields'].first).to include(id: 'name', name: 'Name', type: 'Text')
20
+ it 'create content type json files from contentful structure' do
21
+ Migrator.new(@setting_file).run('--create-contentful-model-from-json')
22
+ expect(Dir.glob('spec/fixtures/import_files/collections/*').count).to eq 4
23
+ content_types_files = %w(comment.json job_skills.json jobs.json profile.json user.json)
24
+ Dir.glob('spec/fixtures/import_files/collections/*') do |directory_name|
25
+ expect(content_types_files.include?(File.basename(directory_name))).to be true
26
+ end
27
+ job_skills = load_fixture('import_files/collections/job_skills')
28
+ expect(job_skills).to include(id: '2soCP557HGKoOOK0SqmMOm', name: 'Job Skills', displayField: 'name')
29
+ expect(job_skills['fields'].count).to eq 1
30
+ expect(job_skills['fields'].first).to include(id: 'name', name: 'Name', type: 'Text')
29
31
 
30
- jobs = load_fixture('import_files/collections/jobs')
31
- expect(jobs).to include(id: '4L1bg4WQ5aWQMiE82ouag', name: 'Jobs', displayField: 'title')
32
- expect(jobs['fields'].count).to eq 5
33
- expect(jobs['fields'].last).to include(id: 'skills', name: 'Skills', type: 'Array', link_type: 'Entry', link: 'Link')
32
+ jobs = load_fixture('import_files/collections/jobs')
33
+ expect(jobs).to include(id: '4L1bg4WQ5aWQMiE82ouag', name: 'Jobs', displayField: 'title')
34
+ expect(jobs['fields'].count).to eq 5
35
+ expect(jobs['fields'].last).to include(id: 'skills', name: 'Skills', type: 'Array', link_type: 'Entry', link: 'Link')
34
36
 
35
- profile = load_fixture('import_files/collections/profile')
36
- expect(profile).to include(id: '4WFZh4MwC4Mc0EQWAeOY8A', name: 'Profile', displayField: nil)
37
- expect(profile['fields'].count).to eq 2
38
- expect(profile['fields'].first).to include(id: 'nickname', name: 'Nickname', type: 'Text')
37
+ profile = load_fixture('import_files/collections/profile')
38
+ expect(profile).to include(id: '4WFZh4MwC4Mc0EQWAeOY8A', name: 'Profile', displayField: nil)
39
+ expect(profile['fields'].count).to eq 2
40
+ expect(profile['fields'].first).to include(id: 'nickname', name: 'Nickname', type: 'Text')
39
41
 
40
- user = load_fixture('import_files/collections/user')
41
- expect(user).to include(id: '1TVvxCqoRq0qUYAOQuOqys', name: 'User', displayField: 'first_name')
42
- expect(user['fields'].first).to include(id: 'first_name', name: 'First_name', type: 'Text')
43
- end
42
+ user = load_fixture('import_files/collections/user')
43
+ expect(user).to include(id: '1TVvxCqoRq0qUYAOQuOqys', name: 'User', displayField: 'first_name')
44
+ expect(user['fields'].first).to include(id: 'first_name', name: 'First_name', type: 'Text')
45
+ end
44
46
 
45
- it 'create content type json files from contentful structure' do
46
- vcr('import_content_types') do
47
- Migrator.new(@setting_file).run('--import-content-types', space_id: 'space_id')
48
- end
49
- end
47
+ it 'create content type json files from contentful structure' do
48
+ vcr('import_content_types') do
49
+ Migrator.new(@setting_file).run('--import-content-types', space_id: 'space_id')
50
+ end
51
+ end
50
52
 
51
- it 'import an entires to Contentful with two Threads' do
52
- vcr('import_entries') do
53
- allow(FileUtils).to receive(:rm_r)
54
- import = Migrator.new(@setting_file).run('--import', threads: 2)
55
- expect(import).to be_a Array
56
- expect(import.count).to eq 2
57
- end
58
- end
53
+ it 'import an entires to Contentful with two Threads' do
54
+ vcr('import_entries') do
55
+ allow(FileUtils).to receive(:rm_r)
56
+ import = Migrator.new(@setting_file).run('--import', threads: 2)
57
+ expect(import).to be_a Array
58
+ expect(import.count).to eq 2
59
+ end
60
+ end
59
61
 
60
- it 'import an assets to Contentful' do
61
- vcr('import_assets') do
62
- Migrator.new(@setting_file).run('--import-assets')
63
- end
64
- end
62
+ it 'import an assets to Contentful' do
63
+ vcr('import_assets') do
64
+ Migrator.new(@setting_file).run('--import-assets')
65
+ end
66
+ end
65
67
 
66
- it 'publish an entires' do
67
- vcr('publish_entries') do
68
- Migrator.new(@setting_file).run('--publish-entries')
69
- end
70
- end
68
+ it 'publish an entires' do
69
+ vcr('publish_entries') do
70
+ Migrator.new(@setting_file).run('--publish-entries')
71
+ end
72
+ end
71
73
 
72
- it 'publish an assets' do
73
- vcr('publish_asset') do
74
- expect_any_instance_of(Contentful::ParallelImporter).to receive(:publish_status).exactly(4).times
75
- expect_any_instance_of(Contentful::ParallelImporter).to receive(:create_log_file).with('success_published_assets')
76
- Migrator.new(@setting_file).run('--publish-assets', threads: 1)
77
- end
78
- end
74
+ it 'publish an assets' do
75
+ vcr('publish_asset') do
76
+ expect_any_instance_of(ParallelImporter).to receive(:publish_status).exactly(4).times
77
+ expect_any_instance_of(ParallelImporter).to receive(:create_log_file).with('success_published_assets')
78
+ Migrator.new(@setting_file).run('--publish-assets', threads: 1)
79
+ end
80
+ end
79
81
 
80
- context 'test credentials' do
81
- it 'when valid' do
82
- vcr('valid_credentials') do
83
- expect_any_instance_of(Logger).to receive(:info).with('Contentful Management API credentials: OK')
84
- Migrator.new(@setting_file).run('--test-credentials')
82
+ context 'test credentials' do
83
+ it 'when valid' do
84
+ vcr('valid_credentials') do
85
+ expect_any_instance_of(Logger).to receive(:info).with('Contentful Management API credentials: OK')
86
+ Migrator.new(@setting_file).run('--test-credentials')
87
+ end
88
+ end
89
+ it 'when invalid' do
90
+ vcr('invalid_credentials') do
91
+ expect_any_instance_of(Logger).to receive(:info).with('Contentful Management API credentials: INVALID (check README)')
92
+ Migrator.new(@setting_file).run('--test-credentials')
93
+ end
94
+ end
85
95
  end
86
- end
87
- it 'when invalid' do
88
- vcr('invalid_credentials') do
89
- expect_any_instance_of(Logger).to receive(:info).with('Contentful Management API credentials: INVALID (check README)')
90
- Migrator.new(@setting_file).run('--test-credentials')
96
+
97
+ it 'validate JSON schema' do
98
+ expect { Migrator.new(@setting_file).run('--validate-schema') }.not_to raise_error
91
99
  end
92
- end
93
- end
94
100
 
95
- it 'validate JSON schema' do
96
- expect { Migrator.new(@setting_file).run('--validate-schema') }.not_to raise_error
101
+ end
97
102
  end
98
-
99
103
  end
@@ -1,4 +1,4 @@
1
- require './lib/configuration'
1
+ require './lib/contentful/importer/configuration'
2
2
 
3
3
  shared_context 'shared_configuration' do
4
4
  before do
@@ -17,6 +17,6 @@ shared_context 'shared_configuration' do
17
17
  converted_model_dir: spec/fixtures/settings/contentful_structure_test.json
18
18
  EOF
19
19
  yaml = YAML.load(yaml_text)
20
- @config = Contentful::Configuration.new(yaml)
20
+ @config = Contentful::Importer::Configuration.new(yaml)
21
21
  end
22
22
  end